Who'd be an early adopter?
In the aviation industry the test pilots get danger money (and the love of the airline's vice-president according to Green Lantern comics). In the chemical industry early adoption is only ever inflicted on animals. But in the world of software, geeks just love playing guinea pig; they will eat each other for a sniff of new technology.
This is nothing to do with 'cool'. It's not like the music industry's early adopters; who instantly go off a band they've raved about as soon as they 'sell out' by getting a song on the radio. It's computer software, it's the antithesis of cool. Don't get me wrong, I make my living as a programmer, and I love what I do, but it doesn't matter how many times you've re-read Neuromancer, computer programming still isn't cool. And the early adoption urge is what separates geek from uber-geek. There is kudos in certain circles if you are one of the first to have installed Linux 2.6. These aren't circles most people would admit to moving in though.
But the early adoptors provide a great service to the developer community. They are the only ones crazy enough to leap in at the deep-end, into muddy waters. When an early adopter encounters a bug, they can't just google it, they have to come up with the work-around themselves – and then hopefully write it up on their blog so the normals can google it when they get to that point six months later. But for what? What is their reward for fearless wrestling with half finished software?
These are the thoughts that have been going through my head the last few months playing with the Flash 9 Alpha, trying to get a head start on ActionScript 3, with nothing but online documentation and the blogs of even earlier adopters than me to help. And they are the thoughts I have been having this week bashing my head against the Alpha of Adobe's Apollo.
So now Apollo is out as a "Public Alpha", along with Flash 9, which has been in Alpha for the last 6 months but is due for release any day now. In the case of Flash 9 I simply couldn't wait for ActionScript 3. I had been designing a Flash isometric 3d game engine, and it just seemed daft to build it in AS2 when a radical rewrite of the language was just around the corner. My need for Apollo was not as pressing, but I started looking at it because of O'Reilly, the tech book people, who have just published Apollo For Adobe Flex Developers Pocket Guide.
It's very unusual for literature of any kind to accompany an Alpha release, especially technical writing of the quality we have come to expect from O'Reilly. And this is, I believe, the first time they have released a book devoted to so young a technology. The reason this book, along with the forthcoming ActionScript 3 Pocket Guide, are out so soon is because O'Reilly now has a partnership with Adobe. But it may also be a reflection of the demand for this breaking technology.
The Apollo Pocket Guide is a gentle introduction and a very quick read, just about enough to get you started and give you the idea – which is all you should expect from an Alpha release really. If you want the Definitive Guide at this stage you're going to have to start writing it yourself (and I'm sure O'Reilly would love to hear from you). Even so, after many tedious early adoption adventures in the past, I really appreciated having this book in my hand, like a sturdy rudder to grasp through unfamiliar waters.
But I soon encountered the one big problem with a book written this early in the software development cycle – it can't anticipate the bugs that are pretty much expected with an Alpha release. For this reason, even with a sturdy rudder, I found myself hopelessly ran aground less than a third of the way through. My installation of the Alpha couldn't even create a basic "Hello World" application without a string of bugs. And trying to get any kind of support from Adobe for an Alpha release seems very difficult; they don't welcome email and their forums are, understandably, much heavier on questions than answers. The Pocket Guide doesn't have a chapter on troubleshooting unfortunately, which is unsurprising for such a rush release, but troubleshooting is typically a significant part of the Alpha experience.
It is not O'Reilly's fault that the Apollo Alpha is not sturdy enough to justify this book. But it makes me wonder what the point of Adobe's "Public" Alphas are in the first place, when it is nigh on impossible to feed back any experience to Adobe which might improve future versions of the product. But I suppose I already know the answer to that one. It is because we masochistic early adopters demand it, and so we will hopefully start blogging these bug fixes in plenty of time before the paying customers get there.