Exclusive hands-on review – one year in

Here’s my one-year review.

Obviously we’d had this product on order for a long time, and there was a lot of expectations. Would it live up to the hype? In the end it was lovely to see it arrive, right on time. The unboxing was something of a complicated process, and we had some concerns that the product would not fit back in the wrapper if we had to return it. But it does not come with any kind of warranty, so that may not be a problem. The packaging itself is beautiful, and well worth hanging on to.

From first glance, this product is stunning. It is clearly more attractive than all the other models on the market. Home run. The attention to detail is superb, nice to see some familiar features in there, and you just want to pick it up and play immediately.

On the down side, the preinstalled operating system was not really ready for prime time. It would go into sleep mode every hour or so, and require constant recharging. The charger is built into the packaging, which seems inconvenient.

We’re still waiting on the promised voice commands. Waiting a whole year for this obvious feature is frustrating, and I feel this should have been built in when shipped. The inbuilt apps are also not much use. However, we’ve seen more and more available as the product has matured, and each new one is a delight to install.

We are still having a number of problems with sleep mode, which seems to have a mind of its own. I think some sort of hardware switch would be more useful. Equally, the alarm can go off at all times of night, which hasn’t helped with scheduling.

While the initial outlay for the product was very low, it ships with a binding multi-year contract, and the monthly fees are very high. Be very sure this is what you want when placing your order. Accessories are also expensive, if you want to look the part.

We’ve tried a little networking, which seems to be going well. I can get the devices almost talking to each other, but we haven’t completed a full handshake yet, let alone transferred any meaningful data.

Despite this, viruses can still be easily caught, though you can get some anti-virus plugins. They are painful to install, but apparently worthwhile, and the minor viruses we’ve seen have been shortlived.

Ultimately, like any luxury good, this is a product requires significant customisation and time, but will grow with you. I think it’s well worth the investment of time and money, and I look forward to playing with it for years to come.

10 / 10

Ten Excuses

Ten reasons your wife should get up to shush the baby tonight:

  • You’ve had a hard day at the office today
  • You’ve got a hard day at the office tomorrow
  • You did it last time
  • She’s better at it
  • You’ve had a beer
  • The baby is closer to her side of the bed
  • The noise bothers her more than you
  • You’d only wake her up anyway
  • Mothers have these hormones
  • She probably enjoys the bonding time

Of course, the problem with all of these is that they’re utter bollocks.

But that doesn’t stop them running through your head every time it’s your turn to get up.



Working at Twitter is something of a luxury. And I don’t mean the snacks.

I work on twitter.com, the main website for desktop browsers. My everyday tools are JavaScript and Ruby. Which surprises me, since every other job has heavily involved HTML and CSS.

At Twitter, this has been a very minor consideration. Why? Because our designers handle the HTML and CSS. I work with Mark Otto, who has designed a non-trivial percentage of the Internet through his Bootstrap library. He knows his stuff, but is still happy to learn or adjust if needed, to make the best result. It works very well.

Now, a lot of you are thinking “so what?” and “this is normal”. Maybe for you, this is.

But I’ve spent the majority of my career working at digital advertising agencies. There, the “creatives”, who are all “Art Directors” by rank, throw a Photoshop PSD over the wall and forget about the rest of the process. They don’t care what CSS is, they don’t care what HTML tags are.

I once worked with an Art Director on a style guide. I thought this would be a really simple idea. Not so. After carefully explaining the heading tags, H1 through H6, I turn up the next day to find the guide complete: heading tags H1 through H6, paragraph tags P1 through P6 and table tags T1 through T6.

I’ve never been able to understand why a web designer wouldn’t be interested in learning the basics of the material they work with. It is, quite literally, the media. If they were print designers, I would expect them to know about paper. Instead they live in Photoshop, on a Mac, and know nothing about the world outside.

However, thinking about it, I realise that I’ve been wrong to blame them.

At a digital agency, the “creative”‘s job is not to design.

Their job is to satisfy the client.

And the client, invariably, is impossible. They want three different executions of an idea. By tomorrow. Even though they’ve already decided what they want. Even though they already have a brand guide that limits any hope of creative spark. And no budget.

Oh, and the site has to be completely different to anything else. And viral. And have video.

Never will the client care about accessibility, semantic markup, reusability, comments or sanity. Except perhaps to check a box.

At Twitter our designers can take the time to iterate on new features with their Product Managers, and engineers too, until they’re really happy they’ve got it right.

At a digital agency, designers work all night to complete three page designs they know will be useless, because they haven’t been properly briefed. There’s no time to mock up designs in CSS, or test the interaction model on an iPhone. It’s an impossible job.

But they do these things. Clients get happy, sites gets churned out, money is made.

It’s two different worlds, with different requirements and different results.

For now, I think I prefer it on this side.

45 minutes

Babies are a blank slate. They’re the absolute zero of human experience, completely devoid of any knowledge about the world they arrive in. They’re learning machines.

You can’t surprise a newborn. It’ll just look at you and say to itself, “ok, so there’s that.”

They do come with a surprising array of built in features. Poop, for a start. But also the morrow reflex, where they reach out to grab if they fall. And they can also track down your moobs, even through a T-shirt, in the hope of finding food.

I’ve always laughed off adult sleep experts. They say we have a 90 minute “cycle”. Waking halfway through a cycle gets you a bad start, leaves you cranky and tired.

Have a baby, and that’s a permanent state of mind.

I never believed that crap though. I’ll leave “biorhythm” to the hippies dancing naked through the solstice. And I’ll set my alarm clock to whatever time I need.

But a baby is a blank sheet. And this blank sheet definitely sleeps in 45 minute cycles. By the clock. I don’t mean he checks his wristwatch before he gets up, I mean he sleeps for 45 minutes *exactly*, goes through a half-awake transition, then nods off for another 45.

If you’re lucky. At the moment we are not lucky. He’s ill, he’s teething. He’ll wake most multiples of 45 during the night, demanding attention.

He hasn’t learned this. This is a built in feature.

The 45 minutes is astonishing. Sometimes it’s not perfect, can drop to 35 or 30 minutes some days. But you won’t wake baby after ten minutes no matter what you do.

But after 44 minutes, you’ll be damn quiet, or there’ll be hell to pay.

Gimme a break

In 2002 I found myself in a miserable job. The new managers had been forced to merge their successful department with our unsuccessful one, and were not happy about it. Everyone with any sense had left months ago, including the clients. I was sitting at a workbench facing into a corner, and I hadn’t felt useful in months.

I quit, obviously, to find a better job. “The money doesn’t matter,” I said to recruiters, “I’m just looking for interesting projects.”

This is exactly the wrong thing to say to recruiters, since they don’t care about anything except the money, and their cut. They usually know nothing about the job itself, and are happy to lie their arses off to get you placed.

I found myself at a large accountancy firm working on an internal timesheeting project. Sadly, the project was nearly complete, and the money (shock) wasn’t great. I quit, obviously, to look for more work.

I found work at an international business computing firm. The commute was awful: 2hrs each way. But the money was good. They needed me “urgently”. Sounded good.

First day: “Er, it’s not been signed off yet. Why not just train yourself on this computer here.”

Four months later, still waiting for signoff, I was trudging to “work” through the snow, and I realised that I didn’t care any more. I hadn’t been interested in work for two years. Making something that I cared about seemed so completely unattainable that I didn’t think it was possible.

When I got back to town, I went to a travel agent. I asked for a round-the-world trip. “Where?” they said. “I don’t know,” I replied. “Come back when you’ve decided,” they say.

“No.” I say. “You must do this all the time. You know where people go, what they want to see, how long to spend in each place. Just get me on a plane next Saturday, and have me home by Christmas. I’ve heard South America’s interesting, I want to see Australia, but the rest is up to you.”

I walked out with a handful of tickets, and instructions for the visas.

California, Hawaii, Peru, Brazil, Ecuador, Fiji, New Zealand, Australia, Japan and Vietnam.

It was totally worth it.

If I had to do it again, I’d go again to Tokyo, to Hanoi, to the islands of Fiji. The best bits were the places that were totally unlike home. Oddly, though, I loved sitting in cheap Internet cafes in obscure parts of the world, and coding.

Sometimes you have to take a break from your job to remember what makes it fun.

Take a holiday.


Matt Knox asked me this over breakfast the other day,
“What’s your favourite thing about being a dad?”

My brain spun. I didn’t have an answer. I think I fluffed a reply with something like “it’s not something you have favourites for, it’s something you live for.”

Yeah, that’s a bit lame. But it’s a tough question. I could’ve easily worked out a top-ten list of the things I didn’t like doing. Like emptying a potty. Ever tried that? Not pleasant. Not fun at all.* But favourite? No, too hard.

Anyway, I thought about it later.

What’s best about being a dad is being married.

Yes, of course, there’s all sorts of heart-warming moments with the baby. The arrival. The first smile. In fact, every smile. Talking, walking, crawling, holding. Just being able to hold and cuddle. Seeing parts of you. It’s a reason to live.

All that is granted.

But I couldn’t do this alone. I couldn’t manage. I’m shattered just feeding at nights and doing two playgrounds in a weekend.

Knowing that I have a soulmate to entrust with the little one’s upbringing is everything.

And actually, getting married is excellent preparation for having a baby. The stress, the organisation, the planning; coordinating relatives; coordinating jobs. It you can get through that together, you’re well prepared for the shock of having a baby.

Mind you though, what I miss most is: being married.

I miss whiling away the weekends doing nothing. I miss snuggling up on the sofa watching TV late into the night. I miss the lazy Sunday mornings in bed.

For now, for us, those times are gone. We’re in bed by ten at the latest, too tired to talk much. We don’t watch TV for fear of waking the sleeping one. Besides, it’s too much noise for us.

I miss my wife. I love my wife. I depend on my wife. Every day.

* Top ten worst things:
– emptying the potty
– lack of sleep
– dealing with escaped poo
– waking baby
– lack of sleep
– fear of the future
– lack of sleep
– lack of social life
– lack of sleep
– lack of sleep

Debt and deficit

I love the language of economics. It sounds so simple in the news reports. It’s easy to get het up about the facts and figures they present, but often – no, let’s be honest here, always they’re presented without context or definition.

Two common words of the moment are debt and deficit.

If you earn $1000 this month, but spend $1500, then your deficit is $500.
After one month, your debt will also be $500.
After two months, your debt will be $1000.
So “deficit” is how much you’re losing, while “debt” is how much you’ve lost so far.

When politicians talk about reducing the deficit, they are saying two things:
1) they spend more than they take – they are losing money
2)they want to lose less money next time.

They are not talking about paying off the debt. That would require a surplus for many many years, and is considered so far-fetched that nobody is even suggesting it.

The country has so much debt that nobody is talking about reducing it.

The USA has $16,000,000,000,000 of debt.
The UK has £1,000,000,000,000 of debt.

Now, obviously, as a top customer of the banks, we’re getting a good rate here. We’re paying just over 4% on that.

That’s $640billion and £40billion respectively. Paid out. Every year. To banks and investors.

The only reason we’re not all bankrupt is that this is considered an affordable sum. But is it? Do those numbers look reasonable to you?

Maybe they do. If so, could you lend me a billion dollars?

When the media talk about “getting a grip” on the deficit, and having “control” of the economy, they are just looking at the detail. Cut the deficit by even 50% in ten years, and you’ve still just got more debt.

What you want to do is cut the deficit by more than 100%, so you’re taking more than you’re spending, and you can stop paying some of that huge interest bill.

Death or serious injury

When you become a parent, you suddenly acquire this immense feeling of responsibility and protectiveness. This tiny little baby is yours, yours forever, and so it becomes your job to guard it from the world.

The mere thought of any harm coming to your baby is enough to put you in a cold sweat. You cushion everything in the house, you invest in crashproof car seats with built-in parachutes, you do everything that you can, and more.

A baby typically wears about four layers. And we live in California. They get wrapped up in a cocoon so warm and snuggly that no harm can possibly come to them.
Bubble babies, that’s what they are.

I think I’d go for the eyes. If anyone broke into this house, I’d be taking their eyeballs, no excuses. I’m having none of it. My home is my castle, and my treasure is for keeps.

Some nights you wake up in a sweat, just at the mere possibility of harm. You don’t sleep for hours more. Not that you really get the chance to sleep very often.

Really, parenthood is all about trying not to think of what might happen. What if, I took my eyes off for a second. What if, I let him play with that. What if, I don’t strap him in tight enough. What if, what if, what if.

I don’t want to think about it.
Please please please let me remove these damn permanent labels.

Context switching

I’m at work.

And I know what you’re thinking.


Logs onto his own blog when he should be working?! When are we going to get 150 character tweets, if the developers all spend their days on personal blogs?

I hear you.

But I’m getting old. With old age comes a certain amount of experience, a certain amount of stiffness in the bones, a certain grey-haired softly-spoken cynicism of newfangled inventions.

But as far as coding goes, the biggest effect is context switch pain.

I feel sure that when I was twenty I could happily flip between six different projects, in seven different languages, for eight different clients. I could jump contexts like a frog that dodges traffic in an old computer game.

Now I’m over a hundred, I find this harder. Come over and ask me about your project, and my thought processes go like this:
– what?
– what’s happening?
– try to remember current task
– who is this?
– does it look urgent?
– if I ignore them any longer, will they just go away?
– save
– remove headphones
– try to work out what I spoke with them last about
– ask them to repeat what they’ve been saying for five minutes.

The whirl of my mind is a bit like that special effect in Butterfly Effect where there’s a kind of wobbly text, whoosh, whoosh, and I have no idea what’s going on.

When I’ve finishing talking about their problem, I turn back to my computer. Rebooting the brain goes like this:
– what is this?
– what was I doing?
– email
– check name of git branch
– look up relevant ticket
– resume coding
– who’s this?
– does it look urgent?
… and the process continues.

Some tricks I’ve discovered to help with this:
– just don’t use facebook
– name my git branches something sensible
– try to work on one thing at a time
– keep my todo list in jira.

It mostly works. Mostly.

And why am I blogging?

My tests are running. Usually I’d switch to another branch and carry on working. Today, with a five am baby feed to start the day, I’ll settle for one thing at a time.

Tests complete. Back to work.


Everyone talks about what makes a great manager. Inspirational, motivational, aspirational. But a great project manager is a different kettle of fish. Or a kettle of different fish. Maybe goldfish.

Whatever. Different.

Let me tell you a story of many years past. I was working closely with my PM on a significant project for a major car company (I’ve actually worked for most of them).

My PM’s job was to protect me from all the political, contractual rubbish that comes with any large project, to allow me to focus.

When we went to meet our partner company for this contract, we divided up. Techies in one room, project managers in another. Hey, we only had an afternoon. It meant we could focus.

The trouble was that without project managers, we had no idea who was supposed to do what. We divided up the work as we saw it, not the way the contract, budget, or the project plan that had been drawn up in the other room, had expected.

As the project progressed, the levels of insulation increased. I was excluded from status meetings, client meetings. I was still working to my own plans.

Months of hard work later, we were significantly out of step. Expectations didn’t meet product.

Deadlines passed. Clients fumed. Rivers of blood. Earthquakes rent the land. Trees fell. Floods. Weekend work. Fire. Brimstone. The works.

At Twitter we have a core value, to “communicate fearlessly to build trust”. It’s my favourite value. It doesn’t say communicate *needlessly*, so I don’t need to know what you have for breakfast, or how much the CEO earns.

But it speaks to transparency and openness, and I’ve learned that this is what makes a great Project Manager.

Instead of standing between the engineers and the rest of the company, they serve as a connector, bringing you news, making introductions, setting up meetings. Not telling me what I need to know, but telling me everything I might want to know.

A connector, not a shield. That’s a great PM.