Thursday, September 06, 2012

It's a bazaar

I never really agreed with Eric Raymond's seminal work "The Cathedral and the Bazaar".  He was making the point that closed source software development takes place in a cathedral-like environment, i.e. hierarchical, whereas open source development was more like a bazaar where everyone is equal.  I can name quite a few open source projects that are hierarchical, complete with cult figures and religious fervour.   The mobile market though, now I can see Raymond's point.

Fear, Uncertainty, and Doubt (FUD) was a phrase I first heard relating to a certain purveyor of large blue mainframes.  It could equally apply to any large corporate player.  "No one ever got fired for choosing IBM" was a familiar phrase in the 1970s, replace IBM with Microsoft and that brings it up to date. 

But not in the mobile market.  Whereas corporates buy their IT systems based on measured evaluations and empirical evidence (and if you believe that you should not be in sales).  Mobile devices are as much bling as work-a-day tools.   The market has many more players, and lacks the religious loyalty familiar elsewhere.  Windows dominates the desktop; will Windows 8 penetrate the mobile market?   Microsoft is now selling in the bazaar.

Nokia's recent launch of their Lumia 920 has had reasonable reviews, it is early days and I'm not sure why Nokia's shares plummeted by 11% after the launch – what did the City expect?  Microsoft's shares were virtually unchanged.  Despite Nokia being closely familiar with Microsoft, several other manufacturers will offer Windows 8 telephones, including those also offering Android.  Microsoft cannot afford to turn away players like Samsung, but where does that leave Nokia?  Their new telephone has some interesting technical innovations, but I would love to see it running Android.  It won't take long for the competition to catch-up, but I don't find the idea of an electronic wallet appealing, with opportunities for NFC pick-pockets.

Windows has yet to get that critical mass required to make a Windows phone cool.  Meanwhile it has to shout against all the other traders in the bazaar.

All eyes now on Apple – with the attributes of the cathedral – and the iPhone 5.

Wednesday, September 05, 2012

The march of mobile

Those of you who reside on another planet might have missed the largest change to the IT industry since the release of the IBM PC – mobile computing. 

There are parallels with the mid-1980s.  Early versions of PC-DOS were dire, and so were the first few versions of Android.  There are lots of differences though; there is a solid, mature operating system at the heart of Android – Linux, whereas an even older BSD UNIX is the stable base of iOS and OSX, the Apple operating systems. 

The fight between UNIX-Linux-Windows is an old one and is continuing in the mobile market today, although the products are very different from the originals.

Comparing the approach of each supplier is interesting.  Apple does not license its software to anyone, and is the sole supplier of hardware.  This means they have complete control over everything from manufacture through marketing, sales and support, and even the programming language used for applications (ObjectiveC).  Software suppliers only have to test on a small range of hardware, and are closely controlled.

Google, who produce Android, have taken the Open Source route.  Linux, and other Open Source software, has long been a favourite of device manufacturers.  Why?  Because they are free to modify it to run effectively on their own devices.  Software components like telephony are usually proprietary and can be plugged into a modified Linux.  Most of Android is Open Source, and this enables even start-ups to be involved and encourages innovation.  The range of Android devices is huge, some software testers have a stash of over 400 devices on which to test their code, and that will have to expand with TVs and games consoles using Android more and more.

Android application development mostly uses Java.  Google have avoided issues with Oracle (who now own Java) by using their own runtime environment.  Anyone can produce applications for Android, on any subject, including some distinctly dodgy ones.

Unusually, Microsoft occupies a middle ground.  They are closely allied with Nokia, which Google described as "two turkeys don't make an eagle", yet many other manufacturers have licenses to produce Windows phones, including Samsung, the largest.  Whether the Windows 8 interface will appeal or not remains to be seen, but no one should underestimate Microsoft.  They only have about 3% of the mobile market right now, but this is an incredibly fast moving world.  Microsoft have several advantages: their user interface is familiar to most people for a start.  There have been mixed reviews of the UI for Windows 8, but can anyone remember a Windows Beta release that has been any different?  Not everything that Microsoft touches turns to gold, remember Vista, and their Windows CE attempts "also ran".

Microsoft Office dominates corporate office applications, yet none of the "compatibles" on Android are close.  That might change, there is certainly an opportunity for Adobe there, but in the short term Microsoft Office could be the killer app.  Personally I have doubts whether that monolith will perform well on mobile devices, but we shall see.  Hardware is getting more powerful day-by-day, with quad-cores on mobiles being the norm for high-end devices. 

The position of .Net as a development environment is interesting, in that it will run on all three operating systems using a layer called Mono.  This makes cross-platform development a possibility, and its performance compares favourably with Java, even on Android.

I have been working with Ian Wallington on producing an Android course "Developing Android Applications" (QAANDDEV), and we have been struck by how fast changing the environment is.  We have been in IT a long time and have worked in many environments between us, but the Android world takes some beating for the rate of change.  There is at least one new version of Android each year – that is not so different to iOS, but that is not the only variable.  Because development environments and tools come from different suppliers they are not co-ordinated with the Android release - changes and new products come at an astonishing rate.  Devices we bought at the start of this project six months ago are now uncool and out-of-date.  During the course development I had to scrap a chapter and start again because the development environment changed.   Ian has been trying to decipher the latest development techniques when there is little (accurate) documentation.  I have found books from usually reliable publishers to be out-of-date, even those published a few months ago, and full of bugs.

This dynamic environment shows no sign of slowing, the odd patent law-suite will just speed innovation to get around it.  We had better get used to it.   In my view (and remember that I'm biased) 20th century monolithic cultures like Apple and Microsoft will not be able to keep-up with this rate of change.  Google embraces the culture and is a true 21st century company, combining corporate muscle with community effort.  Our aim is to keep at the forefront of this pace so we can help our clients exploit the benefits, regardless of which platform they decide on.