For a year and a half I’ve been helping solve problems, write samples and clarifying questions to make them easier to answer. It’s not my day job and it doesn’t even pay peanuts. It pays me in something even less tangible … internet points! Read the rest of this entry »
For all it’s pretentious narcissism Facebook provides a level of utility. It also needs to build a business to pay for those servers, engineers and lavish parties. But there comes a point when building an empire that is minting billionaires on the back of a business model that’s predicated on crossing the line into creepy just becomes wrong.
If I use the web experience it gets what I explicitly chose to tell it – what I add to my profile, and post to my wall or message my friends. And I’m comfortable with that. It’s a trade-off – I give them some information, they serve me some ads and I get some value.
On my phone though it’s a different story: Read the rest of this entry »
Like many people I use a laptop that I carry from home to work and back again. That coupled with browser preferences syncing to my other machines means all my bookmarks and extensions travel everywhere with me.
At work (or on our VPN) there are certain intranet sites I can access that are not public, so I’d prefer not to see them if i can’t click on them. There are also some browser extensions that I don’t want to run at work because they are not on our IT departments approved list. This means that either I have to stop syncing settings, or use a different browser for work… or come up with a smarter solution. Read the rest of this entry »
As a nerd who gets all excited about the whole idea of Quantified Self with my FitBit and 23andMe and HealthVault profiles I was somewhat thrilled to discover I needed an MRI – after all using powerful electromagnets to peer into places I’d never want to see normally (expect perhaps from the inside of a miniaturized spaceship) is pretty cool.
As I was curious about how they worked I read some articles, and checked some videos to find out about the process, and to see people messing about with one so at least I’d know what to expect (no, they don’t attach you to a stain gauge and lower you in on an office chair!)
The process was pretty straightforward – the usual check-in paperwork and confirmation of why you’re there, though with a very detailed checklist of possible magnetic items you might prefer to remove before going in (I’d remembered to take out all the piercings – back to my natural state for the first time in 20 years!) and then through to the machine.
The tray itself was pretty comfortable – after all, if you have to hold still for half an hour that’s important. The technician warned me that it would get pretty noisy, so they recommend earplugs and then extra pads to hold your head square in the cradle.
The first slightly claustrophobic moment was when they put the frame over the front of my head as well (apparently it both helps to hold things in place and act as an antenna). The one in the video had mirrors on to help you see out of the tunnel, but this one didn’t. He also gave me a panic button in case I felt uncomfortable… I was sure I’d be fine…
Then, like a naughty child being slid into the oven in a Gingerbread Cottage I was delivered into the maw of the giant magnet. About 30 seconds later I was having to will myself not to press the panic button – it turns out I’m a little more uncomfortable in enclosed spaces that I thought I was! Luckily when I shut my eyes and practiced my yoga breathing that passed.
The noise is pretty intense. It starts out with some pings and pops but then it really gets going… a jackhammer crossed with some really boring EDM! No real progression and just when you thought they’d drop the bass it went for another chorus. The cycle repeats a number of times while they move the tray around – at least each track on the album was different – and the technician kept checking in to make sure I wasn’t freaking out.
I don’t know if it was psychosomatic but at various points in the cycle I could feel a buzzing and goose-bump sensation in fairly specific areas. Curious about that.
When it finished and I was disgorged the first thing I noticed was how dizzy I felt – that lasted for maybe 15 minutes. I don’t know if it was the machine, the effort of lying still or lack of coffee!
Now I just have to wait for the results. I’m hoping when I go in to see the Doc he’ll be able to share the images with me – not because I have any pressing need but simply to add to my collection of nerdy medical data!
One of the great things about developing on today’s cloud platforms is elastic computing. You never know what the peaks are going to look like, but you don’t want to pay for hardware you’ll only use once in a blue moon. So you opt for a dynamically adaptive scalable solution.
If you’re read any of my posts about jsErrLog (or “jsErrLog posts” if it’s still down) you’ll know that’s what I did for that service. As I’m offering it for free to anyone with a reasonable load I needed something as cost effective as possible (ie free!). When I built it I looked at Windows Azure, Amazon’s EC2, a few smaller options, Virtual Private Servers and finally settled on Google AppEngine - in common with the others it offered a number of options for programming languages and data storage but the big bonus was a no-nonsense the free tier.
Sometimes however things don’t go quite as planned…
America is surrounded by enemies. Overseas there are Insurgents, Freedom Fighters, Rebels, an Axis of Evil and a dozen other threats to American interests. Closer to their white picket fences and apple pie are Home Grown and Self Radicalized Terrorists.
These demonized nebulous threats are being used to strip away years of progress – from rights and protections granted by the Constitution through to the simple expectation of being able to travel without running the gauntlet of mall cop security theater. They are being use to justify wholesale spying on the American people and politicians and citizens of other sovereign – in some cases “friendly” – nations.
The question people should be stepping back and asking is how this happened. They need to do what they can to stop it, but it helps to understand why America has all these threats leveled against it.
Externally the threats have come from American interference – CIA training rebels and freedom fighters who promised to help further America’s interests in a region (who then resented American interference and use the same techniques against their former allies) or outright agression in the name of “bringing democracy” or a blustering self justified search for weapons of mass destruction. In many cases those seemingly altruistic actions have been driven by commercial interests or to secure resources. Why doesn’t America bring the same effort to bear in mineral poor parts of Africa as it does “liberating” oil rich Middle Eastern territories.
Then we have the home grown terrorists. Some of those are simply disturbed individuals, but many are driven to the point of desperation in a country which simply doesn’t care. They feel deserted, betrayed or abandoned by a system which should have supported them – again, the race for the almighty dollar is dismantling the education system, making healthcare less accessible than in some third world countries and reminding us all that the origin of the world privilege was “private law” where money talks and big corporations and the rich very rarely pay for their actions.
Of course with the current climate of fear and the media slavering over every opportunity to monetize the collective paranoia anyone can be labelled a terrorist – a protester in the Texas legislature who just wants to be heard; a whistleblower who exposes criminal abuses of power or negligence; a person who just wants some fair recompense from a bank that illegally foreclosed on them with no restitution required.
The upshot of this is a that America is isolating itself. Companies and countries are thinking twice about doing business or associating with America. Americans are not welcome. And this seems to fit in with the other policies which are coming to the fore in a country determined to deliver on the blueprints laid out in the Handmaiden’s Tale and Idiocracy.
For new entrants to the phone or tablet market the conversation always turns to how many apps there are. At launch, a year later, how fast the numbers are growing. The conversation is driven by the incumbents and echoed by the press and makes it very hard for a newcomer to be taken seriously.
What would happen though if a new entrant to the space, such as Mozilla with the Firefox Phone, decides not to obsess about the numbers game, but own the narrative and re-write the rules…
If you play the numbers game means you are spread thin, chasing a huge catalog and will constantly be behind the ball playing “me too” and catch up at the mercy of the big fish who probably don’t see you worth the effort until you have an established presence.
Defining your rules allows you to identify a small selection, maybe a dozen, of apps that users want, need or actually use as a base line and expend significant effort working with those partners to create the best version of their experience on your platform.
You help with engineering, dollars and resources, providing money, talent and demonstrating true partnership. Engage deeply with your partners and share the risk – you both need to comfortable enough to experiment with new features on your new platform, to iterate and fail fast but within that small group drive their success while establishing your new platform and demonstrating what is possible.
For most of the incumbents this isn’t the way they play the game. Apple dictate to partners secure in their position, Google, with Android, rely on OEMs and the scale of their store to drive developers. Microsoft have a huge field Evangelism organization who can wield marketing dollars but are chasing numbers and have quarterly goals to meet and don’t seem to have the patience for long term engagements any more. BlackBerry are desperately copying any playbook that seems to make work but are finding resurrecting their brand hard going.
For a new player it’s a losing proposition to try and get into their race. Even if you launch with 50 thousand apps there will be the issue of quality and questions around the presence of the “must haves” who won’t have taken the risk, and every omission will hurt. If you make the headlines read “Twitter launches their next generation client on Firefox OS“, “Evernote delivers game changing update first for Firefox OS” you can control the conversation.
By controlling the conversation you become a platform that is aspirational and seen as innovative.
That is where technology evangelism has to return too, not being driven by the same old marketing and PR story that is seen as safe conventional widsom
As a developer I can appreciate that dealing with user input is a pain. Dealing with anything messy humans do is always more annoying than handling nice clean inputs from an API. Developers and designers are human too, and they should think about the experiences they are creating, and how a little bit of consideration for the user can turn a frustrating process into a moment of delight.
- Required fields: Indicate visually when a field is required, and ask yourself if the field is actually required for what the user is trying to do (delight them and they’ll come back and share more information incrementally). Especially in a world of security leaks I like to minimize what I share and you should help with that.
- Formatting (phone and credit card numbers) is irrelevant: Should I enter my cell as (425)-555-5555, 4255555555, 425 555 5555 or something else? Actually all of those should be valid as it doesn’t take much effort to strip out spaces, dashes and brackets when you’re validating a credit card or phone number. If you need a particular format for your database or display then re-format it… but don’t force the user to comply with a rigid structure to make your life easier.
- Don’t be redundant: Don’t make me tell you what type of credit card I’ve entered the number for. Using a simple issuer lookup you can tell me if I just entered an Amex or a Mastercard. If you need me to write an look-up API for you I will, just leave a note in the comments.
- Passwords are a pain to remember: Just because you think the password rules on your site are obvious (at least one capital, one digit, only special character is an underscore and it must start with a different letter than your username) users have lots of passwords. Give them a reminder next to a where they have to enter it what those arbitrary rules are, ideally on initial entry and as an absolute must if validation fails.
- Don’t ask me the same thing twice: In the US a ZIP code can tell me the City and State. Same in Australia or New Zealand or the UK and pretty much anywhere else. Can anyone explain to me why I have to enter both 90210 and Beverly Hills, California on a million forms? By all means display the City/State for me to confirm but don’t waste my time asking me to do a computers job. That thing I said about look-up APIs earlier, still true
- Don’t be forgetful: Computers are good at remembering stuff, if developers are not being lazy. If I fill in a field or check a box on a form and something goes wrong with validation the only field I should reasonably be expected to re-enter is the password (and if you validate that and it passes assume I know my password and don’t make me rekey those asterisks again). If I checked “accept Ts&Cs” or “Don’t email me crap” the first time… I probably meant it so don’t forget it because I didn’t get my phone number in exactly the format you like.
- On-the-fly, context sensitive validation is awesome: Make use of onchange and onblur events and Ajax to check each field as I go to save the user scrolling up and down a page to find what failed. Basic validation, like credit card checksums, for fields that are easy to miskey should not require a full form submission
- When things go wrong, show me: When you finally get to a full round trip validation and have to show the user some errors you need correcting don’t just bundle some obscure messages at the top of the page – use visual cues and clear explanations to guide them to get it right
By making the process simple and eliminating points where the user can stumble your helping ensure that your form is not a roadblock where the user might get frustrated and abandon the process. When you go to the supermarket you look for the shortest line, or the easiest way to checkout, and you get frustrated if the process isn’t smooth. It’s just the same on the Web.
Even if you think you’ve gone beyond the things I mention above have you gone far enough? Are you watching your logs and other telemetry to see what fields users are stumbling on? Could you streamline the process further?
Your challenge: As designers and developers you should embrace the opportunity to streamline your users experience, and use every tool at your disposal to deliver a great user experience.
With a series of high profile security breaches in recent weeks (Twitter, Evernote, LinkedIn and others) the obvious concern is that the attacker has access to your account. In some cases it’s more than that. Read the rest of this entry »
As I travel a fair bit for work and pleasure I get to enjoy the TSA “Freedom Massage” and the rest of the theater on a fairly frequent basis. At the checkpoint I’ve seen fairly inconsistent behavior even at the same airport (and while there are some terrible jumped up lunchroom monitors wearing the uniform there are also some great folks manning the front line as well).
Not the main topic of this post, but as I’ve noted before I opt out for freedom. But when I do I also get to skip the metal detector. If I was really determined to get something sharp passed the pat down I’m sure I could find a way. Read the rest of this entry »