The joys of “it just works”

When non-technical people refer to IT people as “a computer wizard” they do realize it’s just a soubriquet, right? We’re not actually magicians; we just do weird stuff that “the norms” can’t do, mainly because they had a social life during their teenage years.

Customer today wants a refund because, and I quote, they “did not realize that their WIFI network device had to be on the same physical network as the computer it is talking to”.

Literally a different building two miles away with no WAN connection or port mapping across the internet. We offer units which work on cloud connections and via mobile connections – customer refuses – “I want this unit to work”. We explained that, despite the Harry Potter movies, magic is not real.

Hired an external IT person because they refused to believe us when we said “it doesn’t work by magic”.

It person confirmed, “it is not magic”. CC’d their findings to us, after talking to us and confiding “the customer is an idiot. We made sure we got their credit card payment before we left”. External IT person took their money and will ensure they are ‘unavailable’ for future calls from our mutual customer.

We, of course, will likely need to refund the customer.

Or ask for a CIA drone strike although I am told this apparently not an option.

Oh, and yes, I know it’s been several years since I posted on this particular blog. Just for the record, I am actually the main editor of several large and popular public sites and blogs, plus I get paid to write a lot of online articles and white papers so despite me neglecting my own personal site I have actually edited, or written, quite literally hundreds of blog posts in that intervening time. I’ve also appeared in a few hundred webinars and livestreams too. I might write more about that soon. It’s fun to put my “particular set of skills” to use in a way that helps pay the bills.

I’ve learned a few tricks in the past few years too.

I miss the pre-Facebook days of blogging. Social networks are great. They were greater in their formative years, but now Facebook in particular seems to be a vector for pure invective and a coercion of opinions by some truly horrible people exploiting The Filter Bubble which was so eloquently described with quite incredible prescience by Eli Pariser in his book: The Filter Bubble. The shiny new tin star of Facebook has definitely tarnished over the years. I prefer blogging as a way of self-expression.

Let’s get back to blogging.


The cure for blindness

Image credit: Talking Pointz

There’s a problem in Silicon Valley.  The problem is the appearance of chasing the cool and ‘awesome’, when the reality, of course, is that, once funded and then the end-goal of massive IPO is achieved, the company takes on board members who wish to please shareholders.  It’s all about the bottom-line dime.

The myth of course is that we’re pleasing the users.  The reality is that we’re avoiding ‘difficult’ conversations in board rooms with people who are wafting fractional point downturns in share price.  It’s a race toward the lowest common denominator; go for the safe so you don’t ‘spook’ the markets.  If not safe, then go for the ‘safely wacky’ – that moonshot gamble which might just pay off.

Of course, if you have enough spare cash – generally stashed in some far dominion safe from the clutches of unpleasant taxes or, more likely, embarrassingly large and precariously poised in an in-shore entity with the feds breathing down your neck salivating at a windfall or subject to the whims of combative Presidents and unfriendly oversight committees; then you might decide to burn off some of the financial sump pile by doing something  hideously expensive for mere mortals but marvelously tax efficient for multi-dominion business behemoths.

Something like creating a self-driving car, for example.  Or perhaps a grocery store devoid of nasty barriers to empty wallets created by such things as having to pause to pay or shudder talk to other humans.

Have you any idea how much tech goes into self-driving cars?  How much effort must have been invested in object-recognition technology which is so good you were able to convince a gaggle of hand-wringing safety wonks that yes, it will be quite safe and besides you have such a ton of cash laying around you don’t need insurance because you can pay off any pedestrians who foolishly fail to comply to the car’s hazard recognition algorithm, perhaps by wearing the wrong kind of T-shirt which the car decides most assuredly is a piece of road and therefore safe to trundle over on the way to dropping off someone’s fully-automated pizza.

All that object recognition technology will get better.  Because we’re all wanting Johnny Cab cars… and flying cars… and hover-boards which actually hover rather than scoot around on seemingly random gliding wheels and deposit the user in 360 directions like a used Champagne cork… and because 20th Century Fox told us they’d be here by now.  Also, the NSA want to be able to tell the difference between a good guy carrying a lunchbox and a bad guy carrying the end of the World as we know it.  It’s extremely inconvenient if you shoot an innocent librarian by misidentifying their PBJs.  People tend to get a bit cross about that.

Don’t try and fool me about “enhanced reality” being a great thing too.  Y’all know that’s the next vector for ‘advertising delivery’.  You look at your empty fridge and 5000 advertisers get to jostle for the right to show you how cool your empty shelves would be and how that half-empty jar of pickles were paired up with this week’s latest offers from your local grocery store – all delivered by self-driving car/drone/flying grocery bag unsullied by having to be touched by any unpleasant human hands.

Oh the future is bright (or dim, or monochrome, or rainbow dragon depending on the exact filter you apply).

You know what I’d do with the right amount of cash and that object recognition technology?

I’d cure blindness.

Well not cure it – that’s going to take some next-level bionic cell regeneration insanity – but I’d make it less of a dark world – glasses which see for me, see for you, see for anyone who needs to and bring some light to that darkness.  Sight by proxy for those who can’t quite see in the first person.  Sight that speaks.  Sight that warns of low-flying shelves.  Sight that whispers through your twilight that the dog is laying on its back waiting for its belly to be rubbed.  Sight that tells you the sky is a curious shade of green and tries to describe the indescribable Aurora Borealis.  Stuff the self-driving cars, we should be advancing public transport anyway before we fill every square foot of rolling hills with increasingly shiny single-occupant natural disasters.

Let’s be truly useful… just because we can… if we really want to; let’s ‘cure’ blindness.

My secret special power

wizardIf you are a software developer then I am probably more productive than you.

Not necessarily better or more skillful, for sure there are so many to look up to; but more productive?  Yes I might well be.  Sorry (not sorry).

OK, so perhaps I’m trolling Y’all a little bit and I’m sure there will be acerbic commenters, social media fights, and ex-colleagues rattling metaphorical sabres at me falling over themselves to quote legion lines of embarrassing code written in a dusty past.  Thirty-five years as a professional computer programmer throw up ample opportunities for brickbats and anecdotes to bash me with.

The reality though is that I am scarily productive as a software producer with a ton of applications getting worked on and released each year.  I specialize in writing end-user applications rather than programs intended for a slightly more fluffy in-house audience.  My code goes out to thousands of normal people and due to its nature directly affects around 1.5 million people every single day.

The apps are installed and used on any kind of Microsoft Windows operating system – both server and ‘regular’ desktop versions.  They are also used in ‘The Cloud’ at several data centers for an array of corporate customers who choose to interact with the apps that way.  There are also a thousand or more customer employees who use web apps written by me which link seamlessly to either the cloud systems or servers hosted by their employers.

In addition to this, if you go into almost any grocery store in the UK, behind the scenes, thousands of their contract cleaning and security staff are clocking on using face recognition technology – eliminating ‘buddy punching’, a problem for hourly-paid temp staff – and having those time transactions whizz around the country to cloud servers in less than a second and into the managing company’s payroll and monitoring boards.  Thousands of people, millions of transactions – all working without a hitch.  The glue that makes it happen, day in day out, no fails, is another app I wrote.

In the last 60 days I have released significant upgrades to no less than 15 product lines, complete with installers.  I’ve fixed a dozen bugs (remember I said I’m not better than you) and produced three new tools for the support and installation teams.

I can do this for one reason… 23 years ago, on St Valentine’s Day, I saw a demo of a brand new programming language and ‘IDE’ (smart editor) which totally blew me away.  It was like nothing else on the market and I knew it was The One.  I ordered a copy that day.  I still have the receipt and delivery note.

That product still exists.  It is called Delphi.  It is my special super power.

More on this another time – because this year is going to be EPIC.

The nature of programming and baking cakes

Doh – it’s one of those days – I need to rant….

The hard part about being a computer programmer is dealing with people who say “well, can you just explain it to me, it can’t be that hard” when they’re discussing a piece of software or code I’ve written or I’m about to write.

“You don’t need to go into too many details, can’t you just give me the simple description” etc etc.

The thing is, most of the time the person is on what I call the Rumsfeld Scale when it comes to the knowledge they need to ‘get it’.

There are things they know they know, things they know they don’t know – and things they don’t know they don’t know.

I have 35 years of experience as a ‘software developer’ (a term I hate) or ‘computer programmer’ or whatever else you might want to call what I do.

I write program code every single day, often for ten hours a day, frequently for six days a week, usually from 06:30am onwards. I watch a lot of demos, attend webinars, read dozens (maybe 100s) of books a year on the subject, live, eat, sleep, breathe program code. I never stop learning, even now. It’s a vast subject and a moving target. I will die before I master it.

Sometimes I forget to eat when I’m ‘in the flow’. It’s that kind of work, you get lost in it.

I have been employed at every level of the industry from head of R & D, Development Manager, lead programmer, senior developer – you name it, I’ve done the job.

It’s what I wanted to do from the age of 14 years old. I love it.

Then I have to talk to someone who demands I explain some technical aspect of a large-scaled project – and this person can’t even type three simple sentences without making four typos and brutalizing the grammar. They try to get me to precis things because in their world everything is possible and can be mastered with a few days of study and serious thought because they’re “not stupid”.

The trouble is, in the software development world there are many abstract concepts to grasp which affects why one approach is bad and another the right one. Estimating the effort in writing the code in itself is a notoriously hard process (with many books dedicated to just such a task) which is why most people like myself use ‘Agile’ methods.

Me explaining to you why object oriented design, unit tests and design patterns are valuable and have merit requires you to understand some core concepts which take up entire Computer Science semesters at colleges like MIT.

It’s not always like the recipe for a cake – but sometimes it is – you can’t just take a cake recipe and say “add some flour, add some eggs, some other ingredients, mix it up and stick it in the oven and you’ll get a cake out”. Yes, but what sort of flour, how much, how many eggs, what temp for the oven, how long, how do you know when it’s cooked?

Programming, like baking, is a mixture of exacting science and artistic panache – and, like baking, you can’t simply guess how to do it just because you’ve eaten a similar cake.

Humans first

Take a moment, if you would, to watch this video from start to finish.  Even if you hated Steve Jobs, think Apple is a tool of the devil or believe that I am in some way a shameless Apple fanboy (I may be, perhaps I drank the wrong kind of KoolAid, the ’80s are a very blurry time for me so it’s quite possible).

Steve Jobs in later years and less grainy appearances seemed, to me, to have perfected a kind of Barnum and Bailey flim flam this-way-works approach to his presentations.  This might have been due to his illness which god only knows must have been gruesome to deal with for anyone let alone a CEO.  It might also have been due to believing his own legend, which I doubt much more than I believe.  Or it could be as things got more modern and media-friendly as they have his words were chosen more carefully to avoid legal pitfalls and hordes of bloggers and rumor sites analyzing every nuance of words he’d chosen to use so they could pick out some perceived hidden meaning or tidbit to feed publisher’s egos and advertising click-thrus.

But this video shows him at an unscripted best.  With a questioner who points a barbed question at him, prodding it with the angst of someone who perceives, perhaps rightly, that Apple has dumped on their project and livelihood.  Jobs jokes a little as the questioner begins realizing that this is not some gushing “everything is cool and godlike” sycophancy but is a gush of blood from a raw and wounded collaterally-damaged developer.

It’s how he, Steve, responds that impresses me the most.  Take away those (likely true) tales of him shouting at inadequate employees.  Brush away the man who agonized over pixels in icons when others would have felt it was Someone Else’s Problem.  He pauses for a loooong time, gathering his thoughts.  It doesn’t seem like a guarded answer.  It seems to me like a genuine response, an attempt at explaining his position and why he thought that the actions he’d taken were the right ones at the time.  Yes it’s wrapped in a little fluff but in there is the most important thing I try to remember as a designer and software developer…

It all begins with the user experience.

Don’t coo over technologies for the sake of technology – solve a problem, make the solution the best it can be, make it do exactly what it needs to do and no more.  Then work downwards into the how to do it.

So many websites, programs, applications, books and even tutorials miss this.  The question to always ask is “what is the user trying to do?”

There are so many examples I am sure all of us can think of where the user’s requirements are not met.  Where technology is used and wielded like a war hammer instead of a fine art pen stroke.  My personal example of this – things that do not help me as the user and fail, therefore, to fulfill their purpose is The Microsoft Partner Website. This is possibly the worst example I know of over-complication, terrible user ‘experience’ and unwieldy to the point of being useless.

Generally there are many many login pages on the Microsoft site that flip backwards and forwards, some ask me for credentials I have already supplied, some pass them over automatically only to pass me back to the calling page to then redisplay the wrong page for the link I clicked on.  It is, in short, terrible.  It has many many dead or incorrect links.  Sections that I have been emailed by Microsoft and told I must fill out are either non-existent when I click on the email link to get there or do not match the requirements they have told me I must complete or – after many levels of clicking and hunting between terminologies that change even though they refer to the same thing – finally tell me that I’ve already completed the requirement they’ve told me I need and hadn’t got.

It’s not good enough for a company that are trying to remain relevant in an age where mobile is the first place people start and the last place Microsoft can be found, if at all.  I’d love to be invited to participate in a Microsoft user experience team so I can juggle this horrible dire website around and shake it until all the crappy bits fall off.  I don’t care how big the organization is – the website is a failure for me and I am sure I’m not the only one to think this.

Instead of sticking with “we’re doing something important so it better be complicated” design paradigm perhaps Microsoft could look again and say “how can we make this as elegant as possible to use”?  My bank has, for obvious reasons, many levels of complexity required in order for them to safeguard my money.  The login process requires no less than two passwords one of which picks random characters in a multi-level challenge and response scheme.  It takes me 10 seconds to login and I’m reasonably convinced it’s secure (although nothing is guaranteed in the online world of worms and trojans).  Once logged in it’s *obvious* what to do.  I don’t need reams of help and then options to select are multi-level but easy to get to grips with immediately.  Each customer is likely served variations of the banking site depending on what sort of accounts they have and what other options have been applied to their relationship with the bank.  Furthermore, they are not a software development company – as Microsoft clearly are – but a bank, the most staid and rule-filled of all organisations on earth.

How come the bank can do it and Microsoft can’t?  It defies an answer really.  Perhaps MS should watch Steve Job’s answer in the video and think, again, “are we fulfilling the customer’s requirements?”

Either that, or pack up and go home.

Ubiquitous wearable computing – or “how not to take accidental nude selfies”

Well, unless of course that’s what you’re in to in which case…go ahead.

So, out there, is Siri, Google Glass with its Google Now stablemate and now Cortana from Microsoft.  It’s all about getting personal with the impersonal.  Soft ends to the hardware.  It’s probably not by accident that Microsoft chose a name which is well known to gamers via Halo and, in a double rock-on edgy marketing flourish I also doubt it’s an accident that Googling the name “Cortana” produces a slew of racy blue-skinned women complete with nerd-friendly bosoms and other shapely bits designed to positively associate Windows phone’s electronic assistant with naked femininity fit to drive the electric sheep from nerdy sleep.

Is that a bad thing?  No, probably not.

In comparison, Siri seems a little like starch-collared prim partner in mundane office chores.

 “Siri, set the timer for five minutes”.

“Five minutes and counting”.

“Cortana, I’d like to watch a movie”

“I’ve found eight videos for you, three of them are pornographic”

You get my drift.  The reality is, of course, that both ‘digital assistants’, as I expect we will call this genre of application, will not do anything so wonderful as be truly intelligent or shamefully racey as to suggest illicit content.  Apart from anything else the producers of the respective software would most likely land themselves in endless cycles of court appearances as the lawyer-sharks take bite after bite from the chunks of money and the government twonks of various countries pitch in with whipping-boy rules and breaches of rules raised retrospectively and with glorious well-timed hobby-horse name-in-the-spotlight investigations.

Through them we get to see the world edge-on through the filter bubble – not necessarily because of nefarious intent but, well because they have to pick and choose carefully.  Plus there are partnerships…and there are anti-partnerships and agreements and non-agreements to consider.  Why can’t I post to Google+ directly from my iPhone share sheet?  I assume because Google and Apple are not besties any more.

But wait, where does that leave me?  I *want* to be able to share out my Very Important Dog Pictures to Twitter, Google+ and Facebook with one click.  In fact, in an ideal world I would just say “take a picture of Nemo sleeping and share it using the text ‘This is what a comfy face looks like'”.  Then it would go to all the social networks I’ve said yes to (and by implication with whom I have my own personal partnership).  Not a partnership someone else has decided for me.  Not used in advertising unless I’ve said “alright then, you can use it in return for using Facebook for free” and so on.  But I can’t do that.  iOS is a closed operating system.  Apps are signed by the developers in a traceable way and the apps are curated by Apple with ones that misbehave being either denied residence on the App Store or being pulled from the stores and even phones if it turns out you’re a wrong ‘un.  This is why I don’t jailbreak my kit.  I don’t want to be the arbiter of what app is good or bad or which vendor is legit in a post install oops I found out when it deleted my stuff kind of way.  I want Apple, with their shed loads of sweatshop/robots/enslaved Martians to run the app through a load of tests and do the work for me.  As an Apple developer myself it’s a pain to go through the hoops to get my apps out there and on to people’s Macs, iPhones and iPads but as a consumer it makes me feel a whole lot better to know the hoops are there.  I hate the restrictions though.  I want Apple and Google to call a truce so I can post to Google+ and a few other things…I doubt it will happen.  Life is not about making nice.  Business even more so.

So wearable stuff and digital assistants.  To me, it’s all a world of baby steps right now.  I curse at Siri more times than I smile at it.  Me: “Text my daughter and tell her I am outside”, Siri:  “I don’t have an email address for My Dochta”.  Me: [slowly, really c l e a r l y] “Text my daughter and tell her I am outside”, Siri: “I don’t know how to Extmy Doctor.  Would you like to do a websearch?”

That is, of course, if I don’t get the dreaded “I’m really sorry about this but I’m not able to take any requests right now”.  Me: “^%^$^%^&”, Siri: “I don’t have a contact number for Fercoff Yoazz”.

It does set a timer consistently well though.  Although, why do I have to tap the phone to turn it off?  Why can’t I just say “stop the timer” with it listening as the timer bleeps?  That would be useful.  Especially as I tend to use the timer most when I’m cooking (I cook a  lot) and therefore have my hands covered in flour/guts/spilt red wine.

For a long time – since about 1996 in fact – I’ve followed the wonderfully crazy Steve Mann.  The world needs as many Steve Manns as we can possibly fit into a small country.  I don’t endorse everything he says but he has been advocating for and researching wearable technology for many many years.  He was the first person I ever heard of suggesting wearable technology as a democratization project but also suggesting that right-minded ubiquitous wearable technology could enhance humanity in a leveling way.  Interesting stuff.

This is what I would want from the near to middle future. I don’t care if you think it’s not possible – I am a software developer, every day I have to make things that came out of my head and crystallized into a program, stuff that someone else says is impossible or tricky or they just can’t do. Dream big. Make big.

  • My wearable computer should be as subtle as I want it to be.  There’s a certain level of visibility that is necessitated by doing things like making screens visible to the user and verbal responses audible.  The screens could be contact lenses – not so great for me nowadays – or much more subtle glasses in the style of a way-cool can’t-really-see-it so don’t look like an ass Google glass.
  • I want a better interface.  I want it understand me when I speak normally – not understand me because I speak understandably.  I want it to talk back naturally.  I don’t want it always to sound like a canned response but I also don’t want it too chirpy and trendy paperclip “hey, it looks like you’re trying to write a letter”.

I want to be able to say things like:

  • How tall is that tree over there?
  • What breed of dog is this?
  • Do I know this person at the dog park?
  • What direction are those clouds going?
  • What kind of fruit is this?  How much does it weigh?  How do I use it?  What sort of recipes can I use with it?
  • If I give it a recipe I want it to tell me where to get the stuff and tick off the ingredients as I put them in my shopping basket.
  • I want it to remind me to pay the bill at the dentist.  I want it to listen to my dentist’s receptionist when she tells me of my next appointment – and then remember it.
  • If I really enjoy a meal I want it to know that (even if I have to tell it) and then add the restaurant to my list of good places to eat, remind me what I had last time I was there, was it good, how much the meal cost, and who I ate it with.
  • I want to be able to say things like “what just happened?” and the system to tell me. I want to say “did he really tell me that labor charges would be extra” and understand what I mean by that.
  • I want it to answer “am I allowed to park here?” “Does he have the right to search my bag?” “What is the maximum charge an airline can ask for this bag?”
  • I want to be able to say “overlay the wiring diagram on my car engine” when I look at it. I want say “show me what’s behind this wall”, “how far away is the bus stop?” and for me to be shown.

In short, I want the technology to be truly useful, to make us gods of a better world. I want us to be enhanced by technology not tricked by the baby steps we have made into thinking small.

All this has to take place from a first principle of recording everything all the time. Give up your privacy but in return you should expect that your privacy actually stays private between you and your digital assistant because if it doesn’t then how can we trust it?

Don’t be evil should translate in the future to “and while you’re at it…don’t be a dick”.

The Dead Hooker metric

I’m going to propose a new standard performance metric called “The Dead Hooker Metric”.

This is especially for management agents of properties for let and specifically for those that manage group properties like apartment estates and so on.

It’s as simple as this:

If you fail to notice, in a reasonable time, a dead hooker* lying somewhere about the property you manage then you are not, in fact, managing the property but instead performing some other indeterminate function for which you were not hired.

* It doesn’t have to be a dead hooker (despite the occupation’s higher than average mortality rate) – it could be any other out-of-the-ordinary event such as several broken bottles scattered in a perfect tire-puncturing array precisely emulating police stop-sticks.

LARTs and flags n stuff

Let’s travel together back in time a couple of weeks…

So, then, in a flash of official paperwork and the tired eyes of a government official at the edge of a compulsory furlough I became a US Citizen.  A tortuous path of stacks and stacks of forms requiring me to repeatedly detail every country I’ve ever visited since before cable TV and expound on intricacies like marriage dates of wives long since divorced.

It was slightly unnerving to hand over my precious ten year Green Card in exchange for a rather pedestrian sticky label in which my allocated seat number for the Citizenship Ceremony had been written in black Sharpie.  We filed in, the ‘guy’ pronounced my middle name, “Paul” wrongly no less than twice before getting it right, a feat I didn’t think possible, had some speeches and then we all stood and took the solemn oath and pledged allegiance to our new national flag and the republic for which it stands.  It was, as they say here, freaking awesome.

It was the culmination of a day of remaining calm after my morning appointment for the compulsory immigration interview and US Civics test. I had about a twenty minute wait after I arrived, glowing and inwardly panicking before my name was called.  With barely one foot inside the tiny office I was told not to sit and remain standing whilst I swore to tell the truth.  Thankfully that was the last time anyone from the USCIS or State Department have ever given me that kind of penetrating glare.  Oath of Truth done, we reviewed the information on the official forms, seemingly corrected some minor date issues (they got the chronology of my first and second wives reversed) and then after a few subtle conversational questions to make sure I was on the level we went on to the Civics test.  Which I aced.

After a bit of computer prodding I was told that I would be recommended for citizenship but reminded that I would not be a citizen until I had a chance to complete the Oath Ceremony.  “There’s an Oath Ceremony being held here this afternoon if you’re able to attend”.

So I did.  What’s more my wife and my daughter were able to be there with me too as I became an American.

Now, a few weeks later, my US passport has arrived and my voter registration has been enabled so I get to have my say next week, for the first time in the US, on some key things like mayors and propositions and other such ephemera.  Just like everyone else…