Author Archive

Just a quick post from the train using my newly configured Sony Vaio P (the tiny Sony netbook) running Windows 7.

Peter bought this earlier in the year but didn’t get on with it because it was just too slow to do anything useful on.  He’s now upgraded to a macbook air (it’s a hard at the top isn’t it!) so I thought I’d have a play around with this.

The initial idea was to stick Ubuntu on it as a few others have done and after some messing about with USB keys (this thing’s got no optical drive) we configured a PXE boot server and got it to boot from the network and install Ubuntu – result!

Well, more of a no score draw really…  Initially the display doesn’t run at the almost impossible to see 1600 x 768 so you have to do some play\ing around as detailed by Richard Walker on his blog.  Once that’s all up and running it’s ok but the display is painfully slow and video’s are just unwatchable.  Not so much of a problem in itself but combined with the fact  that suspend/resume and the HSPDA/GPRS modem don’t play ball meant that Ubuntu was for the bin.

I was tempted to try OS X but apart from the fact it’s not legal, I suspect lots of pain and a result which is no better than Ubuntu (and probably worse).

So, back to Windows it was.  A word of warning here:  Do not suspend the machine halfway through the ‘recovery’ process!  Obvious really, but after waiting 2 hours for it to complete I wanted to go home!  The result was a machine that booted into Vista, displayed a message that system configuration couldn’t complete and then restarted.  Booting to safe mode didn’t solve the problem either.

Anyway, to cut a long story shorter, some more playing around with PXE and the WAIK resulted in a network boot server that wouldn’t quite install Windows and a 4GB USB key that wouldn’t format anymore (sorry Peter).  Trying to make a bootable USB key with the Win 7 ISO should be easy but for some reason it just wasn’t.

Then on Wednesday there appeared on my desk something that looked like it had been made in a shed 10 years ago from components bought in Maplin.  In actual fact it was an external USB optical drive, dusted off from the ‘archive’ of our CTO.  2 minutes later and I’m installing Windows 7 and we’re cooking with gas.

Well almost.  You have to do a fair amount of hacking around to get everything to work as detailed in this great windows 7 install guide and I had to download a different WAN card driver from option but so far so good.  I’ve got a vodafone SIM in the slot and it all ‘just works’.

It’s not rocket fast but it’s still a pretty impressive device, I’m now on the tube and literally put it in my pocket for the walk between the mainline and the underground, it’s that small. If only Apple would make something similar my life would be complete!

Next stop, install some real software, configure my Macbook for VNC so I can leave it in the office and remote into it from this, oh and swap the hard drive for an SSD – that should speed things up a bit.

‘ve had my iPhone for just over a week now (I know, with the imminent release of iPhone 3.0 I haven’t exactly been an early-adopter on this one) and I’ve figured out why it’s been such a success.

It’s not because it’s sexy and shiny and plays music and lets you watch YouTube and play great games and read blogs and twitter.

It’s not because the touch screen keyboard is pretty good and the accelerometers mean it automatically rotates the screen when you turn it over.

It’s not because the location services and built-in GPS mean it knows where you are and can do cool things with maps and friend/restaurant locators.

It’s definitely not because of the quality of the camera or the life of the battery or the slightly flaky exchange server push mail integration.

Nope, it’s more fundamental than that.

Using the iPhone is relaxing.  Seriously.  The gestures, the screen transitions, the responsiveness all combine to make a calming user experience.  No other mobile device manages to achieve this: The Blackberry is a tense fiddle of scroll wheels or mini track-ball followed by cramped two-thumb typing, all Windows Mobile devices I’ve used are sluggish and require almost pin-point accuracy with a small stick and every Nokia, Motorola or Sony Ericcson I’ve ever used has had a counter-intuitive interface a predictive text system that has made me want to smash it against the nearest solid object.

Just about the only thing that’s frustrated me about the iPhone in the last week has been level 64 on Blocked.

Yesterday was Red Nose Day and people all over the country were doing unusual things for charity.  Some were cringe-worthy, some really weren’t very funny and some were just bizarre.

There was one that really made me laugh though, and that was Peter Serafinowicz‘ twitter vegetable pop star pun war. The idea is simple, think of a vegetable pop star combination, say ‘Tina Turnip’, donate £2 to comic relief and tweet your pop star to @serafinowicz.  A great idea, nearly £5k raised for comic relief and something that just wouldn’t have been possible without Twitter.

I managed to get sight of a proposal from a competitor last week for a piece of development work that we eventually won and was suprised that they were advocating a waterfall style approach with a pretty comprehensive up-front requirements gathering and specification writing stage.  Now whatever you may feel about the pros and cons of Agile, surely nobody really still believes that months of requirements gathering and specification writing is the most cost-effective way to build a web site?

The process of gathering requirements and system design is always thought of as a pretty linear process.  The theory goes that as you gather more and more requirements you are better equipped to organise them and create the perfect system.  Basically the relationship between understanding and time is one-to-one.  A bit like the graph below.

Linear requirements process

Linear requirements process

If this was the case then it would make sense to spend the necessary time gaining a complete understanding of the system.  Not only is each quanta of time (let’s say a day) worth the same, if you spend enough of them you will eventually get to a state of perfect understanding which will allow you to go off and employ a team of developers to build the perfect system without any further thought.

Now everybody knows that this doesn’t actually work in practice and however much effort you spend designing a system there will always be things that for whatever reason don’t quite work in the real world.  Not everyone is quite so keen to admit that the theory is flawed so normally the blame is put on the implementation of the process:

“We really must make sure our design is more comprehensive next time.”

In reality the process of gathering requirements and system design is not linear.  There’s normally a pretty steep curve at the beginning of the process as you get an idea of the core requirements and this tends to level off the more time that is spent.  Arguably you never really get complete understanding and you can certainly never design the perfect system.

I think the curve looks a bit like this one:

Actual requirements process

Actual requirements process

So, there comes a point where it’s not really worth gathering any more requirements or spending any more effort designing the system as each day that is spent brings less and less extra knowledge.

Common sense tells you that you should stop trying to increase understanding at a point when the curve starts to level off and start building something.

When to start building

When to start building

The trick is knowing how long it’s going to take to reach that point, recognising that you’ve got there and knowing what to do next…