A visit to the optician opened my eyes

May 30, 2017

For many years the annual trip to the optician, courtesy of my sub-optimal eyesight, was a routine chore that was always accompanied with a nagging sense of failure.

If you’ve ever had your eyes tested you probably know the feeling. Does option 1 make it clearer or darker, or option 2? Is A crisper or B? And no matter what you answer it always feels like, because you are conscious of your ocular faults, it feels like you’re wrong.

When it comes to designing systems – be it functional design, or the user experience – there’s always that same risk. The person answering the question feels like they are somehow “wrong” with their answers. And that makes them hesitant to elaborate.

At my latest eye exam – as it turns out for Lasik – I mentioned that awkward feeling to the optician and they told me something that I wish I’d heard on one of my first visits. “The answers are not right or wrong, they’re just parts of the diagnostic process”. Option1 or 2, A or B. It doesn’t matter. What matters is the differential data it provides the questioner to help refine their understanding of the problem and deliver a correct solution.

My takeaway from this realization is simple. Before asking someone what they need from a system it is important to help them understand that there are no “right” or “wrong” answers, but any responses (and the weight that they give those responses) simply helps provide data to inform the decision. In fact, as a good diagnostician the answers will simply help guide the discovery process rather than just delivery a binary result.

Of course, that still means that the questioner is going to have a subtle, nagging sensation that they’re not asking the right questions… but that’s probably a good thing as that will encourage them to keep refining their approach, and continue to iterate, as they learn more, both from individual interviews but also repeated experiences.

Oh, and the Lasik operation … amazing. Wish I’d stepped out of my comfort zone and done it many years ago.

Being a little more anonymous online

November 9, 2016

With increased State sponsored surveillance and changes in the political tenor even in formerly moderate countries more people are asking “how to I keep my communications secure?”.

Sadly for most people the complexities of being totally opaque are too onerous, add too much complexity, or are simply not worth the effort.

But there’s no need to give up totally and just roll over. There are still things you can do to keep some of your communications at least less likely to be exposed.

If you’re in a vulnerable group – which sadly in the US today potentially means people of color, (im)migrants, women and those who don’t fit into conventional gender roles – then maybe it’s time to start taking a bit more care about your digital footprints…

Read the rest of this entry »

Data Science (Machine Learning) 101

June 12, 2016

Date Science, or Machine Learning, is a scary topic. It’s hard to know where to get started. It’s hard to even find a good definition of what it does and what you have to do. And there’s always the risk of unleashing the singularity or Skynet by mistake.

As I’ve given a few ad hoc presentations on Machine Learning (and though focused on implementing it with Azure, the basics are applicable to other platforms) I thought I’d take my random notes and present them as a primer. You don’t need to be a Rocket Scientist to get started, but having a basic understanding of Linear Algebra will be helpful. As this isn’t focused purely on Azure Machine Learning (AML), and there are good tutorials on getting started there, this isn’t a step-by-step guide for AML Studio.

The first thing to understand is that there are two main types of machine learning model: Read the rest of this entry »

Stepping outside your comfort zone (I wrote a book!)

March 7, 2016

For many years I have been a tame nerd in a room full of talented, creative professionals. As a freelance developer working with ad agencies (Leo Burnett), and Web and TV productions (rushTV, Big Brother, Secret Life of Us and others) I was surrounded by people who could, seemingly, effortlessly produce elegant prose.

Working with some great speakers and technology-centric writers at both Microsoft and Amazon I was exposed to different creative skill-sets, but I still always thought of myself as “technical” and not doing that creative stuff. Yes, I’d probably argue there’s a strong mix of art in the science of developing, and more so as an Evangelist, but it’s still hard to make the mindset switch.

This New Year I didn’t want to do the clichéd New Years Resolution thing, but I did want to do something outside my comfort zone and for years I’d had the first line of a story in my head…

I had the first line, but I’d never done anything with it. Fear was a huge hurdle: I’d never written a book; I didn’t know where to start; how to create a story arc; how to write believable and likable characters; and the killer… how to not make it suck!

I persevered. I struggled. I gave up, and then refused to admit defeat. I hated everything I’d written. I refined and revised a phrase until it made no sense to me.

Then I let my daughter read it. I had after all written what I thought of as a Young Adult Science Fiction novella. Would she like it? Would she hate it? Would she even read as far as the second page…

I got back from her a carefully marked up manuscript. Typos, grammatical clumsiness, transpositions, suggestions for places needing more explanation to help the audience. She even spotted a place where my character while sleeping was supposed to be doing something. But… she didn’t hate it.

I made corrections. I tweaked some more. Then came the big moment. Did I have the courage to actually publish it and show my friends, colleagues, people I respected and wanted to respect me, what I had written? The fear and trepidation rolled back in. How would I cope with them, as well as total strangers, judging what I’d written, and by extension me?

Well… I’d set out to do something outside my comfort zone and, just like jumping off cliffs into the ocean when I was younger… it was time to make the leap.

So, I hit “publish” on Amazon and now… now, I wait to see how people react. Whatever the outcome I know I’ve achieved something new, something that has challenged and pushed me. Something that I hope has improved my skills as a writer, and given me the courage to attempt more things that are outside my comfort zone.

If you’re interested in what I’ve written, you can have a look here at Tuesday Tales: Falling. If you’re a lucky visitor on a random Tuesday it will be free (I’m going to mess around with pricing to see what works). Comments, and reviews, welcome.

And… if I can do it… so can you.

jsNoSpam – make it harder for bots to find your email address

March 6, 2016

If you want to put an email address on a web page, and have it human readable and easy to click on to open up in a mail client you run the risk of exposing yourself to one of the sleazier sides of the internet. Spam email. There are bots out there which relentlessly hunt down email addresses so their masters can deluge you with unsolicited commercial email (or worse, virus infections).

The best solution is to never show the email address – get your users to use a “Contact Us” form or similar so that there’s nothing for the bots to find. But sometimes you can’t do that, either because of how the pages are hosted or your client simply doesn’t want you to.

So… jsNoSpam was born. 100% javascript, so all client side and easy to insert anywhere that allows you to edit raw HTML and include javascript.

The script works by doing a number of things…

  • Requires you to encode the email addresses so they never appear in a recognizable form in the script or HTML source.
  • Supports decoding the email address back to a usable format
  • Allows you to display the de-coded address on the page, or to require a user action (mouse over, click, keyboard navigation etc) before revealing the address.

Because the email address which is inserted into the page via the script is clickable and usable like any regular mailto: link would be user inconvenience is reduced to a minimum, but the effort for a bot to scrape the address is increased and hopefully as there are enough potential variants in how the script can be applied it will keep it ahead of the game.

Here is a live demo of the code in action.

The code is hosted on GitHub, and is open source and unrestricted license (though it would be great if you find it useful if you comment here). It’s been tested in as many browsers as I can and also with assistive technologies (eg NVDA) but if you do find an issue please comment (or better yet fire off a pull request for me to incorporate your fix).

On their own, the techniques used (encoding the address, requiring user intervention etc) are not new, but hopefully combined they will produce a robust enough solution for people who need this workaround.

Security of individual accounts matters (but not to Starbucks)

June 22, 2015

There has been a lot written recently about major system compromises, where banks, Government departments, Healthcare, and other companies are targeted and huge collections of personal information get harvested. Often lasting for months before discovered these attacks reveal PII (Personally Identifiable Information) such as social security numbers, dates of birth, addresses, email addresses and, in too many cases, passwords.

Defending against these attacks is an on-going challenge, but storing information in a way that it can be harvested has a significant impact on users of the service – ranging from identity theft to direct financial loss.

But it is not just servers where the risks lie. Poor information security on the end user experiences compromise individual accounts and can be hard to detect, easy to overlook because of how it’s reported.

Starbucks original logoEarlier this year Starbucks was mentioned as a possible victim of one of these attacks as users accounts mysteriously were being accessed. To remedy this Starbucks rolled out an update to their iOS app and presumably their Android app. This may or may not have improved things for their website or for 3rd party apps running on other platforms. Most of their response appeared to have been PR and damage limitation rather than really beefing up security.

Recently I experienced one of these mysterious losses. While I was in Australia on business someone in Ontario Canada was apparently using my card. And thanks to the convenient auto-reload facility on my account the system kept merrily making more funds available to the thief.

Read the rest of this entry »

Roaming. Why is it such a ripoff?

August 28, 2014

Before I get into it, I get that Telco infrastructure is expensive. All those towers and cables and spectrum licenses and staying ahead of the technology curve doesn’t come cheap. However a lot of that is their own fault. Refusing to share infrastructure and trying to push proprietary technology to create customer lock-in and creating more and more complex plans to lock consumers in just makes the problems worse. Read the rest of this entry »

Lane Filtering

July 4, 2014

There is nothing more frustrating for a motorcyclist than being stuck in stationary or slow moving traffic, especially when there is ample room either against the shoulder or between lanes to safely filter to the front of the queue.

Sadly in the US lane filtering (or splitting) is only legal in California, and even the splitting rules for the Californians largely recommend something closer to filtering.

Every motorcyclist probably has a different view of what’s safe – no matter what the outcome it’s always your fault – I personally err on the side of caution and would be happy to see it only allowed if traffic is moving at less than 25 mph and the motorcycle was allowed to go no more than 20 mph above the speed of the queue. Riders need to consider many factors – not just the size of their bike and the size of the gap!

Statistics from Europe on motorcycle accidents have shown a 2.8% chance of harm coming to a stationary motorcycle in traffic but it drops to a 0.4% chance when riders can filter forward. So not only does it help create more space on the road for motorists it actually keeps the rider safer. Read the rest of this entry »

Why, after 8 years, do my vaccinations suddenly matter?

July 1, 2014

As anyone who has jumped through the migration hoops to get a US Green Card there are many parts of the process that don’t actually hold up to inspection by the Socratic method. Or for that matter any other measure of common sense.

The one that baffles me today (while I wait for the totally opaque PERM process to complete) is vaccination. Read the rest of this entry »

Connected Cars and Smarter Smartphones

June 25, 2014

As smartphones get smarter, and cars more connected it seems to me that there is a huge untapped market. Not everyone will replace their car along with their phone (or vice versa) so an opportunity exists to create a flexible, standards based solution both for new vehicles and aftermarket retro fit scenarios.

Luckily many of the standards needed to deliver this already exist. Bluetooth, NFC, wireless charging, ODB-II can all combine to present a seamless experience – if only the software was available to tie it all together… Read the rest of this entry »