Archive for the ‘linux’ Category

Ubuntu may switch to Android technologies to keep the Linux desktop competitive

March 3, 2013 37 comments

With the recent introduction of Ubuntu Touch a very interesting change of strategy is emerging for Canonical.

As Phoronix and others have discovered, Ubuntu Phone and Touch are using SurfaceFlinger as their compositor. SurfaceFlinger uses OpenGL ES to render applications screens/windows in a hardware accelerated way using the OpenGL driver of the GPU directly.

Now, Canonical is promising a completely integrated experience for Ubuntu 14.04 which will run Phone, Touch, TV and Desktop applications in one common GUI environment. How will they be able to fulfill their promise for Linux desktop applications currently running on Xorg?

So far, everyone has believed that the Ubuntu desktop is migrating from Xorg to Wayland. This migration has been going so slow that there is actually no visible sign of happening any time soon. It seems that Canonical has slightly changed the “to” part of their migration plans. They are not moving to Wayland, they are moving to SurfaceFlinger.

I, for one, think that this is a brilliant idea.

Compared to Android’s SurfaceFlinger, Wayland has not much appeal from the “possible benefits” point of view. SurfaceFlinger is developed by Google and is already deployed on countless Android devices. It has a sizable amount of developers working on it and its future is certain as long as Android is with us (which is pretty likely given its current market share and trends). Migration to Wayland hasn’t started in earnest so there would not be much effort thrown out of the window.

With the recent merging of the Android and the mainline Linux kernels, porting Linux desktops to Android hardware has already become somewhat easier. Wifi, Bluetooth and other hardware components can be accessed through the Android kernel released by the producer of the SOC/board. The biggest remaining problems are making Xorg and audio working. Xorg is used by all desktop applications while audio is used by only some (media players, screen-capture apps…etc). Xorg seems to be a fairly big problem because Android hw producers usually don’t provide X drivers at all and that makes the porting effort a show-stopper for hardware which otherwise run Android very well.

An Ubuntu desktop running on SurfaceFlinger would be a much easier subject for porting to common Android hardware compared to the current situation (as the quickly growing number of devices supporting Ubuntu Touch demonstrates this spectacularly). OpenGL ES driver comes with the Android kernel, released by the hw manufacturer, so SurfaceFlinger works right-away.

The most important part of the migration to Wayland has been the GTK and Qt backend implementations. These can also be created relatively quickly for SurfaceFlinger so 90% of the standard Linux apps would display on it right away (Qt may already has Android/SurfaceFlinger support based on their Git repository)

OK, but SurfaceFlinger is only one part of the problem, what about the rest?

It is very much possible that Canonical/Ubuntu is planning to migrate heavily to Android backend services (not only SurfaceFlinger) in order to take advantage of the huge popularity of Android among the hardware manufacturers.

Possibly, a wrapper may be created for the PulseAudio API to execute sound services with AudioFlinger. The opposite was deemed possible by one of the developers of PulseAudio, so it is certainly an option. This would make the typical audio-using Linux desktop application work on top of Android’s AudioFlinger on a stock Android kernel released by the SOC/board manufacturer.

Other Android services may also be targeted in a similar way. Hardware accelerated video playing would be a notable example but acceleration sensor, camera and GPS services would also become easy accessible for traditional Linux applications.

With such a services-migration completed, one could do a mostly complete Ubuntu port in a matter of days to Android hardware and the required skills would be way-fewer than they are now. As a result, Ubuntu would be available for almost every hardware which supports Android. Some of the ports would be done by Canonical (Nexus devices) and most of them by the community (with the Cyanogen community doing the heavy lifting in many cases).

I think this is a good strategy since it brings Linux desktop applications to commodity Android hardware. Personally, I don’t care what backend services allow my applications to run as long as they do it efficiently and without (many) bugs.

Closing the gap between Android technologies and the Linux desktop would allow the latter to stay competitive and make an integrated experience possible. Linux desktops would eventually become capable of running Android applications (Dalvik would be just another Java-like VM, next to OpenJDK and Snoracle Java) Also, Linux desktop applications may become able to run on Android as first-class citizens (by packaging the necessary wrapper libraries to SurfaceFlinger and others).

Why do I think this is a necessity?

It is widely rumored that the next major version of Android will introduce some kind of desktop environment for keyboard/mouse work. This would allow Android to start shipping on desktop PCs. Given the weight of Google, I imagine that PC vendors would immediately start selling x86/PC hardware with Android. They already do it with ChromeOS which is much more limited than Android, so a desktop-toting Android version would easily beat that in functionality (huge number of apps and an ecosystem rapidly growing up to the weight that of Windows).

In an environment like that, desktop Linux would rapidly loose its remaining competitive advantage and very soon the desktop would be dominated by Android alone (only in the Linux camp, not meaning Windows, although I think that it would eventually become a strong Windows-competitor). If desktop Linux is as easy to port to any hardware as Android and runs Android apps next to traditional Linux apps, the competitive advantage remains.

It is way too early to tell if the above is the plan of Canonical but using SurfaceFlinger points to this direction. I would definitely like to see Ubuntu and other desktop Linuxes on every possible Android devices.


Soon after the article had been published, Canonical announced the development of their own compositor (Mir) and declared SurfaceFlinger as a component to be removed from the Ubuntu phablet stack. This mostly invalidates the assumption on their strategy. If Mir will be able to work with binary OpenGL ES drivers of GPU producers, that will probably make Ubuntu easier to port but definitely not as easy as an OS heavily based on Android technologies.

Why Ubuntu for Android is the most important Linux project today

May 25, 2012 11 comments

I believe that the current market trends make Canonical’s Ubuntu for Android project the most important development in the recent history of Linux.

Current trends

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.

The Problems

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.

Why the Desktop Mode is necessary on Linux-based tablets?

September 4, 2011 5 comments

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.

Categories: linux, smartbooks, tablets, ubuntu

The secret weapon of the HP Touchpad: Linux

August 31, 2011 7 comments

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.

How I would make the Toshiba AC100 successful

May 9, 2011 6 comments

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?

More memory

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.

More battery

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).

What else

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.

Microsoft pushing for 16-core Atom CPUs: something to do with Linux?

January 28, 2011 15 comments

According to this article, Microsoft is pestering Intel to produce low-power Atom-based, x86 processors for server machines.

I am wondering why they would force this direction. Do they know server requirements better than Intel? Why do they think that low-power x86 server chips are so important?

I believe the answer comes from the following factors:

  • Power efficiency is becoming more and more important in the server room. Intel processors (Microsoft’s home turf) have less than stellar watt/performance efficiency but they are the best in raw performance / cores.
  • ARM provides the best watt/performance in general computing (far far better than Intel x86) and ARM is seemingly scalable to the server performance range (with multiple cores and coming to 28nm high-performance production processes)
  • Microsoft doesn’t have a server operating system presence on the ARM architecture. Linux on the other hand runs on ARM, has optimized distributions for ARM SOCs.
  • ARM licensees are actively pursuing server chips (Nvidia, Nufront…etc)

If 4-16 core ARM server processors appear in the near future, servers built with them would have superior watt/performance ratios so they may quickly gain acceptance.

These systems would be perfectly served by Linux distributions (Red Hat, Ubuntu, Suse) and Microsoft could not offer anything for them. Linux is already the strongest player in the datacenter and this would grow its market share considerably while reducing the market-share of Windows simultaniously.

Even if Microsoft manages to create a stable Win8 server OS solution with all the required additional Windows sw (database systems, application servers…etc) on ARM in 2-3 years, it will be pretty much too late. They will need to play catch-up with Linux. The Microsoft Win8 solution will have to sell for peanuts to be in the game which would make it very much unprofitable in the short-medium run. Moreover, as x86 server market share goes down, their x86 Windows Server OS profits also go down.

All in all: If ARM processors appear in the market in the near future, Microsoft may face a steep uphill battle in the datacenter. If x86 based Atom server can slow down the onslaught of ARM servers, Microsoft may gain enough time to come up with a Win8/ARM server solution and avoid serious loss of server market-share.

Categories: linux, ubuntu

Nvidia Tegra3 launch imminent. Intel, you did this to yourself.

January 21, 2011 5 comments

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?

Motorola Atrix vs the Always Innovating Smart Book

January 15, 2011 1 comment

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.

The case for a new Apache/Google “Java”

December 11, 2010 14 comments

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.

Categories: java, linux, tablets

Revised specifications for the Notion Ink Adam

October 27, 2010 7 comments

As the Adam is approaching its public release, some parts of the specification have changed compared to the originally published spec and there is now some information about the target pricing as well. Of course any of it is subject to change. Some of this information is not even corrected on the official Notion Ink website but was posted on their blog.

The bezel of the tablet has been slightly enlarged (as can be seen on the picture):

There will be four base variants of the Adam:

  • PixelQi screen, wi-fi
  • PixelQi screen, wi-fi, 3G cellular modem
  • Ordinary LCD screen, wi-fi
  • Ordinary LCD screen, wi-fi, 3G cellular modem

Both the PixelQi and the ordinary LCD screen will have capacitive, multi-touch interface and 1024×600 resolution, anti-glare coating (matte finish). This is especially useful for reading and outdoor use. PixelQi variant is usable in direct, strong sunlight.

There is no info yet on the HSDPA/HSUPA speeds for the 3G cellular modem.

For internal storage, 16 and 32 GB flash will be selectable.

Common specification elements:

  • Nvidia Tegra2 System On Chip operating at 1Ghz (dual-core ARM Cortex-A9)
  • 1 GB of RAM (DDR2, 667Mhz)
  • WLAN 802.11 b/g/n (previously it was not known whether it will have “n” as well)
  • Bluetooth 2.1 EDR with A2DP (for stereo bluetooth headsets)
  • External loudspeakers (expected to be good quality for enjoyable video playback), external microphone, headphone and microphone jack
  • 3.2 Mpixel swivel camera which will be usable for both taking photos and video calls
  • 2 normal size USB ports and 1 mini-USB port
  • HDMI output
  • microSD card slot
  • Docking port
  • 3-axis accelerometer
  • Ambient light sensor and automatic screen backlight adjustment (this will have a big, positive impact on the battery runtime)
  • Manual LCD back-light switch (most useful for the PixelQi variant)
  • Standalone GPS chip and antennea (with support for A-GPS quick positioning). The Adam will be capable for navigation without 3G network coverage
  • Sound volume keys
  • Backside trackpad (this is an interesting part, check the videos on Youtube)
  • 24 Wh battery (3-cell configuration). Expected runtime is 15 hours for wifi browsing (recently reported on the blog), 140 hours of listening to audio, more than a week standby
  • Operating system is Android Froyo (2.2) with a custom, tablet-enhanced user interface

It is not yet known whether the Adam will have a digital compass (for better navigation and augmented reality apps). It has been asked on the Notion Ink blog comments but no confirmation yet. It would be very much logical to have it in a machine with this hardware level but the long-time omission from the specs indicates otherwise.

Target end-user prices are between $400 and $500 for the 4 variants in the US. Their target is to keep even the fully loaded variant below the price of the entry level iPad.

Availability/release of the Adam is not finalized, but the Early Access Program winners (developers) are expected to have their machines shipped around November 15. Public release should happen soon after in order to make the Adam available for the Christmas shopping season.