I believe that the current market trends make Canonical’s Ubuntu for Android project the most important development in the recent history of Linux.
Desktop Linux is slowly gaining market share but its advancement is excruciatingly slow. The desktop itself is loosing market share to mobile operating systems like Android and iOS primarily because Internet usage is shifting towards mobile devices. A lot of people use their mobile phone as their primary computing device and mobile phone hw is developing leaps and bounds to serve these use-cases (bigger screens, quad-core processors…etc).
Due to its touch-oriented, mobile-centric features + Google’s strong push, Android is rapidly expanding its market share among the mobile operating systems and is the most successful Linux distribution ever.
Ubuntu for Android (UfA)
Ubuntu for Android blends Android and Ubuntu in the perfect manner. Ubuntu and Android share the same Linux kernel instance so there is no dual-booting, they run in parallel. When the need arises, the user can switch to the desktop interface of Ubuntu for productive work, typically when a mouse and keyboard gets attached to the device (via a docking station, a lapdock or simply a bluetooth keyboard/mouse)
The two operating systems are completely synergistic. Some examples:
- Ubuntu is capable of using the databases of Android (e.g. uses Android’s contact database in the email software)
- Ubuntu uses Android’s network management
- You keep all of your touch applications and use them on the Android interface but you also have the full desktop arsenal when you switch to Desktop Mode
- Android’s touch applications can also be displayed on Ubuntu’s desktop interface (in windows) and you can use them with keyboard and mouse
Why Android needs Ubuntu and the Linux desktop:
Android is heavily touch oriented and cannot very well serve desktop-oriented productive use-cases (like editing a spreadsheet) even though ARM hardware is now absolutely capable to make a phone or a smartbook a primary computer.
Desktop Mode is important in order to make a mobile device a no-compromise, primary computing solution. Today’s touch-interfaces alone can only serve content consumption.
Current Android office suites are no match for LibreOffice and the touch interface in general is no match for the Desktop when productive work is to be done. Ubuntu includes a lot of other powerful desktop productivity software in their repositories. It provides the full spectrum of sophisticated software like GIMP, Open/LibreOffice, Dia, full-blown Java applications like MindCraft, SweetHome3D, TimeslotTracker, JED, Azureus…etc. Full-featured browsing with Firefox (including plugins like AdBlock), proper, full-blown email client like Thunderbird…etc.
Desktop Mode is a weapon in the mobile OS wars and it would be a key feature against WinRT and iOS. WinRT will have no meaningful Desktop Mode but Apple may decide to migrate desktop features to iOS (from OS X). Since Apple’s new strategy of keeping older iOS devices on the market is very successful, Android needs further innovation and distinguishing features. This is a very good article which has similar arguments as my own.
Why Linux/Ubuntu/Canonical need Android?
Android is still spreading at an impressive rate. Apart from mobile phones, tablets and tablet/smartbook hybrids like the Transformer Prime, it gets into smart-TVs, set-top-boxes (Mele A1000) and other devices.
Android is a well-known consumer brand now, much-much stronger than Ubuntu or Linux in general. A lot of hardware manufacturers are now releasing their devices with Android because that immediately gives market recognition and a huge selection of readily available apps.
UfA has the potential for bringing a lot of users to Ubuntu/Linux and this may be the best way to achieve a much higher market penetration. Canonical may as well stop developing the standalone desktop and still have a growing penetration if UfA becomes successful.
There is a set of problems ahead for UfA and Canonical.
Canonical is currently focusing to dockable mobile phones as the sole target for UfA. Although it is true that mobile phones are the highest-volume Android devices at the moment, they are not necessarily the best devices for expressing the synergy between the two operating systems. Tablet/smartbook hybrids like the Transformer Prime are a more natural target since they already have a sufficiently big screen attached and keyboard/mouse built-in the docking station part of the device. For using UfA with a mobile phone (with acceptable performance) you would need a state-of-the art mobile phone and extra accessories (like a docking station). Docking stations are not widespread at all, you practically cannot buy them with the exception of some phone models like the Atrix. With the Transformer Prime+its dock, you immediately have everything you need to use UfA, no extra expenses.
Ubuntu for Android is practically a closed-source product at the moment and it is not available for the general public. The reasoning behind this is somewhat understandable since installing UfA into an Android instance is a technically complex task and requires rooting the device + a lot of hw-specific settings and configurations (e.g. the X Server). It is really not like selecting an app from Google Play and pushing the Install button. For this reason, Canonical decided that it will try to market UfA exclusively through OEM partnerships so UfA will arrive pre-installed with your device or not at all.
The biggest problem with the above is that it limits UfA adoption severely. Since UfA was announced and presented at the beginning of this year, we should have already heard about a lot of announcements by Canonical and device manufacturers. With the obvious lack of those announcements, we have to assume that there are not enough OEMs which recognize the importance and distinguishing features of UfA. I believe this may be the problem of chicken & egg. First, users must see UfA in action in order to recognize that they need this feature in their next phone/tablet/smartbook/set-top-box and demand it from the manufacturers. The closed-source nature of UfA also makes it impossible for the Linux community to contribute.
I strongly suggest that Canonical select some successful, high-volume mobile devices which are already on the market and release UfA for them as after-market mods. My first target would be the Transformer Prime but the HTC One X and the Samsung Galaxy S3 may also be good targets.
Partnering with the Cyanogen Mod team may be a good way to do this since they already support a wide range of devices (they are especially strong with HTC models) and established themselves as the prime producers of after-market ROMs. The cooperation may give birth to a special Cyanogen edition (let’s call it Cyanobuntu) in order to distinguish the base Cyanogen ROMs from the Ubuntu-extended editions.
Once Cyanobuntu gets sufficiently well known on a set of devices, OEMs may be much more easier to persuade about the advantages of Ubuntu for Android.
Time is of the essence
Ubuntu for Android started off at a very good time but the competition is not standing in one place either. WinRT and Windows8 (for x86) tablets are coming this fall and may prove strong contenders in the mobile computing segment. Windows8 will have both an unlimited Desktop Mode and the Metro touch interface. WinRT will have no meaningful Desktop Mode but it will ship with MS Office so it will have appeal for a set of users.
There is no time to loose, Android and Ubuntu must be ready when Windows 8 makes it début.
Many have predicted, that tablets will replace netbooks completely. While I cannot agree with this absolute statement, I admit that tablets serve a set of use-cases better than netbooks. The touch-interface and low power-consumption of tablets make content consumption more comfortable (e.g. no heating, no fan-noise, longer battery runtime, less weight to lug around…etc).
That said, there are areas where tablets just cannot give enough. For example, any kind of work which requires more serious input while being mobile. The problem of efficient input can be solved with accessories like a bluetooth mouse and keyboard. Usually, when you prepare your tablet for extra-home journeys, you buy a case which also hosts the keyboard.
If we stop here for a moment, we may realize that a tablet in a foldable bluetooth keyboard case is actually a modular netbook (or a smartbook if you like) which is capable of loosing its keyboard for added mobility. This realization, however, is imprecise because the typical netbook software stack is mostly missing: a full-featured office suite, a browser with your favourite extensions and all of the desktop bells-and-whistles you are used to.
How could we improve on this situation?
In the case of Linux based mobile operating systems like Android, WebOS and MeeGo, the answer is fairly simple: bring back the Desktop Mode as the second work environment besides the touch interface. Desktop Mode may automatically activate when you attach a keyboard or a mouse and runs all of your traditional Linux desktop applications. The user is of course should be allowed to easily switch between touch-mode and desktop mode (preferably with a dedicated hw button)
If you think this as a lunacy, think again. Microsoft has already announced that Windows 8 will have this double nature (the metro UI for touch applications and the desktop for traditional applications).
Some people think that the typical ARM based tablet hardware would not be able to run desktop heavyweights like OpenOffice and Firefox. They are wrong and nothing proves this better than the Ubuntu ports already done for the Toshiba AC100 (a video about it is here). This video clearly demonstrates that Tegra2 level hardware with even 512Mb of RAM (and run from an external SD card) is capable of running these applications with acceptable speed (e.g.: cold startup time of 8 seconds for OpenOffice 3.2 Writer). We can safely say that a HP Touchpad’s dual-core SOC overclocked to 1.7Ghz will run these applications significantly faster from the internal SSD and with 1GB of RAM. An even more powerful, Kal-El (Tegra3) based tablet with 1-2GB of RAM will clearly pass Atom-based netbook performance.
Of course, there have already been attempts for providing the Desktop Mode for Android machines. The Webtop interface of the Motorola Atrix is fundamentally a desktop environment, albeit a very limited one.
As I have suggested recently for the HP Touchpad, I believe that every Linux based mobile OS should provide a lightweight desktop environment and a full complement of desktop applications by default (or at least an extremely easy way to install them). Only this way can they counter the very real advantage a dual-mode Window8 would have.
The Touchpad has been discontinued by HP when the company has changed its business strategy recently (getting rid of the whole PC business arm).
A lot of people think that this was an absolutely unnecessary and sorely mistaken step, especially in light of the possible revival of the Touchpad after the PC business has been separated. Not that the Touchpad is a very competitive device in its current form. It has many glaring design mistakes by HP like missing ports (HDMI out, USB host), no expandable storage …etc but it also has many good features like its high-quality IPS-screen, Beats audio system and over-clockable processor.
WebOS also has a huge disadvantage compared to iOS and Android: very few applications, and this seems to be quite a show-stopper in the current situation (a chicken-and-egg problem).
How could HP make this product more successful without resorting to souch brutal fire-sales like the one we have recently seen?
I believe, that HP should exploit one of the big strengths of the core of WebOS: Linux.
WebOS is built on the Linux kernel and it already uses a set of Linux desktop technologies on top of it (Gstreamer, PulseAudio…etc). In a particular sense, it is a heavily customized Linux distribution (distro), like Ubuntu, which is purposefully made incompatible with the grand armada of Linux desktop applications in order to allow applications which use strictly WebOS-only APIs.
The development strategy of allowing WebOS-only applications makes sense, since it ensures a consistent level of user experience (e.g.: all applications are properly touch-oriented) and makes it easy to enhance the foundations of WebOS without breaking applications. However, it locks HP into an uphill battle which seems impossible to win from the current situation.
Therefore, I suggest a change of development strategy, which concurrently allows significantly enhancing the number of applications available for WebOS and makes the system appealing for different use-cases.
The main component of the new strategy would be to allow running full-desktop Linux applications on the Touchpad in a so-called Desktop Mode. This Desktop Mode would automatically activate when WebOS senses a keyboard or mouse attached to the system (only Bluetooth in case of the Touchpad).
Desktop Mode would make it possible to use the TouchPad as a Linux netbook while keeping the touch oriented interface for the tablet-mode. Best of both worlds.
Desktop Mode would be a completely standard, lightweight Linux desktop (e.g: XFCE). and would run the traditional Linux desktop applications and also display the WebOS applications in separate windows. This work environment would not be very different from the Webtop interface of the Motorola Atrix but it would not be such a limited environment. It would be a full-blown, configurable Linux desktop with all of its advantages.
Ideally, you should be able to easily switch back and forth between the Desktop Mode and the Card Interface of WebOS (possibly with a dedicated hw button on new models).
Since Desktop Mode would run every imaginable Linux desktop applications (including Java, Python and even Mono ones), it would make the TouchPad an extremely versatile mobile device. It would be more welcome in the enterprise than its competitors.
The hardware of the TouchPad (dual-core processor clocked at 1.7 Ghz and 1GB RAM) should be absolutely able to handle both Desktop Mode and the Card Interface applications concurrently. Obviously, desktop heavyweights like OpenOffice would open and run slower, but I imagine they would be fast enough to be usable. HP could ship Desktop Mode with lightweight applications (Abiword, Gnumeric…etc) while allowing the easy installation of heavy programs (at your own peril).
The best option for the Desktop Mode would be a chrooted Ubuntu instance because that would mean a very powerful application environment with a lot of readily installable aplications in its repositories (appstore). The WebOS Internals team already ship the X-Server for WebOS, so a well-working Linux desktop is absolutely doable on top of WebOS.
HP could also sell a netbook-kit as an accessory to the Touchbook, which would include a case with a built-in stand and a built-in keyboard. When the TouchPad is in the case and oriented for netbook-mode, the Desktop Mode would automatically activate.
Of course, this solution would not fully compensate the inherent weaknesses of the Touchpad but it would make it more appealing for those people who consider netbooks as usable devices and expect their tablet to be as capable as their predecessors in mobility.
The AC100 is an early attempt from Toshiba to create an ARM based netbook (a smartbook) with Nvidia’s successful Tegra2 chipset.
Although, the AC100 looks like proper hardware design, it became only mildly successful. Some of the reasons may have to do with the primary operating system, Android (see my earlier article about this) but even more can be attributed to the design decisions Toshiba made.
Since these machines are now available in my home country (Hungary) at quite attractive price points (~$250 USD, some people seem to be trying to get rid of it soon after purchase) I can’t help bumping into it all the time. Since I am a gadget fan, I always have my hand trembling seeing those prices and I need to cool myself down before doing some impulse-buy, I regret later.
What could make me click on the “Buy” button?
First of all, 1-2GB of RAM instead of the measly 512MB the AC100 hosts. Why the heck tried Toshiba sell a netbook with 512MB of RAM when ALL of the Atom N450 netbooks seemed to come with 1-2 GB at that time? This amount of RAM would allow to slap Ubuntu onto the machine and not worry about running out of memory when loading up OpenOffice. Ubuntu has been demonstrated on the AC100 and even looks snappy. (see this site dedicated to Ubuntu on the AC100). Toshiba could easily put 2GB of RAM into the machine without major cost-increase.
Desktop OS and/or Android
Putting 1-2GB of RAM into the AC100 would open the gate for using a proper, netbook-oriented desktop OS which can take advantage of the form-factor. They should use Ubuntu, since that could be fixed up on this hardware in no time (especially if they purchase some consultancy from Canonical).
I don’t think that Android needs to stay on the machine but if Toshiba still thinks it is such a good idea for any user-group, they could make the AC100 dual-boot, or even better, run both OSes in parallel (2GB of RAM would make this absolutely possible). Android would be the light-and-easy OS on the device but the user could any time switch to a full Ubuntu desktop with an Android launcher icon and start using OpenOffice or other decent desktop software. The paravirtualization developed by B-labs would be an instant solution for this problem and would future proof the machine for a possible Windows8 scenario later.
The 8 hour runtime of the AC100 is decent enough but more battery-time is always welcome. The enclosure has a LOT of free/empty space under the keyboard due to the ultra-compact nature of Tegra2 and its supporting circuitry. Toshiba should again take advantage of the form-factor and add one or more extra battery docking bays under the keyboard which could extend the runtime to 16-24 hours. (Admittedly, they would make the unit weight much more but since these batteries would be optional, this decision would be up to the user. A 24-hour runtime with a 3-battery arrangement would make the AC100 extremely appealing for a large-set of users. It would be acceptable that the batteries are charged in series (so the recharge process is lengthier) so that Toshiba doesn’t have to switch to a more expensive power supply. (Although the power supply issue is probably not a serious cost factor).
Of course, there would be a lot of things to be improved (more USB ports, higher-resolution display…etc) but I tried to draw up things which require smaller redesign so that an improved version could be implemented faster.
I believe the AC100 line could be made really successful and Toshiba should take steps to make this happen.
Reading about the likely launch of Tegra3 at Mobile World Congress 2011 and seeing this video, one cannot help wondering how big a mistake Intel made when denied Atom hardware interfaces from Nvidia some time ago. Doing that, it practically forced Nvidia to abandon mobile-x86 solutions and pour all of its resources into Tegra/ARM development.
Nvidia has recently announced its Project Denver effort which also shows how seriously the graphics company wants to transform into an all-out computer technology company shipping mobile, desktop and server processors as well not only graphics solutions.
As a result, Intel will have to face not only AMD in the desktop/server segment but a big-name ARM technologist as well. (And several smaller ones like Nufront)
Tegra3 is not well known yet, but some guesses can be made:
- Quad-core Cortex-A9 symmetric multi processing for generic application code execution
- Likely at least 1Ghz top, possible up to 1.5 Ghz, dynamic frequency scaling and individual core-power-off
- Geforce 8 or 9 level graphics core, likely with high-profile 1080p playback and encoding
- Support for Linux and Android
- Possibly produced on a <40nm process (GlobalFoundries 28nm anyone?)
If Nvidia can produce this on the GlobalFoundries 28nm process (or similar), we can be quite certain that the new SOC will still be viable for smartphones and will be an extremely appealing solution for tablets and Motorola Atrix-like phone/netbook/tablet modular solutions.
It will make Moorestown Atoms a very-very hard sell for Intel in the mobile phone and tablet space since the computing-power advantage of Moorestown is gone and Tegra3 will be much more efficient (being an all-out ARM solution). Android-centered OEMs will most likely go with ARM anyway and if there is a big-name producer like Nvidia with a powerful solution for their premium products, they will certainly pick that up instead of the Intel gear.
And this is only the mobile space. When Project Denver from Nvidia and Nufront start selling ARM based server SOCs, Intel will have to fight a battle in the datacenter which was absolutely home-turf so far.
All of this may not have happened at all (or would have happened years later, giving Moorestown a chance) if Intel had not chosen to deny Nvidia the hardware interfaces for building Ion2. They switched a huge threat and possible cut-throat competition in every computing segment for a very short-term gain in one segment.
Was it worth it Intel?
It is not an overstatement that the Motorola Atrix smartphone was one of the bright stars of CES 2011. An often-mentioned, breakthrough feature of the Atrix is its modularity, namely that it can be placed into a netbook dock which gives it work-time (and battery recharge) and a desktop-like work environment (Linux based).
It is worth mentioning that this concept is not brand new and that a smaller company called Always Innovating (AI) has a similar, even more modular product: the Smart Book.
The main difference between the two products is that the computing core of the Smart Book is only a MID, not a real mobile phone like the Atrix.
The advantages of the Atrix over the Smart Book (SB):
- The computing core of the Atrix is a real, usable mobile phone, not only a MID (IP phone as AI calls it) as with the SB. The Atrix phone is a high-end Android phone with beautiful, high-res screen (comparable to the iPhone4).
- The computing core of the Atrix has 1GB of RAM and a powerful Tegra2 (dual-core Cortex A9) instead of the last gen, slow Cortex-A8 SOC and only 512Mb RAM in the Smart Book.
- Computing core of the Atrix has a built-in 3G modem (with strong HSUPA and HSDPA) while the SB has only wifi radio and requires you to use an external 3G modem to connect to the internet when on-the-go.
The advantages of the Smart Book (SB) over the Atrix:
- Much more modular. The SB has tablet jacket AND keyboard/netbook dock for the tablet jacket, while the Atrix only has a netbook jacket for the phone. The SB’s tablet jacket has a capacitive touch interface
- The SB has real a real desktop operating system (Ubuntu) running when in desktop mode while the the Atrix has only Webtop (that only looks like a full blown desktop but it is only a Splashtop-like quick-linux OS, so it is limited to a selection of programs and is not easy to extend with apps).
- The SB has 2 inner USB ports for replaceable 3G modem or storage key which can always ship safely within the netbook dock (no protrusions)
- The SB’s netbook dock can be used as an independent bluetooth keyboard
- The SB’s tablet screen can be used as a secondary display of a desktop (DisplayLink)
- The SB has a dockable (into the talet) HDMI to USB adapter (DisplayLink)
In order to be the perfect companion, the Atrix needs to:
- Increase its modularity by separating the netbook dock into a tablet and a keyboard stand or at least release a tablet dock as well
- Upgrade the Webtop desktop environment to a real, powerful desktop Linux (aka Ubuntu 10.04) or at least ensure that Ubuntu can also be used in place of Webtop. It is important that the user be able to switch between Android and Ubuntu real time
The Smart Book could be a worthy contender to the Atrix by:
- Upgrading the computing core to a dual-core OMAP4 with 1GB of speedy RAM
- The computing core needs to be a real-word Android mobile phone with a strong HSPA data modem
I believe Motorola is in a better position to make the Atrix a one-stop computing solution but I also root for Always Innovating to make the Smart Book a successful product.
Both products clearly mark the future: modular, mobile computing for everyone.
I believe it is high-time that Apache and Google created a new, Java-like programming language, platform and VM which can easily accomodate the ports of the Java base libraries, all of the Apache developed Java libraries/applications and the typical, popular open-source libraries like Hibernate.
Java should start off on the same road as LibreOffice under a different name.
The new “Java” language should be sufficiently close to Java that a one-to-one source converter tool can be written for trivial porting of Java libraries. Apache Harmony is a good basis for this but Snoracle patents will have to be worked around.
The platform should be completely modular and compatible with the packaging systems of Linuxes (apt/yum) and other repository based packaging systems, so that self-containing application packaging can be avoided (this is the case now with most Java applications).
While the language should be backward-compatible with Java, it should incorporate most of the new language advancements of .Net, Python and Ruby. Of course only those which don’t kill basic Java language features like strong-typing.
The new “Java” platform should have an Apache-led, democratic governing body. Similar to the JCP but without veto rights for anyone.
When the platform matures to 1.0 (if Google backs the project with enough cash, it could be reached quickly, since Harmony is likely a good starting point), Apache and Google should publicly announce that they stop active Java development, freeze all of their Java-based projects until they get ported to the new platform. Google should deprecate Java in the App Engine and thus forcibly move developers to the “new” Java. This migration should be easy/trivial.
This would of course practically kill Java but the new “Java” platform would become much stronger than Java has ever been because of the following:
- Since it would be distributed under the Apache license, it would be very commercial-friendly and appealing to companies. We can expect every sane company moving to the new platform in the medium term especially because:
- This platform would be truly open and the stewards (Apache/Google and possibly others) respected and trusted (esp. Apache)
- Nobody actually believes that Oracle will be a good steward of Java.
- Oracle will want to squeeze every last penny of Java (will hurt Java developers/users) without actual development of the platform. Just like they did with Oracle Forms and Reports.
- Due to the open-source nature, packaging and modularity of the new platform, all Linuxes would happily include the new platform and this new “Java” would soon become the primary development language of Linux projects, completely ousting Mono/.NET on the way. Those Linux projects would run on Windows as well so they would strengthen the migration path from Windows to Linux.
- Strong Linux support would bring a substantial developer base to the platform (the open-source developer crowd).
- Google would officially switch to this platform and the success of Android would help its rise considerably.
- Android would bring a substantial developer base (huge number of Android developers)
- Running Android applications on desktops would become possible which doesn’t make sense now but it will soon, since a lot of Android apps will be soon rewritten for tablets and thus become eligible for desktop use.
- The new language should become a primary citizen on the LibreOffice platform. Possibly a basis for every new, larger development in LibreOffice.
- When projects like Maven and Ant get frozen on the old Java platform, developer migration will ensue en-mass to the new “Java”.
The new platform would quickly dominate the server-side, where Java is the strongest currently and Linux is on the rise. It would also quickly dominate the mobile space due to Android.
It is possible that the new platform would also become successful on the desktop, at least in the enterprise space where a lot of Java desktop applications are deployed. The Linux desktop would be the first, possibly it would be followed by the Windows desktop.
Java in its current form, under the stewardship of Oracle, is destined to slow decline. Only a radical renewal like this could put it firmly back to the map of relevancy.