Seconds & pixels

"This is our last dance. This is ourselves. Under pressure."

Yahoo Mobile Blog

I am super excited to announce that we have launched a brand new and shiny Yahoo Mobile blog!

I will continue to write here as always, but I will also be writing on the company blog (and will repost links here for my posts). If you’re interested in mobile development, definitely something to follow, as you will be reading posts from many different developers and we plan to be sharing as much as possible of the things we learn and do.

First post is from yours truly, about Droidcon London.

Meetups are not products

The other day I was talking to a friend who confessed to me that he feels bad that he has not really attended any meetups this year. I asked him why that was and he said he’s been too busy getting his new app ready for launch this autumn.

Hold up

Ok, I’ll say it. I love meetups. Sometimes I host meetups. I love meeting people and seeing how excited they get when they talk about their new favourite project. I love how easily geeks can connect on a rant (ARGH! The dex limit! You hate it as well? WOW!). I love to see people stepping up to present for the first time. Meetups are awesome and I often push them as an example against the stupid stereotype that software people never leave their cave.

So now that I’ve said it, you can admit it: you love meetups too! That’s ok, it’s our little secret. But now that we’ve shared in this guilty love for meetups, please repeat after me:

Meetups are not achievements. Meetups are not shipping. Meetups are not products.

In the context of your product delivery, meetups are is a tool, a means to an end. They are at best an educating and networking event and at the very least a fun social event, and those two extremes and everything in the middle is what makes them so awesome. But do not delude yourself, they are not new features, they are not something that will move your product forward, they are not the end result.

If you miss out on meetups because you’re too busy shipping, you are doing fantastic, don’t waste a single moment worrying about it. After you’ve launched, come grab a coffee and tell us all about it. Until then, keep up the rhythm and focus.

The Secret

Now you’re looking for the secret. But you won’t find it because of course, you’re not really looking. You don’t really want to work it out. You want to be fooled.

I love this quote from The Prestige because it touches on a very interesting fact of magic shows. A good magician would never reveal to the public how a trick was performed. This is not because of vanity or selfish information hoarding, it’s simply because once it’s revealed, the magic is gone – now it’s just a trick. The magic is all in the secret.

Unfortunately, I find the quote to be true outside of magic shows as well. I talk to a lot of people that ask a lot of questions, but don’t really truthfully want to ‘work it out’. They prefer to believe in the ‘magic’. They believe it’s magic of some kind or another that made someone be successful, that got a politician elected, that got a writer on the bestseller list, an app to get 1M users, a startup to get funded. It’s magic and normal people can’t do magic so there is no point in even trying.

For this crowd, they would rather be fooled than enlightened. They are looking for the secret, but they don’t believe the explanation when they hear it and they keep looking for the secret of the magic trick. Because the truth – that there is no secret, that it’s just day to day hard work – would mean that the goal they are dreaming about is – and has always been – within their reach and that responsibility is painful. The magic is a much more comforting story.

Next time you are looking for ‘the secret’, ask yourself this: am I really looking? Or am I happy to be fooled?

It’s not the user

I would guess that at this point everyone in the world knows about this week’s “leak” where lots of private pictures from celebrities were stolen and then shared in the open. And if you’re interested in this sort of stuff, you’ve probably read quite a few opinions ranging from “why do these pictures exist” and “why are they saved anywhere online” to “what are the big companies doing about this”.

I’d normally avoid hot topics like this like the plague because of the kind of silly discussions that usually gravitate towards them, but in this case, there is a point that I would really like to make. That point is…

It is not the user’s fault.

It’s very easy, as an engineer, to look at this and breathe out with relief that nothing really got “hacked”, it was just phishing, brute forcing, guesswork and other hacks that involve humans more than technology. It’s just bad user passwords and people putting them where they’re not supposed to, it’s not our fault, our system was intact, nothing leaked through the holes. It’s especially good because deep inside there is a little voice telling you that this will not be the case every time, so at least on this one occasion, you can escape the blame, go home have dinner and sleep well at night.

Unfortunately this is an inadequate reaction, to say the least, and it’s a very wrong position to take, if you really care about the users and the industry.

We want people to use our stuff. We also want to make things as easy for them as possible. Just turn the phone on, it will just work. Just install the app, it will just work. Just take some pictures, it will just work and we will automagically back these up for you so that you can never lose them, you don’t need to do a single damn thing, it’s all magic from us techy wizards over here, don’t worry, love the cloud, life is good, please give us a 5 star rating and buy our stuff!
That is what we want, we want to make it *magical* and the magic happens when the complexity is hidden away. Unfortunately as soon as something goes wrong, the complexity starts leaking out in a big flood of user-blaming.

You’re holding it wrong

The user has set a bad password. The user does not have a PIN. The user does not use an encrypted connection. The user does not have a password on their wifi. The user has an easily-guessable password on all their accounts that they haven’t changed in five years. The user is wrong, our magic is INTACT, we cannot be faulted, the user has used our product wrong.

No, they f*ing haven’t. They used it in the way in which you told them they can use your magical device, in the super-duper-uber-simple way. You didn’t ask them to take a network defence course and a crypto book and understand why Password1 is about as secure as leaving your door unlocked and pictures with where your laptop is located outside. You told them that you have this covered and they don’t need to worry about a darn thing because *you* are the magician and they are muggles. The truth is that you lied and now you’re trying to blame the user to save face.

Instead of asking why do people still set incredibly poor passwords, here are some more interesting questions:
– Why do we allow users to set incredibly poor passwords?
– If hackers just brute-force and guess passwords, why don’t we try to brute-force our own passwords and make users change them when we succeed?
– Hey, why do we still have passwords? Is this really still the only way to authenticate a person?
– If we think two-factor authentication helps, why is it an elusive option that you have two dig out instead of the enforced standard?
– If secret questions and answers can be so easily guessed, why do we still ask for these? Surely we have better options available?


We are the wizards, we hold the keys to the magical kingdom and we expect users to trust us that this magic is good and it helps them and they have nothing to fear from it. Everytime the magic fails, everytime the user is hurt, they will trust us less. They will see the magic as more black than white, something to be feared and avoided. Fear kills innovation, fear kills sales, fear kills the magic.

It is not the user’s fault, it is the magician’s fault. The trick has failed, the complex machinery behind the magic hat has not only been revealed, but it killed the rabbit in the process. There is no one else to blame, we need to just accept our fault, sincerely apologise and do our best to make sure that this doesn’t happen again. And we need to do that fast before we lose all confidence and the magic show turns into a witch hunt.

The best that you can be

I am not the best developer that I could be today.

There, I said it. It’s hard to say or write it, but of course the list can go on. I am also not the best athlete that I could be today. Or the best writer. Or the best poker player. I have the potential to be better at any single one of these and probably many more.

It’s important to pick out your priorities and follow them without guilt. I am not the best that I could be at any of the above, because I believe strongly that splitting my focus between multiple activities makes me a better human. I could be a better developer, but that would require less sports, less reading and writing fiction, less time with friends, less time with family. There is nothing wrong with choosing that, if that’s what makes you happy, but I know that would not make me happy.

For many years, I struggled with guilt for not spending as much time as I could towards my professional goals. In the mean time I have learnt to live with the reality that my ultimate goal is to be a better person and there is a lot that goes into that mix. To ignore some goals in order to make more room for another might mean succeeding at a smaller goal, but it would hurt the bigger picture in the long run.

Whatever mix of goals makes you happy, that’s up to you and there is no right and wrong answer. The only wrong approach is to let others dictate this for you. Carve your own path.

Older Posts