Sunday, 30 June 2013
RPi on 19" rach mount chassis testing notes
Now I am testing the RPi with Guzunty Pi. I uploaded the gz_test.xsvf, then executed the gztest.o. Everything went smoothly. The LEDs toggle as expected. So the following should be OK.
1. JTAG connection.
2. SPI connection.
3. CLK0 signal.
.END
*** Guzunty Pi record ***
login as: pi
pi@192.168.1.40's password:
Linux raspberrypi 3.6.11+ #464 PREEMPT Thu Jun 6 18:17:55 BST 2013 armv6l
...
pi@raspberrypi ~ $ cd Guzunty
pi@raspberrypi ~/Guzunty $ cd Pi
pi@raspberrypi ~/Guzunty/Pi $ cd src
pi@raspberrypi ~/Guzunty/Pi/src $ cd gz_test
pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ sudo gz_load gz_test.xsvf
Guzunty loader v5.01, portions courtesy Xilinx, Inc.
XSVF file = gz_test.xsvf
SUCCESS - Completed XSVF execution.
Execution Time = 10.510 seconds
pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ sudo ./gz_test
Press any key to stop test.
pi@raspberrypi ~/Guzunty/Pi/src/gz_test $ date Sun Jun 30 09:19:20 UTC 2013
.END
Wifi dongle testing notes
Now I am mounting an RPi and a signal routing and basic IO testing module on a long proto board, which will be mounted on a 1U 19" rack mount chassis.
When testing, I found one WiFi dongle not working. The other 2 are OK. I guess this bad guy is just sensitive to something I don't know.
.END
Saturday, 29 June 2013
Raspbian vs Android - By David Hayward
Raspberry Pi operating systems: 5 reviewed and rated - By David Hayward from Linux Format Issue 169 May 9th 2003 TechRadar Pro News
http://www.techradar.com/news/software/operating-systems/raspberry-pi-operating-systems-5-reviewed-and-rated-1147941
The best Raspberry Pi distros around
Related stories
Supercharge your Raspberry Pi
How to stream files from Raspberry Pi to a smartphone
8 great Raspberry Pi projects created by kids
The Raspberry Pi phenomenon appears to go from strength to strength; like a runaway train, it's ploughing ahead and forging itself a place in the record books.
It's hardly surprising - the hardware alone is developed perfectly for the goals of the Raspberry Pi Foundation, the pricing is pitched perfectly, and having the unique versatility of Linux as the operating system seals the deal nicely.
Most buyers, once they get their hands on their new RPi, make a move towards the official Raspberry Pi site and follow the getting started instructions therein; the end result is the user running Raspbian "Wheezy", the Foundation's recommended operating system, creating, learning and programming, and strapping the poor wee beast onto a weather balloon and sending it to the outer edge of the atmosphere.
Raspberry Pi tutorial: how to do more
What many RPi users don't realise, though, is that there's a wealth of other operating systems available for their beloved Pi. We thought, therefore, that those users who aren't aware of these other sweet toppings for the Raspberry Pi need to be informed, and what's more, they need to have a chocolate box selection presented to them.
How we tested...
The Raspberry Pi comes in two major flavours these days: the original 'B' model version 1, which has 256MB of memory, and the much newer model 'B' version 2, which now comes with 512MB. Therefore, to get a true all-round perspective, we took the time to install the operating systems on a 4GB SD card on both the new 512MB, and the older 256MB model Bs.
The areas we're looking at are installation, default software, media playback (out-of-the-box), looks and usability, the community behind the OS and their respective attitudes toward software freedom.
Basically, the very stuff that makes a Linux user decide on what system to use.
We also want to gauge this from the point of view of someone who's not as familiar with Linux as others are, so they can jump into the project without too much hassle, and not end up leaving it feeling disheartened.
Our selection
Raspbian
Risc OS
Plan 9
Android
Arch
Installation
Do you need a PhD to install the OS?
The installation of an operating system image is fairly well documented, as per the area on the Raspberry Pi site titled 'Guide for beginners', along with the simple installation routine of using either dd on Linux, or Win32DiskImager on Windows, to transfer the image to the SD card.
The process is relatively painless, it's what happens after you insert the SD into Raspberry Pi and apply some power that the fun starts.
Of the five operating systems we tested, Raspbian, Risc OS, Arch, Android 2.3 and Plan 9 each have their own particular nuances, and methods by which to 'install' and provide the user with a base working graphical desktop. While having a GUI isn't absolutely necessary, it does cover the large percentage of users who are new to Linux.
That being the case, the definition of 'installation' must include getting to the point whereby the new user can recognise the operating system as they would a standard Linux desktop - in other words be presented with a graphical user interface.
In a world where easing the user into the bath water of Linux is paramount, Raspbian did once sit atop the first-place podium, but the other offerings have just as good a start for the user. Take Risc OS, for example; once transferred to the SD card and booted, we are rapidly launched into a colourful and friendly GUI, with relatively detailed messages informing us of any issues during the initial boot and setup. From here, we can simply click on the Configure icon and begin to alter any settings we see fit.
Arch Linux for the RPi is a different beast, booting the user into a Terminal environment and leaving them to download, install and configure their OS. Arch, once fully appreciated, is one of the best operating systems available, but it takes some tweaking to get to the normalised desktop.
The current Android for the RPi project is beginning to shape up; when booted, you'll be presented with the official Android unlock screen, and behind that the interface we all know and (sometimes) love. It's still a little buggy, crashes a fair bit and is extremely slow, almost to the point of being unusable on the 256MB RPis - 512MB versions fair slightly better.
Plan 9 delivers a GUI that's effective, but has a steeper learning curve, although it's well documented.
Raspbian offers a text-based menu on boot. Users can configure the system, enable SSH and boot automatically into the user-friendly LXDE GUI. We would recommend Raspbian for the beginner, followed by Risc OS, and Arch as they become more familiar with Linux and its workings.
Verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 3/5
Android - 3/5
Arch - 2/5
Default software
What's in the box for the sweet-toothed Pi user?
The software that you get for each Raspberry Pi operating system varies greatly, but what you do get out-of-the-box can often be the single biggest selling point for the system. We shouldn't expect anything too complex, though, after all this is an operating system running from an SD card and being delivered by a credit card-sized computer with minimal (compared with a desktop system) resources available.
While the likes of an office product and full multimedia and graphics editing packages are the norm on a standard distro, we were quite pleased with what we got from our selection of RPi operating systems.
Raspbian leads the way here, with default software - as would be expected - but Risc OS isn't too far behind it - and, incidentally, if you opt for an additional £35 payment for the NutPi Pack, then you'll be offered a fully-working Raspberry Pi desktop, complete with office software, internet browsers, messaging and so on.
Arch, as we previously mentioned, brings you to the Terminal, but if you know your Terminal commands you'll be able to achieve a result that's almost the same as the desktop. However, matching Raspbian takes us out of the default software realm.
Android was the surprise here, with a decent selection of media-ready software, but no office-based apps. For some reason, we expected the RPi Android project to be devoid of apps, so we were quite shocked to see the usual suspects present.
Plan 9, however, was quite bleak. Once we broke through the desktop environment, Rio, we found little to work with effectively - especially so for the newcomer.
Verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 4/5
Android - 3/5
Arch - 2/5
Looks and usability
Looks and usability aren't everything. Oh yes they are!
Desktop eye-candy remains something of a guilty pleasure for most Linux users. Despite convincing the world that the operating system is a lean and mean machine, the user then goes and installs 3D rotating desktop objects, on-screen fire, Conky-esque dials and all manner of glitz and glam. It's a personal thing, and regardless of the toll taken on the resources, we like a bit of glitz on our desktops.
Of course, there comes a point whereby nice graphical desktops forsake the usability of the system - remember Vista, anyone? So while each of these RPi operating systems has the potential to be drop-dead gorgeous, there's a trade-off due to the low resources the RPi has available.
Looking at each of the OSes from humble beginnings to what can be achieved with a little work, we're sure you'll find a nice compromise with the selection offered.
Raspbian - 5/5
From the outset, Raspbian gives the user a bland, but functional desktop. Using Xfce as the desktop environment means the RPi's resources are kept well in hand, and not wasted on inefficient eye-candy.
However, Raspbian being a Debian-based distro means that the desktop can be altered to significant effect. The likes of Mate for Raspbian can be installed, giving the desktop the same look and feel as a classic Gnome 2 environment, which means you can then go forth and tweak it to your heart's content.
In terms of usability, Raspbian flies ahead of the pack initially, but a trigger-happy user may get carried away with the apt command, install hundreds of programs and make the OS start to feel like a pig in treacle.
Arch - 4/5
Arch is a funny one. It starts life on the RPi, displaying nothing more than the Terminal; but if you take the time to delve into the depths of Arch, you'll come across one of the best operating systems there is.
Arch, by its very nature, is a streamlined OS, and even after installing a desktop environment such as OpenBox, the system responds quickly. In terms of looks, if you combine OpenBox with a Raspberry Pi theme and Conky, you're well on the way to a very pleasing desktop.
Again, as with the looks side of things, Arch's usability is all down to what you want to install, which makes Arch - eventually - the most configurable and usable OS. A few installed packages, and you'll have Arch running like a charm and running rings around its bigger, fatter brother, Raspbian.
Android - 3/5
Android 2.3 in itself is a pretty good-looking operating system. Decent animations, high-spec icons, themes, animated wallpapers and desktops make for an eye-catching environment. When used on the Raspberry Pi, though, things tend to go a little awry.
The current Android project for the RPi is far from perfect, but it's a project that will be completed, and one that will eventually outshine the others - we're just not sure when exactly.
In its current guise, working on the 256MB RPi, it's borderline unusable, but the increased RAM of the 512MB RPi can make things a tad better. It's still not something you could use day-to-day, but keep an eye on the project, as it'll soon come to the forefront of RPi news.
Risc OS - 4/5
Risc OS, like Raspbian, takes you into a nice GUI at startup. The Risc OS GUI is a well laid out, and colourful environment; it's also a nice change to have an environment boot to 1080, providing your monitor can cope with that resolution.
In terms of looks, the base desktop is probably all you'll ever need; it resembles the glorious past that Risc revels in, making it feel a little retro, but not in a poor-quality, 8-bit kind of way. In the usability stakes, Risc OS starts off a little niche, requiring some previous experience to get off the ground.
For example, the Ethernet port is disabled by default - there are full instructions on how to enable it, but doing so could put off a newcomer. However, perseverance, as with most aspects of computing, is the key and we can guarantee that within an hour of first use, you'll be navigating Risc OS like a pro.
Plan 9 - 2/5
If you've used Windows, Mac OSX, Linux or even Unix then forget everything you thought you ever knew when using Plan 9. Although the commands are familiar, getting to them is something of a task.
Unfortunately, the level of understanding here represents a rather steep learning curve, which makes it a little awkward to get off the ground; but there is plenty of documentation out there.
Rio, the Plan 9 windowing system, looks and feels like a step back to the old Amiga and Atari ST days, as the façade is nearly the same. It does take some getting used to, and it's quite easy to become overwhelmed by the sheer amount of reading material, but as we've stated many times already, keep going and you'll soon discover a rather pleasing desktop that's simple, elegant and flies at a rate of knots.
The community
Like Eastenders, but without the violence, affairs, deaths…
If there's one thing that makes Linux stand out as the operating system of the people, it's the community. Made up of individuals who are willing to help, share and promote their favourite operating system, the Linux community is a place where the new can learn, and the experienced can pass on their knowledge. There are also a significant number of trolls and idiots, but you get them in every walk of life.
Raspbian and Arch have the biggest communities. Raspbian especially, as the prime focus of the forum on the Raspberry Pi site is dedicated to the working of Raspbian. Arch, though, has a following that almost rivals it - and it's growing, as the user-base comes to terms with different OSes for RPi.
The Raspberry Pi Android project is gathering pace, with more and more users beginning to look at the potential of the port to the RPi, but it's a little bleak at present.
Risc OS, which has a following of Acorn users from many years back, hosts a vibrant community. Plan 9 for the RPi may be newer, but its followers have detailed and documented many help files online since its initial release back in 1992.
Most of the community offerings can be found on the respective OS sites, but take the time to browse through the Raspberry Pi forum to find what you're looking for; if you are stuck, don't be afraid to ask - the users on the RPi forum are a good bunch, and more than willing to help out a newcomer or more advanced user.
Verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 3/5
Android - 2/5
Arch - 3/5
Suitability for children
How user-friendly are they?
The Raspberry Pi has, as we all know, endeared itself to the next generation of computing wizards, but how usable are our selection of operating systems? It's all fine and well offering the next generation the tools to become more experimental with computing, but if the task of getting the hardware talking to the user in a human way becomes too difficult, then those users could well leave the project and never return.
In this instance, we're targeting the younger generation, and how they will cope with the OSes on test. For this, we recruited an 11-year-old and a 10-year old, Daniel and Hannah, to set up the operating systems for us.
Raspbian and Risc OS came out on top, being easy to get up and running and use. Android left a bad taste in their mouths, as did poor old Plan 9. Arch drew blank looks that brightened up after a bit of work.
In the words of Daniel, "Raspbian rules!", whereas Hannah enjoyed the look and feel of Risc OS, "Risc OS looks much nicer." There we have it. The youth of today hath spoken!
Verdict
Raspbian - 5/5
Risc OS - 5/5
Plan 9 - 2/5
Android - 2/5
Arch - 3/5
Media playback
Having a tiny media centre is OK, but does it play from the word go?
Media playback is contentious in Linux. Some distros provide the latest codecs and software, others don't. The beauty is you are free to download and install your preferred player, and tweak it to your needs. But how will our selection of chosen OSes cope with media out-of-the-box?
Android was the surprise OS, with a decent playback of our HD movie. Unfortunately, playback stopped two minutes in and refused to go any further on the 256MB RPi. Amazingly, this occurred to the point whereby we had to re-image the SD card as Android refused to boot.
The 512MB version fared better, but the video stopped after 15 minutes. The video was viewable, although during camera panning there were cuts and tears, but we figured that to be the limits of the default state of the OS. MP3 playback was as good as you're going to get through the audio port, But the 256MB model was almost impossible to get running in anything resembling a decent media device.
Raspbian didn't have anything to play the movie or MP3s on by default, which is unfortunate as the inclusion of OMXplayer wouldn't break the bank in terms of size. We will grant you that one of the goals of the Raspberry Pi is the users' foray into the world of open source, Linux and so on, and that by learning to use the Terminal and software repositories the user gains a better understanding of the environment they are working in.
Risc OS didn't do much better - both the movie and the MP3 failed to load up, as it did on Plan 9. Although both Risc OS and Plan 9 can make very good media viewers, the default software isn't able to open the most common modern media - but with some tweaking, downloading and installing they can.
Arch is exactly the same. It boots into the Terminal, so there's little hope of getting anything graphical to work out of the box. Arch can be made into an amazing media box, but the learning curve needed may put off the inexperienced.
Verdict
Raspbian - 4/5
Risc OS - 3/5
Plan 9 - 3/5
Android - 2/5
Arch - 2/5
Attitudes toward software
They may take our OSes, but they can't take our freedom!
All of the operating systems tested here have their source code available from either their respective home pages, or other sources relating to the OS itself; so in essence they are all free, and will most likely continue to be so unless - of course - things change, in which case the community would most likely be up in arms in a matter of seconds.
Risc OS for the Raspberry Pi is open source, version 5.19, and the code is maintained by a voluntary group; but the latest version of Risc OS 6 requires the user to sign up for the Select scheme at £99 per year, and is wholly proprietary software, with no public access to the Risc OS 6 source code.
Plan 9, Arch, Android and Raspbian, as we all know, are free to manipulate, install and develop on, as per the ethos of Linux as a whole, and the Raspberry Pi Foundation.
The overall attitudes to software freedom from the collective projects are one and the same, in many respects; the enhancement, further education and use of each of the projets is in accordance with the various regulatory thoughts and aspirations of the open source community, and those managing it.
It's a bit of a difficult test to grapple with, the verdict will see each score the full five stars, as each is free and the attitudes are those of freedom. It's unfair to label Risc OS as being lax in the open source arena because of the closed nature of Risc OS 6, as the community behind the open 5.19 for the RPi is willing and more than able to manage the free software aspect.
Verdict
Raspbian - 5/5
Risc OS - 5/5
Plan 9 - 5/5
Android - 5/5
Arch - 5/5
The verdict
Of all the operating systems we looked at here, Raspbian comes out on top as being the most usable, best-looking, having the best range of default software and so on; but the others are snapping at the heels of the Foundation's OS of choice.
For the newcomer, Raspbian is indeed the starting point for their journey, not only into the wonderful world of the Raspberry Pi itself, but also their first steps into the big, wide world of Linux and alternative operating systems. However, once the newcomer is au fait with the intricacies of the operating system, and how the RPi works, then there's a very solid chance that they will instead install the likes of Arch, Risc OS or Plan 9 to become their main OS for the Raspberry Pi.
Android for the RPi is certainly an interesting project, and one that will no doubt end up being one of the main distributions for the RPi, but there's still some work needed, and in all truth the Raspberry Pi is nowhere near as powerful a device as the latest crop of Android-powered smart devices.
Power to the people
Power being the limiting factor here, the likes of Arch and Plan 9 will come into their own. Their minimalistic, and streamlined systems mean that the RPi will tear along without ever hitting the upper limit of the available resources, whereas Raspbian could end up being a very bloated beast if it's not managed accordingly. Should the Foundation ever produce a significantly more powerful unit, then the wealth of operating systems available will no doubt triple overnight.
However, the problem therein lies with the cost of such a unit. At the moment, the £25 price is what's so endearing about the RPi project - with more oomph comes more cost, generally speaking, so at present we have it pretty good with the current batch of operating systems available.
As the title suggests, there's no competition here; there's merely the chance for a user to try out their Raspberry Pi, install an OS, use it to their heart's content, learn from it, and - like Linux - evolve into their own custom way of doing things. So while Raspbian scores the top marks, bear in mind the other operating systems represent a project that's standing by, ready for the individual to enjoy and experiment with.
Final verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 2/5
Android - 2/5
Arch - 3/5
Also consider...
If these operating systems hold little interest for you, then consider PiBang, a Linux distribution inspired by the popular Crunchbang Linux. With an excellent use of Openbox, Tint2 and Nitrogen, PiBang not only looks amazing, it's also a fast, fluid and stable environment.
PiBang includes OMXplayer and VLC, but as stated on the PiBang site, "VLC does not currently play videos to a watchable level on the Raspberry Pi, it is installed for testing and for audio playing."
PiBang offers a full desktop environment, so the educational software has been removed in favour of Abiword, Conky, Gimp and so on. It uses the same software sources as Raspbian, so there's added compatibility. In fact, if PiBang had been included in the operating systems on test here, there's a chance it would have won. Why wasn't it included? Well, it's an OS that hasn't stood out from the crowd yet. Why, we're not quite sure, as it's very, very good.
.END
http://www.techradar.com/news/software/operating-systems/raspberry-pi-operating-systems-5-reviewed-and-rated-1147941
The best Raspberry Pi distros around
Related stories
Supercharge your Raspberry Pi
How to stream files from Raspberry Pi to a smartphone
8 great Raspberry Pi projects created by kids
The Raspberry Pi phenomenon appears to go from strength to strength; like a runaway train, it's ploughing ahead and forging itself a place in the record books.
It's hardly surprising - the hardware alone is developed perfectly for the goals of the Raspberry Pi Foundation, the pricing is pitched perfectly, and having the unique versatility of Linux as the operating system seals the deal nicely.
Most buyers, once they get their hands on their new RPi, make a move towards the official Raspberry Pi site and follow the getting started instructions therein; the end result is the user running Raspbian "Wheezy", the Foundation's recommended operating system, creating, learning and programming, and strapping the poor wee beast onto a weather balloon and sending it to the outer edge of the atmosphere.
Raspberry Pi tutorial: how to do more
What many RPi users don't realise, though, is that there's a wealth of other operating systems available for their beloved Pi. We thought, therefore, that those users who aren't aware of these other sweet toppings for the Raspberry Pi need to be informed, and what's more, they need to have a chocolate box selection presented to them.
How we tested...
The Raspberry Pi comes in two major flavours these days: the original 'B' model version 1, which has 256MB of memory, and the much newer model 'B' version 2, which now comes with 512MB. Therefore, to get a true all-round perspective, we took the time to install the operating systems on a 4GB SD card on both the new 512MB, and the older 256MB model Bs.
The areas we're looking at are installation, default software, media playback (out-of-the-box), looks and usability, the community behind the OS and their respective attitudes toward software freedom.
Basically, the very stuff that makes a Linux user decide on what system to use.
We also want to gauge this from the point of view of someone who's not as familiar with Linux as others are, so they can jump into the project without too much hassle, and not end up leaving it feeling disheartened.
Our selection
Raspbian
Risc OS
Plan 9
Android
Arch
Installation
Do you need a PhD to install the OS?
The installation of an operating system image is fairly well documented, as per the area on the Raspberry Pi site titled 'Guide for beginners', along with the simple installation routine of using either dd on Linux, or Win32DiskImager on Windows, to transfer the image to the SD card.
The process is relatively painless, it's what happens after you insert the SD into Raspberry Pi and apply some power that the fun starts.
Of the five operating systems we tested, Raspbian, Risc OS, Arch, Android 2.3 and Plan 9 each have their own particular nuances, and methods by which to 'install' and provide the user with a base working graphical desktop. While having a GUI isn't absolutely necessary, it does cover the large percentage of users who are new to Linux.
That being the case, the definition of 'installation' must include getting to the point whereby the new user can recognise the operating system as they would a standard Linux desktop - in other words be presented with a graphical user interface.
In a world where easing the user into the bath water of Linux is paramount, Raspbian did once sit atop the first-place podium, but the other offerings have just as good a start for the user. Take Risc OS, for example; once transferred to the SD card and booted, we are rapidly launched into a colourful and friendly GUI, with relatively detailed messages informing us of any issues during the initial boot and setup. From here, we can simply click on the Configure icon and begin to alter any settings we see fit.
Arch Linux for the RPi is a different beast, booting the user into a Terminal environment and leaving them to download, install and configure their OS. Arch, once fully appreciated, is one of the best operating systems available, but it takes some tweaking to get to the normalised desktop.
The current Android for the RPi project is beginning to shape up; when booted, you'll be presented with the official Android unlock screen, and behind that the interface we all know and (sometimes) love. It's still a little buggy, crashes a fair bit and is extremely slow, almost to the point of being unusable on the 256MB RPis - 512MB versions fair slightly better.
Plan 9 delivers a GUI that's effective, but has a steeper learning curve, although it's well documented.
Raspbian offers a text-based menu on boot. Users can configure the system, enable SSH and boot automatically into the user-friendly LXDE GUI. We would recommend Raspbian for the beginner, followed by Risc OS, and Arch as they become more familiar with Linux and its workings.
Verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 3/5
Android - 3/5
Arch - 2/5
Default software
What's in the box for the sweet-toothed Pi user?
The software that you get for each Raspberry Pi operating system varies greatly, but what you do get out-of-the-box can often be the single biggest selling point for the system. We shouldn't expect anything too complex, though, after all this is an operating system running from an SD card and being delivered by a credit card-sized computer with minimal (compared with a desktop system) resources available.
While the likes of an office product and full multimedia and graphics editing packages are the norm on a standard distro, we were quite pleased with what we got from our selection of RPi operating systems.
Raspbian leads the way here, with default software - as would be expected - but Risc OS isn't too far behind it - and, incidentally, if you opt for an additional £35 payment for the NutPi Pack, then you'll be offered a fully-working Raspberry Pi desktop, complete with office software, internet browsers, messaging and so on.
Arch, as we previously mentioned, brings you to the Terminal, but if you know your Terminal commands you'll be able to achieve a result that's almost the same as the desktop. However, matching Raspbian takes us out of the default software realm.
Android was the surprise here, with a decent selection of media-ready software, but no office-based apps. For some reason, we expected the RPi Android project to be devoid of apps, so we were quite shocked to see the usual suspects present.
Plan 9, however, was quite bleak. Once we broke through the desktop environment, Rio, we found little to work with effectively - especially so for the newcomer.
Verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 4/5
Android - 3/5
Arch - 2/5
Looks and usability
Looks and usability aren't everything. Oh yes they are!
Desktop eye-candy remains something of a guilty pleasure for most Linux users. Despite convincing the world that the operating system is a lean and mean machine, the user then goes and installs 3D rotating desktop objects, on-screen fire, Conky-esque dials and all manner of glitz and glam. It's a personal thing, and regardless of the toll taken on the resources, we like a bit of glitz on our desktops.
Of course, there comes a point whereby nice graphical desktops forsake the usability of the system - remember Vista, anyone? So while each of these RPi operating systems has the potential to be drop-dead gorgeous, there's a trade-off due to the low resources the RPi has available.
Looking at each of the OSes from humble beginnings to what can be achieved with a little work, we're sure you'll find a nice compromise with the selection offered.
Raspbian - 5/5
From the outset, Raspbian gives the user a bland, but functional desktop. Using Xfce as the desktop environment means the RPi's resources are kept well in hand, and not wasted on inefficient eye-candy.
However, Raspbian being a Debian-based distro means that the desktop can be altered to significant effect. The likes of Mate for Raspbian can be installed, giving the desktop the same look and feel as a classic Gnome 2 environment, which means you can then go forth and tweak it to your heart's content.
In terms of usability, Raspbian flies ahead of the pack initially, but a trigger-happy user may get carried away with the apt command, install hundreds of programs and make the OS start to feel like a pig in treacle.
Arch - 4/5
Arch is a funny one. It starts life on the RPi, displaying nothing more than the Terminal; but if you take the time to delve into the depths of Arch, you'll come across one of the best operating systems there is.
Arch, by its very nature, is a streamlined OS, and even after installing a desktop environment such as OpenBox, the system responds quickly. In terms of looks, if you combine OpenBox with a Raspberry Pi theme and Conky, you're well on the way to a very pleasing desktop.
Again, as with the looks side of things, Arch's usability is all down to what you want to install, which makes Arch - eventually - the most configurable and usable OS. A few installed packages, and you'll have Arch running like a charm and running rings around its bigger, fatter brother, Raspbian.
Android - 3/5
Android 2.3 in itself is a pretty good-looking operating system. Decent animations, high-spec icons, themes, animated wallpapers and desktops make for an eye-catching environment. When used on the Raspberry Pi, though, things tend to go a little awry.
The current Android project for the RPi is far from perfect, but it's a project that will be completed, and one that will eventually outshine the others - we're just not sure when exactly.
In its current guise, working on the 256MB RPi, it's borderline unusable, but the increased RAM of the 512MB RPi can make things a tad better. It's still not something you could use day-to-day, but keep an eye on the project, as it'll soon come to the forefront of RPi news.
Risc OS - 4/5
Risc OS, like Raspbian, takes you into a nice GUI at startup. The Risc OS GUI is a well laid out, and colourful environment; it's also a nice change to have an environment boot to 1080, providing your monitor can cope with that resolution.
In terms of looks, the base desktop is probably all you'll ever need; it resembles the glorious past that Risc revels in, making it feel a little retro, but not in a poor-quality, 8-bit kind of way. In the usability stakes, Risc OS starts off a little niche, requiring some previous experience to get off the ground.
For example, the Ethernet port is disabled by default - there are full instructions on how to enable it, but doing so could put off a newcomer. However, perseverance, as with most aspects of computing, is the key and we can guarantee that within an hour of first use, you'll be navigating Risc OS like a pro.
Plan 9 - 2/5
If you've used Windows, Mac OSX, Linux or even Unix then forget everything you thought you ever knew when using Plan 9. Although the commands are familiar, getting to them is something of a task.
Unfortunately, the level of understanding here represents a rather steep learning curve, which makes it a little awkward to get off the ground; but there is plenty of documentation out there.
Rio, the Plan 9 windowing system, looks and feels like a step back to the old Amiga and Atari ST days, as the façade is nearly the same. It does take some getting used to, and it's quite easy to become overwhelmed by the sheer amount of reading material, but as we've stated many times already, keep going and you'll soon discover a rather pleasing desktop that's simple, elegant and flies at a rate of knots.
The community
Like Eastenders, but without the violence, affairs, deaths…
If there's one thing that makes Linux stand out as the operating system of the people, it's the community. Made up of individuals who are willing to help, share and promote their favourite operating system, the Linux community is a place where the new can learn, and the experienced can pass on their knowledge. There are also a significant number of trolls and idiots, but you get them in every walk of life.
Raspbian and Arch have the biggest communities. Raspbian especially, as the prime focus of the forum on the Raspberry Pi site is dedicated to the working of Raspbian. Arch, though, has a following that almost rivals it - and it's growing, as the user-base comes to terms with different OSes for RPi.
The Raspberry Pi Android project is gathering pace, with more and more users beginning to look at the potential of the port to the RPi, but it's a little bleak at present.
Risc OS, which has a following of Acorn users from many years back, hosts a vibrant community. Plan 9 for the RPi may be newer, but its followers have detailed and documented many help files online since its initial release back in 1992.
Most of the community offerings can be found on the respective OS sites, but take the time to browse through the Raspberry Pi forum to find what you're looking for; if you are stuck, don't be afraid to ask - the users on the RPi forum are a good bunch, and more than willing to help out a newcomer or more advanced user.
Verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 3/5
Android - 2/5
Arch - 3/5
Suitability for children
How user-friendly are they?
The Raspberry Pi has, as we all know, endeared itself to the next generation of computing wizards, but how usable are our selection of operating systems? It's all fine and well offering the next generation the tools to become more experimental with computing, but if the task of getting the hardware talking to the user in a human way becomes too difficult, then those users could well leave the project and never return.
In this instance, we're targeting the younger generation, and how they will cope with the OSes on test. For this, we recruited an 11-year-old and a 10-year old, Daniel and Hannah, to set up the operating systems for us.
Raspbian and Risc OS came out on top, being easy to get up and running and use. Android left a bad taste in their mouths, as did poor old Plan 9. Arch drew blank looks that brightened up after a bit of work.
In the words of Daniel, "Raspbian rules!", whereas Hannah enjoyed the look and feel of Risc OS, "Risc OS looks much nicer." There we have it. The youth of today hath spoken!
Verdict
Raspbian - 5/5
Risc OS - 5/5
Plan 9 - 2/5
Android - 2/5
Arch - 3/5
Media playback
Having a tiny media centre is OK, but does it play from the word go?
Media playback is contentious in Linux. Some distros provide the latest codecs and software, others don't. The beauty is you are free to download and install your preferred player, and tweak it to your needs. But how will our selection of chosen OSes cope with media out-of-the-box?
Android was the surprise OS, with a decent playback of our HD movie. Unfortunately, playback stopped two minutes in and refused to go any further on the 256MB RPi. Amazingly, this occurred to the point whereby we had to re-image the SD card as Android refused to boot.
The 512MB version fared better, but the video stopped after 15 minutes. The video was viewable, although during camera panning there were cuts and tears, but we figured that to be the limits of the default state of the OS. MP3 playback was as good as you're going to get through the audio port, But the 256MB model was almost impossible to get running in anything resembling a decent media device.
Raspbian didn't have anything to play the movie or MP3s on by default, which is unfortunate as the inclusion of OMXplayer wouldn't break the bank in terms of size. We will grant you that one of the goals of the Raspberry Pi is the users' foray into the world of open source, Linux and so on, and that by learning to use the Terminal and software repositories the user gains a better understanding of the environment they are working in.
Risc OS didn't do much better - both the movie and the MP3 failed to load up, as it did on Plan 9. Although both Risc OS and Plan 9 can make very good media viewers, the default software isn't able to open the most common modern media - but with some tweaking, downloading and installing they can.
Arch is exactly the same. It boots into the Terminal, so there's little hope of getting anything graphical to work out of the box. Arch can be made into an amazing media box, but the learning curve needed may put off the inexperienced.
Verdict
Raspbian - 4/5
Risc OS - 3/5
Plan 9 - 3/5
Android - 2/5
Arch - 2/5
Attitudes toward software
They may take our OSes, but they can't take our freedom!
All of the operating systems tested here have their source code available from either their respective home pages, or other sources relating to the OS itself; so in essence they are all free, and will most likely continue to be so unless - of course - things change, in which case the community would most likely be up in arms in a matter of seconds.
Risc OS for the Raspberry Pi is open source, version 5.19, and the code is maintained by a voluntary group; but the latest version of Risc OS 6 requires the user to sign up for the Select scheme at £99 per year, and is wholly proprietary software, with no public access to the Risc OS 6 source code.
Plan 9, Arch, Android and Raspbian, as we all know, are free to manipulate, install and develop on, as per the ethos of Linux as a whole, and the Raspberry Pi Foundation.
The overall attitudes to software freedom from the collective projects are one and the same, in many respects; the enhancement, further education and use of each of the projets is in accordance with the various regulatory thoughts and aspirations of the open source community, and those managing it.
It's a bit of a difficult test to grapple with, the verdict will see each score the full five stars, as each is free and the attitudes are those of freedom. It's unfair to label Risc OS as being lax in the open source arena because of the closed nature of Risc OS 6, as the community behind the open 5.19 for the RPi is willing and more than able to manage the free software aspect.
Verdict
Raspbian - 5/5
Risc OS - 5/5
Plan 9 - 5/5
Android - 5/5
Arch - 5/5
The verdict
Of all the operating systems we looked at here, Raspbian comes out on top as being the most usable, best-looking, having the best range of default software and so on; but the others are snapping at the heels of the Foundation's OS of choice.
For the newcomer, Raspbian is indeed the starting point for their journey, not only into the wonderful world of the Raspberry Pi itself, but also their first steps into the big, wide world of Linux and alternative operating systems. However, once the newcomer is au fait with the intricacies of the operating system, and how the RPi works, then there's a very solid chance that they will instead install the likes of Arch, Risc OS or Plan 9 to become their main OS for the Raspberry Pi.
Android for the RPi is certainly an interesting project, and one that will no doubt end up being one of the main distributions for the RPi, but there's still some work needed, and in all truth the Raspberry Pi is nowhere near as powerful a device as the latest crop of Android-powered smart devices.
Power to the people
Power being the limiting factor here, the likes of Arch and Plan 9 will come into their own. Their minimalistic, and streamlined systems mean that the RPi will tear along without ever hitting the upper limit of the available resources, whereas Raspbian could end up being a very bloated beast if it's not managed accordingly. Should the Foundation ever produce a significantly more powerful unit, then the wealth of operating systems available will no doubt triple overnight.
However, the problem therein lies with the cost of such a unit. At the moment, the £25 price is what's so endearing about the RPi project - with more oomph comes more cost, generally speaking, so at present we have it pretty good with the current batch of operating systems available.
As the title suggests, there's no competition here; there's merely the chance for a user to try out their Raspberry Pi, install an OS, use it to their heart's content, learn from it, and - like Linux - evolve into their own custom way of doing things. So while Raspbian scores the top marks, bear in mind the other operating systems represent a project that's standing by, ready for the individual to enjoy and experiment with.
Final verdict
Raspbian - 5/5
Risc OS - 4/5
Plan 9 - 2/5
Android - 2/5
Arch - 3/5
Also consider...
If these operating systems hold little interest for you, then consider PiBang, a Linux distribution inspired by the popular Crunchbang Linux. With an excellent use of Openbox, Tint2 and Nitrogen, PiBang not only looks amazing, it's also a fast, fluid and stable environment.
PiBang includes OMXplayer and VLC, but as stated on the PiBang site, "VLC does not currently play videos to a watchable level on the Raspberry Pi, it is installed for testing and for audio playing."
PiBang offers a full desktop environment, so the educational software has been removed in favour of Abiword, Conky, Gimp and so on. It uses the same software sources as Raspbian, so there's added compatibility. In fact, if PiBang had been included in the operating systems on test here, there's a chance it would have won. Why wasn't it included? Well, it's an OS that hasn't stood out from the crowd yet. Why, we're not quite sure, as it's very, very good.
.END
PSU for RPi and comminications OK
So the PSUs for communications (SPI, I2C, USB hub) and RPi is more or less completed. I am moving on to another 19" rack mount chassis project.
.END
Android - Wikipedia
Android - Wikipedia
Company / developer Google
Open Handset Alliance
Android Open Source Project
Programmed in C, C++, Java[4]
OS family Unix-like
Working state Current
Source model Open source
Initial release September 23, 2008
Latest stable release 4.2.2 Jelly Bean / February 11, 2013; 4 months ago[7]
Marketing target Smartphones
Tablet computers
Available language(s) Multi-lingual
Package manager Google Play, APK
Supported platforms ARM, MIPS,[8] x86,[9] I.MX[10]
Kernel type Monolithic (modified Linux kernel)
Default user interface Graphical (Multi-touch)
License Apache License 2.0
Linux kernel patches under GNU GPL v2[11]
Android is a Linux-based operating system[12] designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005,[13] Android was unveiled in 2007 along with the founding of the Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.[14] The first Android-powered phone was sold in October 2008.[15]
Android is open source and Google releases the code under the Apache License.[12] This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices, written primarily in a customized version of the Java programming language.[16] In October 2012, there were approximately 700,000 apps available for Android, and the estimated number of applications downloaded from Google Play, Android's primary app store, was 25 billion.[17][18]
These factors have contributed towards making Android the world's most widely used smartphone platform,[19] overtaking Symbian in the fourth quarter of 2010,[20] and the software of choice for technology companies who require a low-cost, customizable, lightweight operating system for high tech devices without developing one from scratch.[21] As a result, despite being primarily designed for phones and tablets, it has seen additional applications on televisions, games consoles, digital cameras and other electronics. Android's open nature has further encouraged a large community of developers and enthusiasts to use the open source code as a foundation for community-driven projects, which add new features for advanced users[22] or bring Android to devices which were officially released running other operating systems.
Android had a worldwide smartphone market share of 75% during the third quarter of 2012,[23] with 750 million devices activated in total and 1.5 million activations per day.[24] The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.[25][26] As of May 2013, a total of 900 million Android devices have been activated and 48 billion apps have been installed from the Google Play store.[27][28]
History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger),[29] Rich Miner (co-founder of Wildfire Communications, Inc.),[30] Nick Sears[31] (once VP at T-Mobile),[32] and Chris White (headed design and interface development at WebTV)[13] to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences".[13] The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile (Apple's iPhone had not been released at the time).[33] Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.[13] That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.[34]
Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition.[13] Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move.[13] At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.[35][36][37]
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[38] Reports from the BBC and the Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset. Some speculated that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.[39][40]
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices.[14] That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.[14] The first commercially available phone to run Android was the HTC Dream, released on October 22, 2008.[41]
Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest release is 4.2 Jelly Bean. In 2010, Google launched its Nexus series of devices — a line of smartphones and tablets running the Android operating system, and built by a manufacturer partner. HTC collaborated with Google to release the first Nexus smartphone,[42] the Nexus One. The series has since been updated with newer devices, such as the Nexus 4 phone and Nexus 10 tablet, made by LG and Samsung respectively. Google releases the Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features.
On 13 March 2013, it was announced by Larry Page in a blog post that Andy Rubin had moved from the Android division to take on new projects at Google.[43] He was replaced by Sundar Pichai, who also continues his role as the head of Google's Chrome division,[44] which develops Chrome OS.
Description
See also: List of features in Android and Android version history
Interface
Android's user interface is based on direct manipulation,[45] using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects.[45] The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.[46]
Android devices boot to the homescreen, the primary navigation and information point on the device, which is similar to the desktop found on PCs. Android homescreens are typically made up of app icons and widgets; app icons launch the associated app, whereas widgets display live, auto-updating content such as the weather forecast, the user's email inbox, or a news ticker directly on the homescreen.[47] A homescreen may be made up of several pages that the user can swipe back and forth between, though Android's homescreen interface is heavily customisable, allowing the user to adjust the look and feel of the device to their tastes. Third party apps available on Google Play and other app stores can extensively re-theme the homescreen, and even mimic the look of other operating systems, such as Windows Phone.[48] Most manufacturers, and some wireless carriers, customise the look and feel of their Android devices to differentiate themselves from their competitors.[49]
Present along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates, such as a newly received email or SMS text, in a way that does not immediately interrupt or inconvenience the user.[50] In early versions of Android these notifications could be tapped to open the relevant app, but recent updates have provided enhanced functionality, such as the ability to call a number back directly from the missed call notification without having to open the dialer app first.[51] Notifications are persistent until read or dismissed by the user.
Applications
Play Store on the Nexus 4
See also: Android software development and Google Play
Android has a growing selection of third party applications, which can be acquired by users either through an app store such as Google Play or the Amazon Appstore, or by downloading and installing the application's APK file from a third-party site.[52] The Play Store application allows users to browse, download and update apps published by Google and third-party developers, and is pre-installed on devices that comply with Google's compatibility requirements.[53] The app filters the list of available applications to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons.[54] Purchases of unwanted applications can be refunded within 15 minutes of the time of download,[55] and some carriers offer direct carrier billing for Google Play application purchases, where the cost of the application is added to the user's monthly bill.[56] As of September 2012, there were more than 675,000 apps available for Android, and the estimated number of applications downloaded from the Play Store was 25 billion.[57]
Applications are developed in the Java language using the Android software development kit (SDK). The SDK includes a comprehensive set of development tools,[58] including a debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin. Other development tools are available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers, and various cross platform mobile web applications frameworks.
In order to work around limitations on reaching Google services due to Internet censorship in the People's Republic of China, Android devices sold in the PRC are generally customized to use state approved services instead.[59]
Development
Android is developed in private by Google until the latest changes and updates are ready to be released, at which point the source code is made available publicly.[60] This source code will only run without modification on select devices, usually the Nexus series of devices.[61] With others, there are proprietary binaries which have to be provided by the manufacturer in order for Android to work.[62]
Linux
Architecture diagram
Android consists of a kernel based on Linux kernel version 2.6 and, from Android 4.0 Ice Cream Sandwich onwards, version 3.x, with middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (Dalvik Executable), which is usually translated from Java bytecode.[63] The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android-x86 project,[9] and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series.[10] In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.[64]
Android's Linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[65] Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[66] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[67] like, for example, in the Jagged Alliance 2 port for Android.[68]
Certain features that Google contributed back to the Linux kernel, notably a power management feature called "wakelocks", were rejected by mainline kernel developers partly because they felt that Google did not show any intent to maintain its own code.[69][70][71] Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[72] but Greg Kroah-Hartman, the current Linux kernel maintainer for the stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux.[70] Some Google Android developers hinted that "the Android team was getting fed up with the process," because they were a small team and had more urgent work to do on Android.[73]
In August 2011, Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years".[74] In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3.[75] Linux included the autosleep and wakelocks capabilities in the 3.5 kernel, after many previous attempts at merger. The interfaces are the same but the upstream Linux implementation allows for two different suspend modes: to memory (the traditional suspend that Android uses), and to disk (hibernate, as it is known on the desktop).[76] The merge will be complete starting with Kernel 3.8, Google has opened a public code repository that contains their experimental work to re-base Android off Kernel 3.8.[77]
The flash storage on Android devices is split into several partitions, such as "/system" for the operating system itself and "/data" for user data and app installations.[78] In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open source community to enhance the capabilities of their devices,[79] but also by malicious parties to install viruses and malware.[80]
Whether or not Android counts as a Linux distribution is a widely debated topic, with the Linux Foundation[81] and Chris DiBona,[82] Google's open source chief, in favour. Others, such as Google engineer Patrick Brady disagree, noting the lack of support for many GNU tools, including glibc, in Android.[83]
Memory management
Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory - while the app is still technically "open," suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly.[84]
Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves.[85] However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.[86]
Update schedule
From left to right: HTC Dream (G1), Nexus One, Nexus S, Galaxy Nexus
See also: Android version history
Google provides major updates, incremental in nature, to Android every six to nine months, which most devices are capable of receiving over the air.[87] The latest major update is Android 4.2 Jelly Bean.[88]
Compared to its chief rival mobile operating system, namely iOS, Android updates are typically slow to reach actual devices. For devices not under the Nexus brand, updates often arrive months from the time the given version is officially released.[89] This is caused partly due to the extensive variation in hardware of Android devices, to which each update must be specifically tailored, as the official Google source code only runs on their flagship Nexus devices. Porting Android to specific hardware is a time- and resource-consuming process for device manufacturers, who prioritize their newest devices and often leave older ones behind.[89] Hence, older smartphones are frequently not updated if the manufacturer decides it is not worth their time, regardless of whether the phone is capable of running the update. This problem is compounded when manufacturers customize Android with their own interface and apps, which must be reapplied to each new release. Additional delays can be introduced by wireless carriers who, after receiving updates from manufacturers, further customize and brand Android to their needs and conduct extensive testing on their networks before sending the update out to users.[89]
The lack of after-sale support from manufacturers and carriers has been widely criticised by consumer groups and the technology media.[90][91] Some commentators have noted that the industry has a financial incentive not to update their devices, as the lack of updates for existing devices fuels the purchase of newer ones,[92] an attitude described as "insulting".[91] The Guardian has complained that the complicated method of distribution for updates is only complicated because manufacturers and carriers have designed it that way.[91] In 2011, Google partnered with a number of industry players to announce an "Android Update Alliance", pledging to deliver timely updates for every device for 18 months after its release.[93] As of 2013, this alliance has never been mentioned since.[89]
Open source community
Android has an active community of developers and enthusiasts who use the Android source code to develop and distribute their own modified versions of the operating system.[94] These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance;[22] provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP TouchPad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to overclock or over/undervolt the device's processor.[95] CyanogenMod is the most widely used community firmware,[96] and acts as a foundation for numerous others.
Historically, device manufacturers and mobile carriers have typically been unsupportive of third-party firmware development. Manufacturers express concern about improper functioning of devices running unofficial software and the support costs resulting from this.[97] Moreover, modified firmwares such as CyanogenMod sometimes offer features, such as tethering, for which carriers would otherwise charge a premium. As a result, technical obstacles including locked bootloaders and restricted access to root permissions are common in many devices. However, as community-developed software has grown more popular, and following a statement by the Librarian of Congress in the United States that permits the "jailbreaking" of mobile devices,[98] manufacturers and carriers have softened their position regarding third party development, with some, including HTC,[97] Motorola,[99] Samsung[100][101] and Sony,[102] providing support and encouraging development. As a result of this, over time the need to circumvent hardware restrictions to install unofficial firmware has lessened as an increasing number of devices are shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones, although usually requiring that users waive their devices' warranties to do so.[97] However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.[103]
The unlocking and "hackability" of smartphones and tablets remains a source of tension between the community and industry, with the community arguing that unofficial development is increasingly important given the failure of industry to provide timely updates and/or continued support to their devices.[103]
Security and privacy
App permissions in the Play Store
See also: Mobile security
Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed. Before installing an application, the Play Store displays all required permissions: a game may need to enable vibration or save data to an SD card, for example, but should not need to read SMS messages or access the phonebook. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept.[104]
The sandboxing and permissions system lessens the impact of vulnerabilities and bugs in applications, but developer confusion and limited documentation has resulted in applications routinely requesting unnecessary permissions, reducing its effectiveness.[105] Several security firms, such as Lookout Mobile Security,[106] AVG Technologies,[107] and McAfee,[108] have released antivirus software for Android devices. This software is ineffective as sandboxing also applies to such applications, limiting their ability to scan the deeper system for threats.[109]
Research from security company Trend Micro lists premium service abuse as the most common type of Android malware, where text messages are sent from infected phones to premium-rate telephone numbers without the consent or even knowledge of the user.[110] Other malware displays unwanted and intrusive adverts on the device, or sends personal information to unauthorised third parties.[110] Security threats on Android are reportedly growing exponentially; however, Google engineers have argued that the malware and virus threat on Android is being exaggerated by security companies for commercial reasons,[111][112] and have accused the security industry of playing on fears to sell virus protection software to users.[111] Google maintains that dangerous malware is actually extremely rare,[112] and a survey conducted by F-Secure showed that only 0.5% of Android malware reported had come from the Google Play store.[113]
Google currently uses their Google Bouncer malware scanner to watch over and scan the Google Play store apps.[114] It is intended to flag up suspicious apps and warn users of any potential issues with an application before they download it.[115] Android version 4.2 Jelly Bean was released in 2012 with enhanced security features, including a malware scanner built into the system, which works in combination with Google Play but can scan apps installed from third party sources as well, and an alert system which notifies the user when an app tries to send a premium-rate text message, blocking the message unless the user explicitly authorises it.[116]
Android smartphones have the ability to report the location of Wi-Fi access points, encountered as phone users move around, to build databases containing the physical locations of hundreds of millions of such access points. These databases form electronic maps to locate smartphones, allowing them to run apps like Foursquare, Google Latitude, Facebook Places, and to deliver location-based ads.[117] Third party monitoring software such as TaintDroid,[118] an academic research-funded project, can, in some cases, detect when personal information is being sent from applications to remote servers.[119]
The open source nature of Android allows security contractors to take existing devices and adapt them for highly secure uses. For example Samsung has worked with General Dynamics through their Open Kernel Labs acquisition to rebuild Jelly Bean on top of their hardened microvisor for the "Knox" project.[120][121]
Licensing
The source code for Android is available under free and open-source software licenses. Google publishes most of the code (including network and telephony stacks)[122] under the Apache License version 2.0,[123][124] and the rest, Linux kernel changes, under the GNU General Public License version 2. The Open Handset Alliance develops the changes to the Linux kernel, in public, with source code publicly available at all times. The rest of Android is developed in private by Google, with source code released publicly when a new version is released. Typically Google collaborates with a hardware manufacturer to produce a 'flagship' device (part of the Google Nexus series) featuring the new version of Android, then makes the source code available after that device has been released.[125]
In early 2011, Google chose to temporarily withhold the Android source code to the tablet-only 3.0 Honeycomb release. The reason, according to Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom,[126] and they did not want third parties creating a "really bad user experience" by attempting to put onto smartphones a version of Android intended for tablets.[127] The source code was once again made available in November 2011 with the release of Android 4.0.[128]
Even though the software is open-source, device manufacturers cannot use Google's Android trademark unless Google certifies that the device complies with their Compatibility Definition Document (CDD). Devices must also meet this definition to be eligible to license Google's closed-source applications, including Google Play.[129] Richard Stallman and the Free Software Foundation have been critical of Android and have recommended the usage of alternatives such as Replicant,[130][131] because drivers and firmware vital for the proper functioning of Android devices are usually proprietary, and because Google Play allows non-free software.
Reception
Android received a lukewarm reaction when it was unveiled in 2007. Although analysts were impressed with the respected technology companies that had partnered with Google to form the Open Handset Alliance, it was unclear whether mobile phone manufacturers would be willing to replace their existing operating systems with Android.[132] The idea of an open source, Linux-based development platform sparked interest,[133] but there were additional worries about Android facing strong competition from established players in the smartphone market, such as Nokia and Microsoft, and rival Linux mobile operating systems that were in development.[134] These established players were skeptical: Nokia was quoted as saying "we don't see this as a threat,"[135] and a member of Microsoft's Windows Mobile team stated "I don't understand the impact that they are going to have."[135]
Since then Android has grown to become the most widely used smartphone operating system[21] and "one of the fastest mobile experiences available."[136] Reviewers have highlighted the open source nature of the operating system as one of its defining strengths, allowing companies such as Amazon (Kindle Fire), Barnes & Noble (Nook), Ouya, Baidu, and others to fork the software and release hardware running their own customised version of Android. As a result, it has been described by technology website Ars Technica as "practically the default operating system for launching new hardware" for companies without their own mobile platforms.[21] This openness and flexibility is also present at the level of the end user: Android allows extensive customisation of devices by their owners and apps are freely available from non-Google app stores and third party websites. These have been cited as among the main advantages of Android phones over others.[21][137]
Despite Android's popularity, including an activation rate three times that of iOS, there have been reports that Google has not been able to leverage their other products and web services successfully to turn Android into the money maker that analysts had expected.[138] The Verge suggested that Google is losing control of Android due to the extensive customization and proliferation of non-Google apps and services - for instance the Amazon Kindle Fire points users to the Amazon app store that competes directly with the Google Play store. Google SVP Andy Rubin, who was replaced as head of the Android division in March 2013, has been blamed for failing to establish a lucrative partnership with cell phone makers. The chief beneficiary of Android has been Samsung, whose Galaxy brand has surpassed that of Android in terms of brand recognition since 2011.[139][140] Meanwhile other Android manufacturers have struggled since 2011, such as LG, HTC, and Google's own Motorola Mobility (whose partnership with Verizon Wireless to push the "DROID" brand has faded since 2010). Ironically, while Google directly earns nothing from the sale of each Android device, Microsoft and Apple have successfully sued to extract patent royalty payments from Android handset manufacturers.
Tablets
The Nexus 7 tablet
Despite its success on smartphones, initially Android tablet adoption was slow.[141] One of the main causes was the chicken or the egg situation where consumers were hesitant to buy an Android tablet due to a lack of high quality tablet apps, but developers were hesitant to spend time and resources developing tablet apps until there was a significant market for them.[142][143] The content and app "ecosystem" proved more important than hardware specs as the selling point for tablets. Due to the lack of Android tablet-specific apps in 2011, early Android tablets had to make do with existing smartphone apps that were ill-suited to larger screen sizes, whereas the dominance of Apple's iPad was reinforced by the large number of tablet-specific iOS apps.[143][144]
Despite app support in its infancy, a considerable number of Android tablets (alongside those using other operating systems, such as the HP TouchPad and BlackBerry PlayBook) were rushed out to market in an attempt to capitalize on the success of the iPad.[143] InfoWorld has suggested that some Android manufacturers initially treated their first tablets as a "Frankenphone business", a short-term low-investment opportunity by placing a smartphone-optimized Android OS (before Android 3.0 Honeycomb for tablets was available) on a device while neglecting user interface. This approach, such as with the Dell Streak, failed to gain market traction with consumers as well as damaging the early reputation of Android tablets.[145][146] Furthermore, several Android tablets such as the Motorola Xoom were priced the same or higher than the iPad, which hurt sales. An exception was the Amazon Kindle Fire, which relied upon lower pricing as well as access to Amazon's ecosystem of apps and content.[143][147]
This began to change in 2012 with the release of the affordable Nexus 7 and a push by Google for developers to write better tablet apps.[148] Android tablet market share surpassed the iPad's in Q3 2012.[149]
Market share and rate of adoption
Research company Canalys estimated in the second quarter of 2009 that Android had a 2.8% share of worldwide smartphone shipments.[150] By the fourth quarter of 2010 this had grown to 33% of the market, becoming the top-selling smartphone platform.[19] By the third quarter of 2011 Gartner estimated that more than half (52.5%) of the smartphone market belongs to Android.[151] By the third quarter of 2012 Android had a 75% share of the global smartphone market according to the research firm IDC.[23]
In July 2011, Google said that 550,000 new Android devices were being activated every day,[152] up from 400,000 per day in May,[153] and more than 100 million devices had been activated[154] with 4.4% growth per week.[152] In September 2012, 500 million devices had been activated with 1.3 million activations per day.[155][24] In May 2013, at Google I/O, Sundar Pichai announced that 900 million Android devices had been activated.[156]
Android market share varies by location. In July 2012, Android's market share in the United States was 52%,[157] and rose to 90% in China.[158]
Usage share of Android versions
This chart provides data about the relative number of devices running a given version of the Android platform.(June 3, 2013)
Usage share of the different versions as of June 3, 2013.[159]
Version Code name Release date API level Distribution (June 3, 2013)
4.2.x Jelly Bean November 13, 2012 17 4.0%
4.1.x Jelly Bean July 9, 2012 16 29.0%
4.0.x Ice Cream Sandwich December 16, 2011 15 25.6%
3.2 Honeycomb July 15, 2011 13 0.1%
3.1 Honeycomb May 10, 2011 12 0%
2.3.3–2.3.7 Gingerbread February 9, 2011 10 36.4%
2.3–2.3.2 Gingerbread December 6, 2010 9 0.1%
2.2 Froyo May 20, 2010 8 3.2%
2.0–2.1 Eclair October 26, 2009 7 1.5%
1.6 Donut September 15, 2009 4 0.1%
1.5 Cupcake April 30, 2009 3 0%
Application piracy
There has been some concern about the ease with which paid Android apps can be pirated.[160] In a May 2012 interview with Eurogamer, the developers of Football Manager stated that the ratio of pirated players vs legitimate players was 9:1 for their game Football Manager Handheld.[161] However, not every developer agreed that piracy rates were an issue; for example, in July 2012 the developers of the game Wind-up Knight said that piracy levels of their game were only 12%, and most of the piracy came from China, where people cannot purchase apps from Google Play.[162]
In 2010, Google released a tool for validating authorised purchases for use within apps, but developers complained that this was insufficient and trivial to crack. Google responded that the tool, especially its initial release, was intended as a sample framework for developers to modify and build upon depending on their needs, not as a finished security solution.[163] In 2012 Google released a feature in Android 4.1 that encrypted paid applications so that they would only work on the device on which they were purchased, but this feature has been temporarily deactivated due to technical issues.[164]
Intellectual property issues
Further information: Oracle v. Google, Smartphone wars, and Patent troll
Both Android and Android phone manufacturers have been involved in numerous patent lawsuits. On August 12, 2010, Oracle sued Google over claimed infringement of copyrights and patents related to the Java programming language.[165] Oracle originally sought damages up to $6.1 billion,[166] but this valuation was rejected by a United States federal judge who asked Oracle to revise the estimate.[167] In response, Google submitted multiple lines of defense, counterclaiming that Android did not infringe on Oracle's patents or copyright, that Oracle's patents were invalid, and several other defenses. They said that Android is based on Apache Harmony, a clean room implementation of the Java class libraries, and an independently developed virtual machine called Dalvik.[168] In May 2012, the jury in this case found that Google did not infringe on Oracle's patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable.[169][170]
In addition to lawsuits against Google directly, various proxy wars have been waged against Android indirectly by targeting manufacturers of Android devices, with the effect of discouraging manufacturers from adopting the platform by increasing the costs of bringing an Android device to market.[171] Both Apple and Microsoft have sued several manufacturers for patent infringement, with Apple's ongoing legal action against Samsung being a particularly high-profile case. In October 2011, Microsoft said they had signed patent license agreements with ten Android device manufacturers, whose products account for 55% of the worldwide revenue for Android devices.[172] These include Samsung and HTC.[173] Samsung's patent settlement with Microsoft includes an agreement that Samsung will allocate more resources to developing and marketing phones running Microsoft's Windows Phone operating system.[171]
Google has publicly expressed its frustration for the current patent landscape in the United States, accusing Apple, Oracle and Microsoft of trying to take down Android through patent litigation, rather than innovating and competing with better products and services.[174] In 2011–12, Google purchased Motorola Mobility for US$12.5 billion, which was viewed in part as a defensive measure to protect Android, since Motorola Mobility held more than 17,000 patents.[175] In December 2011, Google bought over a thousand patents from IBM.[176]
Beyond smartphones and tablets
The Sony SmartWatch: an example of how Android is used on electronics other than smartphones and tablets
The open and customizable nature of Android allows it to be used on other electronics, including laptops and netbooks, smartbooks[177] smart TVs (Google TV) and cameras (Nikon Coolpix S800c and Galaxy Camera).[178][179] In addition, the Android operating system has seen applications on smart glasses (Google Glass), wristwatches,[180] headphones,[181] car CD and DVD players,[182] mirrors,[183] portable media players[184] and landlines[185] and Voice over IP phones.[186] Ouya, an upcoming videogames console running Android, became one of the most successful Kickstarter campaigns, crowdfunding US$8.5m for its development,[187][188] and was later followed by other Android-based video games consoles such as Project Shield from Nvidia.
In 2011, Google demonstrated "Android@Home", a new home automaton technology which uses Android to control a range of household devices including light switches, power sockets and thermostats.[189] Prototype light bulbs were announced that could be controlled from an Android phone or tablet, but Android head Andy Rubin was cautious to note that "turning a lightbulb on and off is nothing new," pointing to numerous failed home automation services. Google, he said, was thinking more ambitiously and the intention was to use their position as a cloud services provider to bring Google products into customers' homes.[190]
See also
Google portal
Free software portal
Android version history
List of GPS software for mobile phones
Comparison of mobile operating systems
Android rooting
Index of Android OS articles
...
.END
Company / developer Google
Open Handset Alliance
Android Open Source Project
Programmed in C, C++, Java[4]
OS family Unix-like
Working state Current
Source model Open source
Initial release September 23, 2008
Latest stable release 4.2.2 Jelly Bean / February 11, 2013; 4 months ago[7]
Marketing target Smartphones
Tablet computers
Available language(s) Multi-lingual
Package manager Google Play, APK
Supported platforms ARM, MIPS,[8] x86,[9] I.MX[10]
Kernel type Monolithic (modified Linux kernel)
Default user interface Graphical (Multi-touch)
License Apache License 2.0
Linux kernel patches under GNU GPL v2[11]
Android is a Linux-based operating system[12] designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005,[13] Android was unveiled in 2007 along with the founding of the Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.[14] The first Android-powered phone was sold in October 2008.[15]
Android is open source and Google releases the code under the Apache License.[12] This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Additionally, Android has a large community of developers writing applications ("apps") that extend the functionality of devices, written primarily in a customized version of the Java programming language.[16] In October 2012, there were approximately 700,000 apps available for Android, and the estimated number of applications downloaded from Google Play, Android's primary app store, was 25 billion.[17][18]
These factors have contributed towards making Android the world's most widely used smartphone platform,[19] overtaking Symbian in the fourth quarter of 2010,[20] and the software of choice for technology companies who require a low-cost, customizable, lightweight operating system for high tech devices without developing one from scratch.[21] As a result, despite being primarily designed for phones and tablets, it has seen additional applications on televisions, games consoles, digital cameras and other electronics. Android's open nature has further encouraged a large community of developers and enthusiasts to use the open source code as a foundation for community-driven projects, which add new features for advanced users[22] or bring Android to devices which were officially released running other operating systems.
Android had a worldwide smartphone market share of 75% during the third quarter of 2012,[23] with 750 million devices activated in total and 1.5 million activations per day.[24] The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies.[25][26] As of May 2013, a total of 900 million Android devices have been activated and 48 billion apps have been installed from the Google Play store.[27][28]
History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin (co-founder of Danger),[29] Rich Miner (co-founder of Wildfire Communications, Inc.),[30] Nick Sears[31] (once VP at T-Mobile),[32] and Chris White (headed design and interface development at WebTV)[13] to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences".[13] The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile (Apple's iPhone had not been released at the time).[33] Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.[13] That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.[34]
Google acquired Android Inc. on August 17, 2005, making it a wholly owned subsidiary of Google. Key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition.[13] Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move.[13] At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.[35][36][37]
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006.[38] Reports from the BBC and the Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Google-branded handset. Some speculated that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.[39][40]
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices.[14] That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6.[14] The first commercially available phone to run Android was the HTC Dream, released on October 22, 2008.[41]
Since 2008, Android has seen numerous updates which have incrementally improved the operating system, adding new features and fixing bugs in previous releases. Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest release is 4.2 Jelly Bean. In 2010, Google launched its Nexus series of devices — a line of smartphones and tablets running the Android operating system, and built by a manufacturer partner. HTC collaborated with Google to release the first Nexus smartphone,[42] the Nexus One. The series has since been updated with newer devices, such as the Nexus 4 phone and Nexus 10 tablet, made by LG and Samsung respectively. Google releases the Nexus phones and tablets to act as their flagship Android devices, demonstrating Android's latest software and hardware features.
On 13 March 2013, it was announced by Larry Page in a blog post that Andy Rubin had moved from the Android division to take on new projects at Google.[43] He was replaced by Sundar Pichai, who also continues his role as the head of Google's Chrome division,[44] which develops Chrome OS.
Description
See also: List of features in Android and Android version history
Interface
Android's user interface is based on direct manipulation,[45] using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects.[45] The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented, or allowing the user to steer a vehicle in a racing game by rotating the device, simulating control of a steering wheel.[46]
Android devices boot to the homescreen, the primary navigation and information point on the device, which is similar to the desktop found on PCs. Android homescreens are typically made up of app icons and widgets; app icons launch the associated app, whereas widgets display live, auto-updating content such as the weather forecast, the user's email inbox, or a news ticker directly on the homescreen.[47] A homescreen may be made up of several pages that the user can swipe back and forth between, though Android's homescreen interface is heavily customisable, allowing the user to adjust the look and feel of the device to their tastes. Third party apps available on Google Play and other app stores can extensively re-theme the homescreen, and even mimic the look of other operating systems, such as Windows Phone.[48] Most manufacturers, and some wireless carriers, customise the look and feel of their Android devices to differentiate themselves from their competitors.[49]
Present along the top of the screen is a status bar, showing information about the device and its connectivity. This status bar can be "pulled" down to reveal a notification screen where apps display important information or updates, such as a newly received email or SMS text, in a way that does not immediately interrupt or inconvenience the user.[50] In early versions of Android these notifications could be tapped to open the relevant app, but recent updates have provided enhanced functionality, such as the ability to call a number back directly from the missed call notification without having to open the dialer app first.[51] Notifications are persistent until read or dismissed by the user.
Applications
Play Store on the Nexus 4
See also: Android software development and Google Play
Android has a growing selection of third party applications, which can be acquired by users either through an app store such as Google Play or the Amazon Appstore, or by downloading and installing the application's APK file from a third-party site.[52] The Play Store application allows users to browse, download and update apps published by Google and third-party developers, and is pre-installed on devices that comply with Google's compatibility requirements.[53] The app filters the list of available applications to those that are compatible with the user's device, and developers may restrict their applications to particular carriers or countries for business reasons.[54] Purchases of unwanted applications can be refunded within 15 minutes of the time of download,[55] and some carriers offer direct carrier billing for Google Play application purchases, where the cost of the application is added to the user's monthly bill.[56] As of September 2012, there were more than 675,000 apps available for Android, and the estimated number of applications downloaded from the Play Store was 25 billion.[57]
Applications are developed in the Java language using the Android software development kit (SDK). The SDK includes a comprehensive set of development tools,[58] including a debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin. Other development tools are available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers, and various cross platform mobile web applications frameworks.
In order to work around limitations on reaching Google services due to Internet censorship in the People's Republic of China, Android devices sold in the PRC are generally customized to use state approved services instead.[59]
Development
Android is developed in private by Google until the latest changes and updates are ready to be released, at which point the source code is made available publicly.[60] This source code will only run without modification on select devices, usually the Nexus series of devices.[61] With others, there are proprietary binaries which have to be provided by the manufacturer in order for Android to work.[62]
Linux
Architecture diagram
Android consists of a kernel based on Linux kernel version 2.6 and, from Android 4.0 Ice Cream Sandwich onwards, version 3.x, with middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (Dalvik Executable), which is usually translated from Java bytecode.[63] The main hardware platform for Android is the ARM architecture. There is support for x86 from the Android-x86 project,[9] and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series.[10] In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.[64]
Android's Linux kernel has further architecture changes by Google outside the typical Linux kernel development cycle.[65] Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[66] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[67] like, for example, in the Jagged Alliance 2 port for Android.[68]
Certain features that Google contributed back to the Linux kernel, notably a power management feature called "wakelocks", were rejected by mainline kernel developers partly because they felt that Google did not show any intent to maintain its own code.[69][70][71] Google announced in April 2010 that they would hire two employees to work with the Linux kernel community,[72] but Greg Kroah-Hartman, the current Linux kernel maintainer for the stable branch, said in December 2010 that he was concerned that Google was no longer trying to get their code changes included in mainstream Linux.[70] Some Google Android developers hinted that "the Android team was getting fed up with the process," because they were a small team and had more urgent work to do on Android.[73]
In August 2011, Linus Torvalds said that "eventually Android and Linux would come back to a common kernel, but it will probably not be for four to five years".[74] In December 2011, Greg Kroah-Hartman announced the start of the Android Mainlining Project, which aims to put some Android drivers, patches and features back into the Linux kernel, starting in Linux 3.3.[75] Linux included the autosleep and wakelocks capabilities in the 3.5 kernel, after many previous attempts at merger. The interfaces are the same but the upstream Linux implementation allows for two different suspend modes: to memory (the traditional suspend that Android uses), and to disk (hibernate, as it is known on the desktop).[76] The merge will be complete starting with Kernel 3.8, Google has opened a public code repository that contains their experimental work to re-base Android off Kernel 3.8.[77]
The flash storage on Android devices is split into several partitions, such as "/system" for the operating system itself and "/data" for user data and app installations.[78] In contrast to desktop Linux distributions, Android device owners are not given root access to the operating system and sensitive partitions such as /system are read-only. However, root access can be obtained by exploiting security flaws in Android, which is used frequently by the open source community to enhance the capabilities of their devices,[79] but also by malicious parties to install viruses and malware.[80]
Whether or not Android counts as a Linux distribution is a widely debated topic, with the Linux Foundation[81] and Chris DiBona,[82] Google's open source chief, in favour. Others, such as Google engineer Patrick Brady disagree, noting the lack of support for many GNU tools, including glibc, in Android.[83]
Memory management
Since Android devices are usually battery-powered, Android is designed to manage memory (RAM) to keep power consumption at a minimum, in contrast to desktop operating systems which generally assume they are connected to unlimited mains electricity. When an Android app is no longer in use, the system will automatically suspend it in memory - while the app is still technically "open," suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again. This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly.[84]
Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while, in reverse order since they were last used (i.e. oldest first). This process is designed to be invisible to the user, such that users do not need to manage memory or the killing of apps themselves.[85] However, confusion over Android memory management has resulted in third-party task killers becoming popular on the Google Play store; these third-party task killers are generally regarded as doing more harm than good.[86]
Update schedule
From left to right: HTC Dream (G1), Nexus One, Nexus S, Galaxy Nexus
See also: Android version history
Google provides major updates, incremental in nature, to Android every six to nine months, which most devices are capable of receiving over the air.[87] The latest major update is Android 4.2 Jelly Bean.[88]
Compared to its chief rival mobile operating system, namely iOS, Android updates are typically slow to reach actual devices. For devices not under the Nexus brand, updates often arrive months from the time the given version is officially released.[89] This is caused partly due to the extensive variation in hardware of Android devices, to which each update must be specifically tailored, as the official Google source code only runs on their flagship Nexus devices. Porting Android to specific hardware is a time- and resource-consuming process for device manufacturers, who prioritize their newest devices and often leave older ones behind.[89] Hence, older smartphones are frequently not updated if the manufacturer decides it is not worth their time, regardless of whether the phone is capable of running the update. This problem is compounded when manufacturers customize Android with their own interface and apps, which must be reapplied to each new release. Additional delays can be introduced by wireless carriers who, after receiving updates from manufacturers, further customize and brand Android to their needs and conduct extensive testing on their networks before sending the update out to users.[89]
The lack of after-sale support from manufacturers and carriers has been widely criticised by consumer groups and the technology media.[90][91] Some commentators have noted that the industry has a financial incentive not to update their devices, as the lack of updates for existing devices fuels the purchase of newer ones,[92] an attitude described as "insulting".[91] The Guardian has complained that the complicated method of distribution for updates is only complicated because manufacturers and carriers have designed it that way.[91] In 2011, Google partnered with a number of industry players to announce an "Android Update Alliance", pledging to deliver timely updates for every device for 18 months after its release.[93] As of 2013, this alliance has never been mentioned since.[89]
Open source community
Android has an active community of developers and enthusiasts who use the Android source code to develop and distribute their own modified versions of the operating system.[94] These community-developed releases often bring new features and updates to devices faster than through the official manufacturer/carrier channels, albeit without as extensive testing or quality assurance;[22] provide continued support for older devices that no longer receive official updates; or bring Android to devices that were officially released running other operating systems, such as the HP TouchPad. Community releases often come pre-rooted and contain modifications unsuitable for non-technical users, such as the ability to overclock or over/undervolt the device's processor.[95] CyanogenMod is the most widely used community firmware,[96] and acts as a foundation for numerous others.
Historically, device manufacturers and mobile carriers have typically been unsupportive of third-party firmware development. Manufacturers express concern about improper functioning of devices running unofficial software and the support costs resulting from this.[97] Moreover, modified firmwares such as CyanogenMod sometimes offer features, such as tethering, for which carriers would otherwise charge a premium. As a result, technical obstacles including locked bootloaders and restricted access to root permissions are common in many devices. However, as community-developed software has grown more popular, and following a statement by the Librarian of Congress in the United States that permits the "jailbreaking" of mobile devices,[98] manufacturers and carriers have softened their position regarding third party development, with some, including HTC,[97] Motorola,[99] Samsung[100][101] and Sony,[102] providing support and encouraging development. As a result of this, over time the need to circumvent hardware restrictions to install unofficial firmware has lessened as an increasing number of devices are shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones, although usually requiring that users waive their devices' warranties to do so.[97] However, despite manufacturer acceptance, some carriers in the US still require that phones are locked down.[103]
The unlocking and "hackability" of smartphones and tablets remains a source of tension between the community and industry, with the community arguing that unofficial development is increasingly important given the failure of industry to provide timely updates and/or continued support to their devices.[103]
Security and privacy
App permissions in the Play Store
See also: Mobile security
Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed. Before installing an application, the Play Store displays all required permissions: a game may need to enable vibration or save data to an SD card, for example, but should not need to read SMS messages or access the phonebook. After reviewing these permissions, the user can choose to accept or refuse them, installing the application only if they accept.[104]
The sandboxing and permissions system lessens the impact of vulnerabilities and bugs in applications, but developer confusion and limited documentation has resulted in applications routinely requesting unnecessary permissions, reducing its effectiveness.[105] Several security firms, such as Lookout Mobile Security,[106] AVG Technologies,[107] and McAfee,[108] have released antivirus software for Android devices. This software is ineffective as sandboxing also applies to such applications, limiting their ability to scan the deeper system for threats.[109]
Research from security company Trend Micro lists premium service abuse as the most common type of Android malware, where text messages are sent from infected phones to premium-rate telephone numbers without the consent or even knowledge of the user.[110] Other malware displays unwanted and intrusive adverts on the device, or sends personal information to unauthorised third parties.[110] Security threats on Android are reportedly growing exponentially; however, Google engineers have argued that the malware and virus threat on Android is being exaggerated by security companies for commercial reasons,[111][112] and have accused the security industry of playing on fears to sell virus protection software to users.[111] Google maintains that dangerous malware is actually extremely rare,[112] and a survey conducted by F-Secure showed that only 0.5% of Android malware reported had come from the Google Play store.[113]
Google currently uses their Google Bouncer malware scanner to watch over and scan the Google Play store apps.[114] It is intended to flag up suspicious apps and warn users of any potential issues with an application before they download it.[115] Android version 4.2 Jelly Bean was released in 2012 with enhanced security features, including a malware scanner built into the system, which works in combination with Google Play but can scan apps installed from third party sources as well, and an alert system which notifies the user when an app tries to send a premium-rate text message, blocking the message unless the user explicitly authorises it.[116]
Android smartphones have the ability to report the location of Wi-Fi access points, encountered as phone users move around, to build databases containing the physical locations of hundreds of millions of such access points. These databases form electronic maps to locate smartphones, allowing them to run apps like Foursquare, Google Latitude, Facebook Places, and to deliver location-based ads.[117] Third party monitoring software such as TaintDroid,[118] an academic research-funded project, can, in some cases, detect when personal information is being sent from applications to remote servers.[119]
The open source nature of Android allows security contractors to take existing devices and adapt them for highly secure uses. For example Samsung has worked with General Dynamics through their Open Kernel Labs acquisition to rebuild Jelly Bean on top of their hardened microvisor for the "Knox" project.[120][121]
Licensing
The source code for Android is available under free and open-source software licenses. Google publishes most of the code (including network and telephony stacks)[122] under the Apache License version 2.0,[123][124] and the rest, Linux kernel changes, under the GNU General Public License version 2. The Open Handset Alliance develops the changes to the Linux kernel, in public, with source code publicly available at all times. The rest of Android is developed in private by Google, with source code released publicly when a new version is released. Typically Google collaborates with a hardware manufacturer to produce a 'flagship' device (part of the Google Nexus series) featuring the new version of Android, then makes the source code available after that device has been released.[125]
In early 2011, Google chose to temporarily withhold the Android source code to the tablet-only 3.0 Honeycomb release. The reason, according to Andy Rubin in an official Android blog post, was because Honeycomb was rushed for production of the Motorola Xoom,[126] and they did not want third parties creating a "really bad user experience" by attempting to put onto smartphones a version of Android intended for tablets.[127] The source code was once again made available in November 2011 with the release of Android 4.0.[128]
Even though the software is open-source, device manufacturers cannot use Google's Android trademark unless Google certifies that the device complies with their Compatibility Definition Document (CDD). Devices must also meet this definition to be eligible to license Google's closed-source applications, including Google Play.[129] Richard Stallman and the Free Software Foundation have been critical of Android and have recommended the usage of alternatives such as Replicant,[130][131] because drivers and firmware vital for the proper functioning of Android devices are usually proprietary, and because Google Play allows non-free software.
Reception
Android received a lukewarm reaction when it was unveiled in 2007. Although analysts were impressed with the respected technology companies that had partnered with Google to form the Open Handset Alliance, it was unclear whether mobile phone manufacturers would be willing to replace their existing operating systems with Android.[132] The idea of an open source, Linux-based development platform sparked interest,[133] but there were additional worries about Android facing strong competition from established players in the smartphone market, such as Nokia and Microsoft, and rival Linux mobile operating systems that were in development.[134] These established players were skeptical: Nokia was quoted as saying "we don't see this as a threat,"[135] and a member of Microsoft's Windows Mobile team stated "I don't understand the impact that they are going to have."[135]
Since then Android has grown to become the most widely used smartphone operating system[21] and "one of the fastest mobile experiences available."[136] Reviewers have highlighted the open source nature of the operating system as one of its defining strengths, allowing companies such as Amazon (Kindle Fire), Barnes & Noble (Nook), Ouya, Baidu, and others to fork the software and release hardware running their own customised version of Android. As a result, it has been described by technology website Ars Technica as "practically the default operating system for launching new hardware" for companies without their own mobile platforms.[21] This openness and flexibility is also present at the level of the end user: Android allows extensive customisation of devices by their owners and apps are freely available from non-Google app stores and third party websites. These have been cited as among the main advantages of Android phones over others.[21][137]
Despite Android's popularity, including an activation rate three times that of iOS, there have been reports that Google has not been able to leverage their other products and web services successfully to turn Android into the money maker that analysts had expected.[138] The Verge suggested that Google is losing control of Android due to the extensive customization and proliferation of non-Google apps and services - for instance the Amazon Kindle Fire points users to the Amazon app store that competes directly with the Google Play store. Google SVP Andy Rubin, who was replaced as head of the Android division in March 2013, has been blamed for failing to establish a lucrative partnership with cell phone makers. The chief beneficiary of Android has been Samsung, whose Galaxy brand has surpassed that of Android in terms of brand recognition since 2011.[139][140] Meanwhile other Android manufacturers have struggled since 2011, such as LG, HTC, and Google's own Motorola Mobility (whose partnership with Verizon Wireless to push the "DROID" brand has faded since 2010). Ironically, while Google directly earns nothing from the sale of each Android device, Microsoft and Apple have successfully sued to extract patent royalty payments from Android handset manufacturers.
Tablets
The Nexus 7 tablet
Despite its success on smartphones, initially Android tablet adoption was slow.[141] One of the main causes was the chicken or the egg situation where consumers were hesitant to buy an Android tablet due to a lack of high quality tablet apps, but developers were hesitant to spend time and resources developing tablet apps until there was a significant market for them.[142][143] The content and app "ecosystem" proved more important than hardware specs as the selling point for tablets. Due to the lack of Android tablet-specific apps in 2011, early Android tablets had to make do with existing smartphone apps that were ill-suited to larger screen sizes, whereas the dominance of Apple's iPad was reinforced by the large number of tablet-specific iOS apps.[143][144]
Despite app support in its infancy, a considerable number of Android tablets (alongside those using other operating systems, such as the HP TouchPad and BlackBerry PlayBook) were rushed out to market in an attempt to capitalize on the success of the iPad.[143] InfoWorld has suggested that some Android manufacturers initially treated their first tablets as a "Frankenphone business", a short-term low-investment opportunity by placing a smartphone-optimized Android OS (before Android 3.0 Honeycomb for tablets was available) on a device while neglecting user interface. This approach, such as with the Dell Streak, failed to gain market traction with consumers as well as damaging the early reputation of Android tablets.[145][146] Furthermore, several Android tablets such as the Motorola Xoom were priced the same or higher than the iPad, which hurt sales. An exception was the Amazon Kindle Fire, which relied upon lower pricing as well as access to Amazon's ecosystem of apps and content.[143][147]
This began to change in 2012 with the release of the affordable Nexus 7 and a push by Google for developers to write better tablet apps.[148] Android tablet market share surpassed the iPad's in Q3 2012.[149]
Market share and rate of adoption
Research company Canalys estimated in the second quarter of 2009 that Android had a 2.8% share of worldwide smartphone shipments.[150] By the fourth quarter of 2010 this had grown to 33% of the market, becoming the top-selling smartphone platform.[19] By the third quarter of 2011 Gartner estimated that more than half (52.5%) of the smartphone market belongs to Android.[151] By the third quarter of 2012 Android had a 75% share of the global smartphone market according to the research firm IDC.[23]
In July 2011, Google said that 550,000 new Android devices were being activated every day,[152] up from 400,000 per day in May,[153] and more than 100 million devices had been activated[154] with 4.4% growth per week.[152] In September 2012, 500 million devices had been activated with 1.3 million activations per day.[155][24] In May 2013, at Google I/O, Sundar Pichai announced that 900 million Android devices had been activated.[156]
Android market share varies by location. In July 2012, Android's market share in the United States was 52%,[157] and rose to 90% in China.[158]
Usage share of Android versions
This chart provides data about the relative number of devices running a given version of the Android platform.(June 3, 2013)
Usage share of the different versions as of June 3, 2013.[159]
Version Code name Release date API level Distribution (June 3, 2013)
4.2.x Jelly Bean November 13, 2012 17 4.0%
4.1.x Jelly Bean July 9, 2012 16 29.0%
4.0.x Ice Cream Sandwich December 16, 2011 15 25.6%
3.2 Honeycomb July 15, 2011 13 0.1%
3.1 Honeycomb May 10, 2011 12 0%
2.3.3–2.3.7 Gingerbread February 9, 2011 10 36.4%
2.3–2.3.2 Gingerbread December 6, 2010 9 0.1%
2.2 Froyo May 20, 2010 8 3.2%
2.0–2.1 Eclair October 26, 2009 7 1.5%
1.6 Donut September 15, 2009 4 0.1%
1.5 Cupcake April 30, 2009 3 0%
Application piracy
There has been some concern about the ease with which paid Android apps can be pirated.[160] In a May 2012 interview with Eurogamer, the developers of Football Manager stated that the ratio of pirated players vs legitimate players was 9:1 for their game Football Manager Handheld.[161] However, not every developer agreed that piracy rates were an issue; for example, in July 2012 the developers of the game Wind-up Knight said that piracy levels of their game were only 12%, and most of the piracy came from China, where people cannot purchase apps from Google Play.[162]
In 2010, Google released a tool for validating authorised purchases for use within apps, but developers complained that this was insufficient and trivial to crack. Google responded that the tool, especially its initial release, was intended as a sample framework for developers to modify and build upon depending on their needs, not as a finished security solution.[163] In 2012 Google released a feature in Android 4.1 that encrypted paid applications so that they would only work on the device on which they were purchased, but this feature has been temporarily deactivated due to technical issues.[164]
Intellectual property issues
Further information: Oracle v. Google, Smartphone wars, and Patent troll
Both Android and Android phone manufacturers have been involved in numerous patent lawsuits. On August 12, 2010, Oracle sued Google over claimed infringement of copyrights and patents related to the Java programming language.[165] Oracle originally sought damages up to $6.1 billion,[166] but this valuation was rejected by a United States federal judge who asked Oracle to revise the estimate.[167] In response, Google submitted multiple lines of defense, counterclaiming that Android did not infringe on Oracle's patents or copyright, that Oracle's patents were invalid, and several other defenses. They said that Android is based on Apache Harmony, a clean room implementation of the Java class libraries, and an independently developed virtual machine called Dalvik.[168] In May 2012, the jury in this case found that Google did not infringe on Oracle's patents, and the trial judge ruled that the structure of the Java APIs used by Google was not copyrightable.[169][170]
In addition to lawsuits against Google directly, various proxy wars have been waged against Android indirectly by targeting manufacturers of Android devices, with the effect of discouraging manufacturers from adopting the platform by increasing the costs of bringing an Android device to market.[171] Both Apple and Microsoft have sued several manufacturers for patent infringement, with Apple's ongoing legal action against Samsung being a particularly high-profile case. In October 2011, Microsoft said they had signed patent license agreements with ten Android device manufacturers, whose products account for 55% of the worldwide revenue for Android devices.[172] These include Samsung and HTC.[173] Samsung's patent settlement with Microsoft includes an agreement that Samsung will allocate more resources to developing and marketing phones running Microsoft's Windows Phone operating system.[171]
Google has publicly expressed its frustration for the current patent landscape in the United States, accusing Apple, Oracle and Microsoft of trying to take down Android through patent litigation, rather than innovating and competing with better products and services.[174] In 2011–12, Google purchased Motorola Mobility for US$12.5 billion, which was viewed in part as a defensive measure to protect Android, since Motorola Mobility held more than 17,000 patents.[175] In December 2011, Google bought over a thousand patents from IBM.[176]
Beyond smartphones and tablets
The Sony SmartWatch: an example of how Android is used on electronics other than smartphones and tablets
The open and customizable nature of Android allows it to be used on other electronics, including laptops and netbooks, smartbooks[177] smart TVs (Google TV) and cameras (Nikon Coolpix S800c and Galaxy Camera).[178][179] In addition, the Android operating system has seen applications on smart glasses (Google Glass), wristwatches,[180] headphones,[181] car CD and DVD players,[182] mirrors,[183] portable media players[184] and landlines[185] and Voice over IP phones.[186] Ouya, an upcoming videogames console running Android, became one of the most successful Kickstarter campaigns, crowdfunding US$8.5m for its development,[187][188] and was later followed by other Android-based video games consoles such as Project Shield from Nvidia.
In 2011, Google demonstrated "Android@Home", a new home automaton technology which uses Android to control a range of household devices including light switches, power sockets and thermostats.[189] Prototype light bulbs were announced that could be controlled from an Android phone or tablet, but Android head Andy Rubin was cautious to note that "turning a lightbulb on and off is nothing new," pointing to numerous failed home automation services. Google, he said, was thinking more ambitiously and the intention was to use their position as a cloud services provider to bring Google products into customers' homes.[190]
See also
Google portal
Free software portal
Android version history
List of GPS software for mobile phones
Comparison of mobile operating systems
Android rooting
Index of Android OS articles
...
.END
Subscribe to:
Posts (Atom)