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.