Thursday, 27 March 2008

Martian Headsets

A colleague just pointed out a brilliant article from Joel on Software discussing the upcoming release of Microsoft's IE8. If you care about the web, have a position on web standards, consider yourself an activist, pragmatist or martian, then read it. Now.

Friday, 21 March 2008

TimeMachine with AirPort Disk: Finally

Apple yesterday released updates to their AirPort Extreme and TimeCapsule base stations and Time Machine which allows Time Machine to use an AirPort disk for backup (I have an extreme with about 1.5TB hanging off it). Finally. For those of you with a laptop like me, this means you can have a safe and secure Mac without living life in a bird's nest of cables and disks.

I configured it with a new disk yesterday, and it works great - just connect to the drive (by clicking on it in the left bar in Finder), and it appears in the Time Machine window and can be selected as the target for backups. The good news is that it seems very stable and happy - putting the laptop to sleep and waking it up again during a backup seems to have no impact, which is great. The bad news is that I started my first backup more than 24 hours ago, and it's still running. Whoops. Learn from my mistake: do your first full backup with the drive physically connected, otherwise you'll spend the next three weeks watching paint dry.

All in all though, it's great news that those of us that invested in AirPort Extreme base stations are being given the same privileges as those investing in brand new Time Capsules.

Wednesday, 19 March 2008

Oh Joy: High Court rewrites UK software patent rules

From Computing:

High Court rewrites UK software patent rules:

"The High Court has passed a ruling that for the first time allows computer programs to be patented in the UK.

"The decision came about as the court upheld an appeal from Symbian following the rejection of an application the software firm made to the Intellectual Patent Office (IPO).

"Symbian filed for a patent relating to the way computers use a library of functions that can be accessed by programs."

I'm hoping this is a storm in a teacup. IMHO, software patents are a fundamentally flawed concept which I'd hate to be subject to. Patents were designed to protect inventors of physical products, for whom the 'invention' bit was just the start of an enormously expensive journey to success, which could be upset at any time by a competitor with better tooling or more staff. As I understand it, you wouldn't normally go and get a patent until you've created your first production prototype.

This simply doesn't apply in the software world - by the time you've implemented your production prototype, you're 60-80% of the way there: Functional, non-functional and user acceptance testing are the remaining barriers to distribution. You don't need to tool up a multi million pound factory, you don't need to employ 20 staff to work the machines. In the general case, there are no boxes to pack, no labels to print, no lorries or fuel to buy, no returns to process, no replacement goods to ship. What's more, someone with more developers or a more established shop often isn't better placed to produce your product than you, the inventor.

This is what is so beautiful about software. Some of the best software in the world was written by small teams of very smart people, who had a good idea and ran with it before anyone else got a look in. I'm sorry, but if the big boys can't keep up with two guys, one girl and a dog working in their shed, then maybe it's time to consider a divestment.

And Breathe. . .

Friday, 14 March 2008

บ้าน (home)

I crawled into bed at 1am last night, no less than 25 hours after getting up. Paradoxically, I only got up at 7am. Aren't time zones wonderful? I've just got back from a business trip to Bangkok and thought I'd post some lessons learnt. In no particular order:

  • The weather in Bangkok is hot. Wear short-sleeved shirts. Don't wear ties. Wear a suit jacket when you go out in the evening, you'll look like an idiot. And I did.
  • Don't cross roads until you've looked left, right, up, down and have resolved any outstanding issues with your life insurance.
  • When you enter your airport taxi, note that it will take exactly 27 minutes before you realise you are not about to die. It'll take another three minutes before you take your hands away from your eyes long enough to notice that none of the cars weaving between lanes have dents, and decide that they are clearly made of reenforced diamond. Or decide that Thai drivers are considerably more talented than you, I or Jeremy Clarkson. Yes, really.
  • The people in Thailand are friendly, polite, and remarkably tolerant of our lack of aptitude for their language. Say "thank you" using the feminine version of the phrase for three days, just to keep them amused. We did.
  • You've not seen value for money until you've been to Bangkok. Stay in a hotel room as big as your house for £70 per night. Spend 45 minutes watching the meter in a cab slowly reach the £2 mark. Now try doing the same in Farringdon.
  • Towers in Bangkok are tall and numerous. Ours had 38 floors. Take pleasure as the high-speed lifts make your ears pop. Bring sweets. Yawn liberally.
  • The Starbucks franchise covers all corners of the earth. I strongly suspect they have spread to all nearby star systems.
  • Jet lag is a killer. As is the dawning realisation on your exit from Heathrow airport that the English weather is, frankly, rubbish.

More seriously, spending a few days talking to these guys taught us a thing or two about how to communicate with people when you don't speak their language:

  • Don't underestimate the people you're talking to - remember the issue is one of communication, not capability.
  • Explain things in simple, but not patronising terms - using colloquialisms or slang won't help. Remember that some phrases that are in common usage in the UK might well not translate: We spent two days using the word 'business partner' before realising that this had been misunderstood.
  • Use diagrams. "A picture is worth a thousand words" has never been truer.
  • Give it time: You might find you need to explore new ways to explain things in order to hit the right buttons. Talk around the subject a bit, go back to basics, find the hooks in their heads that will allow them to understand.
  • Find time to swap stories and compare cultures. Not only will this build rapport, but it'll help you to understand where your audience is coming from and what drives them.
  • Solicit feedback and encourage questions; you'll get a far better picture of your audience's level of understanding by allowing them to challenge and push back than you will by blindly blithering on at them for days on end.

Saturday, 8 March 2008

So what is service reuse anyway?

Keep climbing and you might just get some reuseJust read an post over at InfoWorld by David Linthicum. The central point of David's post is that reuse shouldn't be considered or advertised as the 'core value' of SOA. I totally agree with that, particularly as often, organisations still insist on setting up SOA projects, rather than changing the mindset and method of working to encourage the adoption of SOA across projects.

To me, half the problem with the reuse argument is that people don't have a clear understanding of what is meant by the term. Often, people consider that reuse is only achieved when a service has more than one consumer within the SOA at a point in time, but (to me) that's missing the point. An SOA is not a static environment; in a well managed organisation, it'll change almost continuously. To me, you're achieving some level of reuse whenever you fundamentally change a business process without having to re-hash all of its services, or you don't have to bother re-testing every combination of parameters to a complex business process because you know already that the services that underly it, which make all the hard decisions about someone's credit worthiness have been tested thoroughly already. You even get re-use whenever you say "Ah, well, we'll apply our standard grade message integrity policy to that service, so we know how to achieve that".

If you take this broader view (let's call it long-term reuse), then long-term reuse and agility become somewhat interchangeable concepts - you get agility through being able to reuse a service across two versions of the same process, by knowing that you've already tested a given service to death, and by not having to make complex technical design decisions each time you create a 'new' service.

So. I agree that the reuse should not be used as an advertising 'headline' for SOA, because in an advert (be it literal or spoken), you don't really have the time or bandwidth to get some of the subtleties of the above across. But in reality, over the medium term, I think we will find that the long-term reuse achieved (assuming for a moment you buy into my definition) is significantly higher than people currently expect.

The last point I'd make is this: If you design your services for immediate reuse, you will likely fail to achieve that re-use. If on the other hand, you design your services for change, and aggressively factor new functionality into them as new consumers require it, I suspect you'll find even 'point in time' reuse increases dramatically over the medium term.

Friday, 7 March 2008

iPhone Killer App: OmniFocus

I've been putting off buying an iPhone for months, as I've already got a mobile contract with Vodafone, and funnily enough, they're not too keen to let me out of it so that I can defect to the competition. However. But. My resolve is failing...

The Omni Group have just announced on their blog that they're intending to release an iPhone version of OmniFocus.

Despite my resistance, there is a 97.4% chance that on the day OmniFocus for iPhone is released, I'll be in the queue in my local O2 shop to pick up an iPhone. My life currently resides mainly within the Mac version of OmniFocus, and my main gripe with it is that taking my laptop out on the road is a real pain. What a joy it would be to be able to leave the thing at home and not forget to breathe in and out.

I'm practically salivating with Getting Things Done goodness, can you tell?