Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

Friday, 25 January 2013

The coming Android super-swarm

Stick computers spell doom for Intel, Microsoft and the PC.

In 2013 Android, which has moved steadily from mobile phones to tablets and set top boxes, seems poised to enter a “swarming” phase where dozens of manufacturers will release hundreds of devices, creating new markets and swamping (even destroying) established ones as it does.

To see what I mean, just: search Google for “Android Mini PC” and take a look at a few of the products that are available. These devices, which I'm calling “stick PCs” for short since they all have a USB-stick form factor, mostly run a current or near-current version of Android, but on some of them you can install Linux distributions such as Ubuntu, ported by enthusiasts.

To take one brand as an example, the Rikomagic MK802 series has been used as a home media center, a smart displays for commercial events, for home gaming on the TV, for internet browsing (not just websites, Twitter and Facebook, but also enough oomph for YouTube and Google Docs). Enterprising users hook up USB cameras and run Skype — yes, the whole family sitting comfortably in front of the TV, chatting on camera to relatives on the far side of the world.

Android mini PCs — an evolutionary frenzy

The stick PC market is in an evolutionary frenzy. From its first appearance in mid 2012, the MK802 brand has seen five different generations in six months: MK802, MK802+, MK802 II, MK802 III and now MK802 IIIS. No sooner does a feature such as Bluetooth appears in one product than it spreads to all the others. Single core CPUs (Allwinner A10) have given way to dual core CPUs (Rockchip RK3066), and quad core CPUs are on the very near horizon.

Though often marketed as set top box replacements or home media centres, stick PCs are fully-fledged general-purpose computers, with CPU, GPU, RAM and flash memory. Connectivity usually include a couple of USB ports, and HDMI port. wi-fi and often also Bluetooth.

Bolted to a desktop monitor, stick PCs can be controlled with USB mouse and keyboard; plugged into your TV they can be controlled by infrared or Bluetooth keyboards and mice. Some of the later models can be controlled by apps on your Bluetooth-enabled Android mobile phone, a feature I expect to become universal in the next few months.

A typical spec includes a dual-core Cortex-A9 (an ARM7-class processor), ARM Mali or Imagination PowerVR graphics, a gig of RAM and four or eight gig of flash. You’ll note that these are mobile phone specs — last year’s mobile phone specs to be exact — and there’s no doubt that these devices are sourced at small marginal cost. Of course, since stick PCs are generally not mobile but attached to a TV or monitor and fed from a power lead plugged into a mini-USB port, the limiting factor is heat dissipation, and they could easily manage an A15 or even higher CPU and more powerful GPU.

Stick PCs will kill the established PC market, from the bottom up

Now that the first generation of digital TVs are moving out of the living room and into the bedroom, replaced by ever bigger and better sets, why buy your kids a new desktop PC when they can plug a stick PC into the TV in their room? For the price of a decent spec desktop running Windows 8 you can get a stick PC for every member of the family. And no more losing your files on an old, slow hard disk that has to be regularly backed up: services like Google Drive, Flickr and Google Docs provide pretty much everything the home user needs, only more conveniently.

Those who’ve been around computers for a while will recognise that with the stick PC, Sun’s Network Computer idea has finally arrived on the scene, only a decade or so late. At the time, Sun got the details wrong and was unable to build such a machine for less than the cost of a much more highly specced desktop; today, dozens of Chinese manufacturers have already succeed.

Intel, so far almost completely absent from a mobile phone market ruled by Android on ARM, is now suffering due to recession in the traditional Wintel desktop market and the failure of its Ultrabook platform, eclipsed by ARM-powered tablets. Intel’s latest accounts show net income down 15 per cent year on year.

Indeed Intel seems to have seen the writing on the wall as it has just announced that it is leaving the desktop motherboard market. Its own foray towards this market, the Next Unit of Computing, looks timid and a little clunky in comparison. The best prices I could find for a NUC with no RAM in it was about four times the cost of a typical stick PC.

As for Microsoft, while all stick PCs come with media centre software, Microsoft’s entry in that market, Windows Media Centre, is only available as an add-on to Windows 8 Pro — you can’t even get it for the base-level Windows 8 product. At current upgrade prices, soon to be upped at the end of January, that will cost you £24.99 for W8 Pro, while Media Centre is then free for a limited period. And Microsoft’s entry in the low-power, tablet space? The crippled Windows RT.

People in emerging markets, whose first and so far only computer is an Android handset, may not purchase a traditional Windows or Apple PC at all. When and if they do need something more work oriented, they may seek the familiarity of the Android interface on a cheap stick PC, keeping the cost of the base unit right down and repurposing an existing TV. Ironically, Windows 8 with its new mobile-style interface legitimises the Android UI for desk work — surely not what Microsoft intended.

The implcations for Google itself are more nuanced. The writing may be on the wall for Google TV, as that market stands to be completely gobbled up by stick PCs. However Google can take comfort from the fact that every single one of the latest batch of stick PCs seems to incorporate access to the Google Play store — hinting that Google Play may be an invaluable asset for whipping into line the likes of Samsung and the no-name Chinese phone manufacturers who strip out links to other Google web properties and replace them with Alibaba.

Opportunities for others

Ironically, such turmoil could give an opening to the savvy and fleet of foot. Perhaps Imagination Technologies (LON:IMG) could persuade someone to produce a stick with an Ingenic JZ4780 SoC (dual core MIPS CPU plus PowerVR Series5 GPU) instead of the currently-favoured RK3066.

There might also, finally, be opportunities for some of the also-ran Linux-based OSes like Tizen (backed by Intel and Samsung) or Sailfish (all that remains of Nokia’s Meego effort), or Canonical with Unity on Ubuntu. Canonical, who are pitching at mobile phone makers, have had the idea that you will be able to plug your phone into a keyboard/monitor/mouse setup and use it as the heart of a desktop system, with installed software receiving notification that it’s now running on a larger screen, and changing its layour accordingly. You can see that such a system might be even more suited to stick PCs plugged into TVs than is Android.

Tuesday, 2 September 2008

Google Chrome. OH. MY. GOD.

Apologies for the quality of this post. There's so much to say and my thought processes are just running all over the place as various connections are being made. I've just read about Google's new Chrome web browser tonight, it's all over the web.

My first reaction was, "How odd!" Why would Google want to bring out a new browser? There are new browsers appearing all the time, and it would be much more in keeping with G's modus operandi to date for them to simply help out with advice, code and a bit of cash here and there, rather than to up-end the whole apple-cart like this.

Then I read the 38-page cartoon that they sent out explaining things. And my second reaction was, "Oh. My. God."

It seems obvious now that development of current browsers was either not going in the right direction for Google, or just wasn't getting there fast enough. Things are scrappy. They're fragmented. Google have big plans for the browser, and it looks like they've decided to start bringing all the strands of their work together, so that we can begin to see the shape of what's coming.

Strands? Heck, let's change metaphor. It's like when the tide starts to come in on a nice warm beach. At first all you can see is tiny rivulets of water coming from all directions and going in all directions. It's only later you realise that THE SEA is on its way and your little spot in the sun is soon going to be under six feet of water (and yes, Microsoft, it is you on that towel).

So they've made all these little moves. And they looked a bit odd and a bit disconnected. Google Apps — a bit slow, a bit underpowered, but they would be see, 'cos they're running in a browser. GWT — what's the point of a development environment that has you writing web apps like they were desktop apps? Gmail — nice example of what you can do with Ajax, was it written using GWT? Android — what browser does it use?

But now Google are bringing out Chrome, whose intent seems to be to run applications as complicated as the most complicated ones that you run natively on your operating system, and to run them just as fast (or at least, in the same ball-park). Hmm, Google Apps, they're going to be a bit snappier now, aren't they? Hmm, I can see the point of a big-iron development environment based on a typed language now! And Android, currently sporting the browser that Chrome is based on, will likely be running Chrome or a Chrome-alike in the next release (after the one that we still haven't had yet).

That's enough hot air and pontificating. The rest of this post is specific reactions to things in the cartoon, which you may not understand unless you follow the link above and read the cartoon.


They are using the Webkit code base. Not Mozilla. By my reckoning that's now about a million billion important new browsers have been built on webkit, versus ... erm ... (I can't think of any) built on the Mozilla codebase. OK, so I'm using "important" in a very particular sense: "big", that is to say, backed by an organisation (probably a commercial company) and guaranteed a large user base. (And I know that there are lots of browsers based on Mozilla, but together they must have a user base approaching, what, 10,000 people?) [Yes, other than Mozilla itself and Firefox.]

Mozilla are #?*&ed! Now the flow of money from Google to the Mozilla foundation is not charity, it's a deal whereby Mozilla preferentially funnels its searches to Google. So that can stay in place. As long as Mozilla users search on Google, Mozilla can get money out of that deal, there's no sense in Google just killing it. So Mozilla is not #?*&ed immediately then, but stand by to see it lose market share vertiginously if Chrome is as good as Google thinks it's going to be.

Stand by also to see Microsoft scramble to match Chrome in terms of features. This comes at a particularly bad time for Microsoft, with IE 8 code very likely closed to new functionality, and the release only a few months away [GOOGLE SMACKS MICROSOFT, #1]. What do MS do now? Do they stick to the original release timeframe and release it as-is, and smart when nobody notices because Google released a better browser a few months back [and that's TOMORROW folks!] and everybody's using it? Or do they pull the release and desperately try to match Chrome, feature for feature?

Omnibox. I can see this running into trouble very quickly. This business of remembering what site-based search boxes you've used, and allowing you to reuse them by typing in a site identifier and then a tab and then your search terms? Think of the controversy caused by deep linking a few years back. This is an excellent way to cut a website's search page out of the loop. So now, instead of first going to Amazon's home page and having to skim over all the stuff they've kindly prioritised for you as your eye hunts for their search box, you'll go straight to their results page. Hmm. Site publishers are going to regard this as kidnapping their search boxes, and I would be surprised if there weren't a few legal challenges to it soon.

Interesting to see the places in the cartoon where they have obviously decided to put the wind up the competition. Some of them really made me chuckle.

On page 4 they say that each tab is a separate OS process. If memory serves, Unix/Linux processes used to be lighter weight than Windows ones. Assuming that's still the case, Chrome may be a bit sprightlier and more performant on Linux than on Windows [GOOGLE SMACKS MICROSOFT, #2] — just the thing for those Linux-powered net-tops that are springing up all over the place.

On page 5 they point out that this means that the sort of badly-behaved page that used to make your entire browser crash will now only affect the one tab. This must happen to me about once a day at least: four separate browser windows open, themed for work-related stuff (several pages of documentation from assorted sites), news (Google Reader for scanning, then I open up any interesting stories in their own tabs), mail, and one for anything else; that's twenty or thirty pages all open at once, some of them regularly updating in the background. When a bad page takes down that lot it's annoying and I thank heaven for Firefox's auto-reopen feature. When the bad page is really bad, and Firefox goes down again straight away as soon as it tries to reopen it, that's when I get annoyed.

Pages 9-11 must be putting the fear of God into Microsoft right now. Google are showing off how they can push automated Chrome testing out over their famous distributed server network, testing tens of thousands of web pages per hour [GOOGLE SMACKS MICROSOFT, #3] and making sure that they cover them in order of importance, as indicated by their very own page ranking alogrithm.

Page 13 is very interesting. They mention no names, but I immediately thought of Adobe's Tamarin VM for Javascript, now donated to Apache. Were they thinking of Tamarin? Did they look at it and reject it, or was it not open source back when they decided to write one themselves? I need to look at the timescale for that more carefully. One thing: Tamarin is built for the version of Javascript that didn't make it into the new standard, and work is apparently under way at Apache to convert it for the version that did. Good luck with that. Google probably thought it was better to start from scratch [GOOGLE SMACKS ADOBE]. And if the boys that did the new Javascript VM are more or less the same ones that did the Dalvik VM for Android, then Google probably thinks it can do a damn good job on its own, and rightly so.

Interesting also that they are seem to be JIT-compiling Javascript to machine code. That's been a perilous way to go in the past, partly because of what can happen with variables. Javascript variables are untyped, but the values that they hold do have types (number, string, object, ...). Now there's nothing to stop me coding a for-next loop where the value held in some variable used inside the loop changes type on each pass through, and in the past that's either killed efforts to compile Javascript or put serious constraints on the efficiency of the resulting code (by making it have to be too general).

In this context, it's especially interesting to look at the latest release of the Google Web Toolkit (GWT). GWT you will remember lets you write your web application in Java, a heavy-duty, strongly-typed language, which GWT then "compiles" to Javascript for actual execution in the web page. The release notes for the latest version of GWT noted that this "compilation" phase effectively throws away the valuable type information, in the transformation from typed Java to untyped Javascript, and that in previous releases this negatively impacted performance. But the current release takes advantage of the fact that any Javascript variable in a web page produced by GWT is guaranteed to have come from a typed Java variable! In other words, you can guarantee that that sort of type-bending naughtiness isn't going to happen in a respectable GWT application. So you can do type inference based on the first value of a variable that you see... And then the release notes said that that had led to sundry improvements that were beyond my understanding, because all I could think of was that Javascript was still untyped.

So what's the betting that GWT-produced web applications will run especially well in Chrome, because of the good behaviour of their variables (and, no doubt, for many other reasons way above my head)?


Michael Arrington at TechCrunch says:

Make no mistake. The cute comic book and the touchy-feely talk about user experience is little more than a coat of paint on top of a monumental hatred of Microsoft.

I hope this doesn't mean that MS have got so far under Google's skin that they are letting hatred guide their actions. That would be a colossal mistake. So far, Google have been the nimble players. They are the ones who, in every case [May not be true. I have a terrible memory!], have led the way with an unexpected paradigm-shift, leaving others scrambling to catch up. Letting Microsoft-hatred guide your actions is a mistake other companies have made in the past, and it's ruined them because it hands the initiative to MS, who are not slow to capitalise on the opportunity.


Update: Dave Methvin over at Information Week points to where Google may have got some of the technology they are using to sandbox Chrome tabs.

Monday, 28 January 2008

Nokia buys Trolltech

For 105 million euros, apparently.

The main interest is presumably Trolltech's Qtopia, but hopefully it's also good news for their Qt product (Qtopia is based on Qt) and KDE (a community-developed free software desktop also based on Qt) as well. I'd expect Nokia to be able to make a better fist of KDE than Sun has with Gnome, should they choose to do so.

Perhaps it wouldn't be altogether too fanciful to see this as Nokia's answer to Google's Android. It's interesting that Google Earth is said to be written in Qt — I wonder if there's any Trolltech technology in Android at all?

Trolltech's stock price shows something typical for a new technology company: a nice, steady decline from its initial IPO after a (very) brief burst of enthusiasm in the hours immediately following it, and reaching some kind of support level at about May 2007. There was still a slight decline going on even after this, so I doubt I'd have picked it. I wonder if there's now going to be a burst of purchases in this sector?