Happenings

Bad Tutorials

As someone working in technology, I’m faced with a fairly moving landscape. The number of new technologies and ideas that pass through my domain of interest make is so that the skills that I had yesterday might not be useful today, and are probably going to start looking silly tomorrow.

A necessary outcome of that is that technologists rely a great deal on different forms of training material, from full-on seminars to simple tutorials and APIs. It strikes me that a great amount of this material, perhaps the majority, is terrible; lacking the ability to convey meaningful lessons to the reader.

Ignoring the material which is underdeveloped or simply inaccurate, my experience tells me that the next worse kind of material is that which runs through a series of steps: do x, do y, do z, you’re done. While this is certainly better than no material at all, it doesn’t help build any understanding, and that’s the key to any successful tutorial. If you build understanding, you’re doing a much better job.

Rather than simply run through steps, take the time and patience to indicate the goals. What will each step achieve, how exactly does it achieve that goal, and what other outcomes are there in slightly different circumstances? Each step should be there to help build understanding of your domain (by which I mean the fundamental components and ideas underpinning your subject matter), and in doing so ensures that the reader will be able to reason about your domain for themselves much earlier.

An extraordinarily good example of this is something like the Spring Framework manual. Each section introduces concepts with worked examples, alternatives, and consequences. The outcome is that given a small amount of time working with Spring you can fairly well reason about a new class that you’ve never encountered.

Always build on the domain understanding, always underline core concepts and always teach underlying principles, rather than simply stating steps.

Seven Times

A while ago now, I was stood behind two women at a bus stop. I wasn’t particularly listening in, but being that close meant I couldn’t avoid hearing what was being said. The first asked the other if she had seen a movie that had just been released yet, perhaps a week earlier. The other enthusiastically responded, “I’ve seen it seven times!”

Now, there’s absolutely nothing wrong with seeing a movie twice in a short space of time, particularly if you really enjoyed it. I can imagine seeing something three times over the few weeks of its release if it’s either particularly good or perplexing, but seven times? That’s just a failure of imagination.

Appreciation of cinema, as with any medium, is best enjoyed over time, allowing the passage of time and changes of context to enrich it and take your enjoyment in new directions, or to see it as something of its time. That’s true of music, art, tv, sport etc. Just about any hobby is best enjoyed in perspective.

An uber-obsessive, single-focus like that is almost childish; the attitude that seeing a two hour movie seven times in roughly a week is a form of lamentable one-upmanship.

To anyone who thinks that seeing something seven times really is fine, I say watch something else. Watch something worse, if need be. Watch something completely different, or something that makes you uncomfortable. By taking in a greater variety of your chosen medium, your context — your very understanding — becomes richer. When you finally see that film again, you’ll be seeing it with a new perspective and that’s far more worthwhile than obsessively watching the same thing in the same context time and again.

vBulletin Upgrades, I Hate You

A big problem for security in software is that users have learned over the years that upgrading software is painful. Trying to click through dozens of settings and configurations, to then have to stop what you’re doing for an operating system restart has had the outcome of making upgrades a nuisance for most users. They avoid it.

In recent years, I’ve found that web-based upgrades have become less and less painful. WordPress, for example, is incredibly easy to upgrade these days. At first the single Subversion update command was a big improvement over the 5-7 step process. Now, it’s a single-click from your WordPress dashboard to upgrade, from downloading the update to installing it and running any necessary upgrade routines.

One-click. That’s how it should be. When you get one-click upgrades, then it becomes the default thing to do rather than the deferred thing. This benefits everyone.

That’s why I still hate upgrading vBulletin, the forum software that is abominable to upgrade. After having to upload the new version yourself (“upload a, b and C, but not d”), you have to click through dozens of screens to actually install it. If you’ve let it lapse more than a few minor version, and you will given the pain involved in upgrading, then you’ll have to do each and every incremental upgrade, one after the other.

The most annoying thing is that there is no interaction required here. You’re essentially clicking “next” a few dozen times. You know what? Software can hide this fact and just keep plowing on until it hits an issue (in which case it can let you know) or is finished.

Yes, it’s a commercial piece of software, but that’s no excuse. There are plenty of ways of allowing an upgrade automatically, after performing a license check. OAuth, for example, could be used to make this problem go away.

Instead, we have a terrible user experience: an upgrade that needlessly takes away administrator time from doing something else. Try harder, vBulletin.

Digital Is Flexible

I can’t remember the context, but I remember reading an article a little while ago about music, DRM and other digitally formatted media. The line that really struck me was not one that was tucked away anywhere, or that was the centre of any argument. It was presented as so obvious that it didn’t need any further emphasis:

Digital is flexible.

The natural state for things, anything, that is digitally represented is that it is mutable and changeable. If I chose to buy a digital book, the natural feeling thing is that I should be able to read that on my laptop, iPhone, Kindle or any other device that I pick. If I buy music, I should be able to crank it through my stereo, or put it through headphones. That’s the obvious take-away from that statement.

It struck me, too, that it’s natural to be able to take these digital things and reuse them as much as possible; whether that’s remixing music with other tracks, using digital media as the basis of an art project of some sort, or even just exploring a shift in context (like visualisation around novels to explore the themes) it seems like it should be an easy thing to do. That’s why DRM is bad.

Digital is flexible is the obvious, default starting point. If your media isn’t flexible, demand better.

iPhone: The Future Is…

After several years and 3 major hardware iterations, O2 have finally lost their iPhone exclusivity in the UK. Over the last few days, Orange have started selling the iPhone on their network too. Many saw this as a chance to start some competition in the marketplace, which is always a good thing. Did we get it? Well, no, not really.

The problem is that Orange have basically got the same deals as O2. The pricing is pretty much identical (if we’re not quibbling over pennies either way) and the structuring is too.

They could’ve competed on any number of fronts: pricing, different number of texts/minutes, different data plans, different tethering, cheaper handsets etc. Instead they seem to be doing exactly the same thing as O2. How does this really help your average consumer? It doesn’t. They’ve added very little to the marketplace, and O2 have too much of a headstart for a me-too answer.

On the plus side, they do have a better 3G network but on the minus side they also have explicit data restrictions. 750Mb per month might seem like a lot, and I’m sure it’s adequate for most people, but I’m fairly sure you could tear that down quite easily under the right circumstances (Spotify and iTunes video looking like likely culprits).

They could’ve done so much better, but instead we get a fairly middling effort. A waste and a disappointment. Let’s see if Vodafone, the next to get the iPhone, will do any better.