Dev links

December 28, 2008 | Comments

Brought to you by the combined power of phlegm and NetNewsWire, a pile of links relating to software development:

  • Clarifying the purpose of iteration planning. I'm booked onto the Mike Cohn course in London in a few weeks time. I'm so excited. And I just can't hide it.
  • The perception of agile seems to be on a knife-edge between recession-busting common sense and meaningless management drivel right now.
  • Joel Spolsky on servant leadership: "I'd love to imagine that I'm the most valuable person in the company, that my time is so precious that I have to optimize every minute. But it's not true. At this point, I'm probably the worst developer in the office."
  • Logging styles: "Resist the tendency to log everything"
  • Nice piece on growing an agile organisation: "These ideas are easier to give lip service to than to actually implement. So if it doesn't work right away, don't give up."
  • David Wood ventures down a similar path: "Being big can have its advantages as well as its disadvantages, so long as individual parts of the company have sufficient autonomy"
  • What have you tried? "The problem is that this person’s problem-solving technique is to ask for the solution... but to just ask for the code, fully formed and ready to go. This is not problem solving, and software engineering is entirely about problem solving."
  • Static methods: the death of testability
  • Lean and Kanban for game developers;
  • Why pairing sucks in '08, a nice writeup of a session at XP Day exploring why developers choose not to pair.
  • Writing testable code: "To keep our code at Google in the best possible shape we provided our software engineers with these constant reminders. Now, we are happy to share them with the world."
  • Can't work out whether I like this article, since it seems to simultaneously promote every point of view: "don't optimise, hardware is cheaper than people", "fast hardware won't save you from bad code", "you can always improve performance", "optimising is hard", etc etc. Hardware-is-cheaper-than-people is often a lazy way of justifying crap IMHO, and ignores some of the complexities of scaling up beyond a single node.

Design links

December 28, 2008 | Comments

... and some nifty bits I've pulled out of the box marked "design":

  • Design on time: "Larry Cheng created a ‘free time’ dispenser that hands out free time in ten minute increments in the form of printed tickets. What you do with that time is entirely up to you. Nice idea, but Ted Howes and Adam Vollmer decided to try it out in the real world and took the dispenser on their Caltrain ride back to San Francisco the other day"
  • Lovely piece on the design of the Classics book reader for iPhone: "Real-life testing was an important part of the application; users could be lying in the park grass reading a book on their iPhone in the bright afternoon sun, and if they are, they should be able to still read pleasantly without having to squint an eye or going indoor and looking at an interface that’s completely black on white" (oh, and isn't the mobile books space busy right now?)
  • Cultural probes: "Users are met in their environment and given a ‘black box’ or a mock-up of a device. They are then told what functionality the device has and are asked to go about their life as they normally would…They are given a digital camera for a week and asked to take pictures of the situations where they would use the 'magic thing'."
  • The N79 launched: "Simply, in the case of the N79 comes with a handful of interchangeable Xpress-on covers that feature an embedded chip to enable the replacement of a cover to automatically trigger the on-screen theme to morph accordingly"

There is more than one mobile context

December 27, 2008 | Comments

Go read this article, "There is more than one mobile context".

For some time now I've been becoming gradually uncomfortable with the notion that mobile content is purely about snacking on small chunks of content or limited to snatched moments of time - though I'll hold my hand up and admit this is a view I've held, and frequently espoused, for years.

A few observations have drawn me away from this view:

  1. Watching Trutap become a primary means of connecting to web services for a couple of hundred thousand folks in Asia, and learning that there's a huge middle class who are leap-frogging ADSL in favour of 3G;
  2. Noticing that peak times for a casual gaming service we run are after 11pm, when I'll bet most folks are at home near their PCs or games consoles, not on the bus; and
  3. Slowly finding that around the home, my iPhone is replacing my laptop as my means of quick web access. It's not as fast, as large, or as flexible, but it's always there. Walking 10 feet and opening a zip-bag and case may only take 10 seconds, but as the Googlers know, when reduce the time between wanting X and getting X, you sell more X;

I think that, in the UK at least, this is still unusual behaviour. But when you see this happening in a tiny corner of one territory and already starting to play out in others, there's not much conceptual hopscotch to be played: it's not if this happens, but when.

A quarter of iPhone users say it’s displacing a notebook computer. 28% of iPhone users surveyed said strongly that they often carry their iPhone instead of a notebook computer.

My gut instinct is that this isn't purely an iPhone phenomenon, and that there's something more happening here - an acceptance that availability trumps screen size? An across-the-board improvement in access speeds and UI?

There is more than one mobile context. Decide which you’re interested in.

I think this article is lovely, but the author has left out one context: the mobile as your primary means of getting online, not because you're away from home, but because it's yours, it's nearby, and it's how you choose to be online in general.

Other jottings from XP Day

December 15, 2008 | Comments

More notes from XP Day, courtesy of some scrawled-upon index cards I just found in my bag:

  • Rachel Davies emphasising the need to take actions from retrospectives immediately into planning!
  • Gwyn from New Bamboo on "team building through ritual violence": using The Sword of Integration as a physical commit token. He also alluded to the Hammer of Scrum. I'll have to write about our Standup Plunger some time...
  • Chris Ambler of Microsoft on their approach to game testing. He used a nice phrase, "1st time delivery", to demonstrate the difference between launching web-based software (which you can update after-the-fact) and shipping a physical CD. With most mobile apps being a pain to update, I see mobile as nearer to 1DD than not. Chris also delineated scripted and unscripted testing, touched on coverage as being vital (particularly in iterative development where you might plan to throw away lots of stuff), and a few other goodies.

Net Neutrality

December 15, 2008 | Comments

Google are backing down on net neutrality, apparently.

I don't understand what "net neutrality" means, even after a heated^H^H^H^H^H^Hlukewarm debate with a Googler chum a few months back. I mean, it alliterates nicely and sounds kinda cool and Swiss... but what does it mean?

It seems entirely reasonable for, say, my ISP to run extra cables to the BBC if they want to serve iPlayer traffic better. It seems reasonable to me to prioritise videoconferencing traffic over SMTP to provide better-quality video. Are these breaches of net neutrality? Doesn't the internet interpret dodgy traffic policies as damage, and route around them?

I don't get it and lots of smart people I know seem to really care about it... which would seem to point to a gap in my understanding.