Tag Archives: google

Back to BASIC with NS App Studio for mobile

I was intrigued to discover NS Basic/App Studio, which offers a simple Windows IDE targeting iPhone and Android mobile devices.

image

It is all a bit retro, especially when you discover that the company (NS Basic Corporation) has the leading Basic on the … Apple Newton.

Still, something like Visual Basic for iPhone and Android sounds interesting. Does this thing deliver?

I tried the demo. What NS App Studio actually does is to translate Basic code to JavaScript, so the end result is a web application targeting mobile browsers, rather than a mobile app. There is a bit more to it though. Apps have access to local storage including SQLite databases, since this is available to the WebKit-based browsers on iPhone and Android. You can create a shortcut to a web app and even run it offline, making it behave somewhat like a locally installed app. Further, the FAQ notes that you can wrap your web app with PhoneGap to create an app that you can distribute through the App Store or Android Market; and this or similar capability may eventually be included in the IDE.

The question though: why would you choose to use Basic rather than just learning JavaScript? I can make sense of the Google Web Toolkit, which compiles Java to JavaScript, but Google’s effort is more sophisticated. You are not expected to puzzle out the generated JavaScript, but just work in Java. By contrast, with NS App Studio you code in Basic but debug in JavaScript, with all sorts of potential for confusion.

I got the impression that the product is not yet mature. I changed the name of the form in my Hello World project, for example, but found generated code that still referred to the old name, causing a JavaScript error. I found it confusing that the property listed as “text” in the visual grid was “textContent” in code. The IDE is very simple, but also very lacking in features. Most developers would find a modern JavaScript IDE more productive.

Nevertheless it is interesting as a proof of concept, and shows the capability of these mobile browsers as a pre-installed application runtime.

Amazon’s Elastic Beanstalk auto-scales your cloud application

Amazon has announced Elastic Beanstalk, which lets you deploy an application to Amazon’s EC2 (Elastic Compute Cloud) and have it scale up or down, by launching or terminating server instances, according to demand. There is no additional cost for using Elastic Beanstalk; you are charged for the instances you use.

Here is a dialog from the control console that says a lot about how the new service works:

image

As you can see, you can specify both a minimum and a maximum instance count, where the number is between 1 and 10,000. You can also control the “Trigger”, the metric that makes Elastic Beanstalk create or terminate instances.

Currently Elastic Beanstalk is for Java applications running on the Apache Tomcat application server, on a standard Amazon Linux virtual machine. However, the following comment in the FAQ indicates that Amazon is investigating other platforms:

Yes. Elastic Beanstalk is designed so that it can be extended to support multiple development stacks and programming languages in the future.

The innovation here is not so much in the technology, which stiches together a number of existing services, but rather in how easy and cheap it is to get started. The cost of entry is almost nothing; in fact, Amazon says you can run Elastic Beanstalk on its free usage tier, for a low-use application. Even I you expect it to remain low-use Elastic Beanstalk provides some other useful features like health monitoring.

It seems to me that this new service is cloud deployment as it should be: removing the administrative burden of scaling your application according to demand. Other platforms like Google App Engine also do this, but with more restrictions on how you design your application. Platforms like Microsoft Windows Azure let you scale your application, but you have to log into the console and spin instances up or down yourself.

One final observation: despite considerable unhappiness in the Java community about the way Oracle is managing the platform, there are still excellent reasons to use it, and Amazon has just provided one more.

Appcelerator acquires Aptana

Appcelerator, a company whose main product is a cross-platform desktop and mobile toolkit called Titanium, has acquired Aptana, whose Aptana Studio 2 is probably the best IDE for JavaScript application development, and which also supports Ruby on Rails, PHP, Python, and Adobe AIR.

It makes sense, in that Titanium uses JavaScript as the primary language for the application logic and UI.

image

Appcelerator is already doing well from the current surge of interest in mobile apps, offering an obvious solution to developers endeavouring to support both Apple iOS and Google Android with a single code base. Aptana looks a good acquisition; but the news may not be so welcome to those who rely on Aptana Studio for Adobe AIR; I imagine Appcelerator may see this as a competing platform. Then again, most AIR developers use the Flash IDE or Flash Builder so it is unlikely to have a huge impact even if AIR support is dropped (I do not know what the plans are in this respect).

The server-side technologies like PHP and Ruby are a better fit, since many mobile apps have a server component.

Update: in the webcast about the acquisition, Appcelerator CEO Jeff Haynie said “There’s quite a few questions around Aptana as it relates to Adobe and ColdFusion; I don’t think we can say anything about that.”

The company is expecting to release a joint Aptana Studio/Appcelerator Titanium beta in March 2011. The initial release will not include a visual designer, though this is planned for some future release.

Talk of Windows 8 on an smartphone shows Microsoft’s mobile confusion

During a conference call to discuss Intel’s latest financials, CEO Paul Otellini raised the possibility of putting the full Windows OS onto a smartphone, running a low power Intel SoC (System on Chip). The matter came up with Otellini was asked about the impact of Windows on ARM, announced at CES earlier this month:

The plus for Intel is that as they unify their operating systems we now have the ability for the first time: one, to have a designed-from-scratch, touch-enabled operating system for tablets that runs on Intel that we don’t have today. And secondly, we have the ability to put our lowest-power Intel processors running Windows 8 – or ‘next-generation Windows’ – into phones, because it’s the same OS stack. And I look at that as an upside opportunity for us.

The reasoning seems to be: if Windows 8 is designed to run well on mobile devices with ARM, it will also run well on mobile devices with an Intel SoC, which will let us put it on phones.

Note the point he highlighted: Microsoft unifying its operating systems. No more full Windows vs Windows CE; one OS from mobile to desktop.

Although that sounds compelling, the snag is that Windows is not well suited to low-power mobile devices, which is why Windows CE was invented in the first place. Microsoft can fix this to some extent by fixing the things that make it unsuitable, but it carries a heavy compatibility burden.

It also throws up the question: just what are Microsoft’s long-term plans for Windows Phone 7, which is built on Windows CE, has its own GUI mostly written in native code, and a development platform based on .NET – Silverlight and XNA – plus a native code SDK that only mobile operators and device manufacturers get to use?

At CES Microsoft Steven Sinofsky sort-of denied that Windows will encroach on Windows Phone 7 territory. “Windows Phone 7 is uniquely focused on the small form factor that Windows doesn’t focus on,” he said.

Nevertheless, the company’s decision not to use the Windows Phone 7 OS for tablets may make that inevitable. What is the difference between a smartphone and a small tablet? Does Microsoft expect developers to write apps designed for Windows on a small tablet and then rewrite them for Windows Phone 7 using Silverlight?

It does not make sense; and despite the Windows Phone 7 promotion included in CEO Steve Ballmer’s CES keynote, I was left wondering whether Microsoft’s new mobile OS really has a future.

That said, Silverlight abstracts the OS, so in principle Microsoft could use it to form a consistent mobile development platform irrespective of whether the underlying OS is Windows CE or full Windows. I am not getting that sense from the company though, and I’d expect the primary Windows SDK to remain based on C++.

I am struggling to understand how Microsoft expects this to work. App compatibility is the obvious benefit of full Windows; but two big issues are that most Windows apps are not touch-friendly and are not designed for small screens. Putting Windows on a tablet with a decent screen size and the dreaded stylus works to some extent, but will never compete with Apple’s iPad for usability. On smaller screens most existing apps will not work properly; and if Windows on small devices sprouts a completely new touch-friendly GUI, or borrows the one from Windows Phone 7, then app compatibility with desktop Windows will be limited.

It feels as if Microsoft’s Windows team is saying one thing, the Windows Phone 7 and developer teams saying another, and partners like Intel saying yet another. Windows Phone 7 was meant to be the thing that made belated sense of Microsoft’s mobile strategy, but even that now looks doubtful for the reasons stated above.

Microsoft is still a long way from having a coherent strategy for mobile devices, and that lack is damaging the company and helping Apple and Google to establish their competing operating systems.

Update: Mary-Jo Foley writes about Microsoft “Jupiter” which is a rumoured new user interface and application model designed for Windows 8 and its app store:

Jupiter is going to be a new user interface (UI) library for Windows, built alongside Windows 8. It will be a thin XAML/UI layer on top of Windows application programming interfaces and frameworks for subsystems like graphics, text and input. The idea is Jupiter will bring support for smoother and more fluid animation, rich typography, and new media capabilities to Windows 8 devices.

Is Jupiter a .Net technology, or XAML adapted for native code, or both? Is it one and the same as, say, Silverlight 6? That is not stated, though Senior VP Soma Somasegar helpfully (or not) said that:

some of the information in this post is not right and out of date, not reflecting Microsoft’s current thinking.

That seems to tacitly confirm that it fairly represents Microsoft’s thinking at some time in the not-too-distant past.

It would make sense to me if Microsoft used Silverlight to unify its application platform as mentioned above, and combining the XAML presentation layer with native code could address performance and memory usage concerns with .NET. This is the kind of news that would really give confidence to Silverlight developers, rather than the damage limitation PR that Microsoft has put out since PDC late last year.

On the other hand, I believe Somasegar when he says the information is out of date, so for the time being it is just another dose of uncertainty.

Half-baked Android tablets will help Apple, give hope to Microsoft

The downside of open is fragmentation. CES earlier this month was overflowing with Android tablets and smartphones, but since anyone can use Android, device manufacturers may disappoint users, for example by shipping tablets that do not use a version of Android designed for tablets, or shipping devices that do not have access to the official Android Market.

The Inquirer reported yesterday that the Asus tablets announced at CES will not in fact ship with Android 3.0 Honeycomb. The reason stated is that:

because the company did not know the detailed technical specifications requirements of the Android 3.0 Honeycomb operating system, it could not confirm that Honeycomb will be the tablets’ OS.

Although it is stated that the tablets will ship with Android 2.3 Gingerbread, I get the impression that Asus might upgrade them to Honeycomb eventually; and since they are now apparently not due until the third quarter there is time for plans to change.

Not all Android devices have Google’s official compatibility blessing.  The frequently asked questions make a good read:

Anyone is welcome to use the Android source code, but if the device isn’t compatible, it’s not considered part of the Android ecosystem.

Only devices that have passed Google’s compatibility tests get access to the Android Market. This leads to a surprising situation for users: you might buy an Android tablet or smartphone and find that it has no access to the Android Market.

Vendors can get round this to some extent by creating their own Android app stores, though this kind of fragmentation is likely to have a bad outcome, with a limited selection of apps and insufficient market share to attract developer attention.

This means that a handy question to ask a salesman is: does this gadget have the Android Market? If the answer is anything less than a demo of the official Google Android Market client, that is reason for caution.

The context is that all these devices have to compete with Apple; and the App Store is a significant part of the appeal of iOS devices. Therefore an Android device without access to the Android Market is disadvantaged, though it is not something you are likely to find mentioned on the box.

There is an obvious danger for Android, that customers confronted with a vast range of Android offerings will find it hard to distinguish between what is excellent, what is reasonable, and horrible implementations like the Next Tablet.

Even the element of uncertainty is enough to help Apple, which is likely to announce a second generation iPad soon. It may even give hope to Microsoft, depending on when “Windows 8” tablets come to market and how good they prove to be.

The challenge for Google is how to keep Android open, while also preventing its brand from being damaged by too many sub-standard devices.

Google, Adobe Flash, and H.264 video

On signing into Google Docs today I saw the following:

image

I clicked Learn more and was directed to this article. The files you can upload and play:

  • WebM files (Vp8 video codec and Vorbis Audio codec)
  • .MPEG4, 3GPP and MOV files – (h264 and mpeg4 video codecs and AAC audio codec)
  • .AVI (many cameras use this format – typically the video codec is MJPEG and audio is PCM)
  • .MPEGPS (MPEG2 video codec and MP2 audio)
  • .WMV
  • .FLV (Adobe – FLV1 video codec, MP3 audio)

And how do you play a video?

Simply click a video file that you’ve uploaded to your Documents List and the video opens in a new page that includes a video player. You will need to have Flash installed for the video player to work.

At the same time, Google says it is removing H.264 support from its Chrome browser:

Though H.264 plays an important role in video, as our goal is to enable open innovation, support for the codec will be removed and our resources directed towards completely open codec technologies.

How do we make sense of this? The implication is that Google is not in fact bothered about H.264, but rather wants to promote Flash for video instead of the HTML 5 <video> element. That is a problem for Apple iOS users who cannot run Flash, and puzzling insofar as you would expect Google to be promoting rather than discouraging HTML 5 adoption.

Possibly the real target is Apple. Flash has become a key selling point for non-Apple mobile devices. By making more use of Flash, Google can make the web more annoying for iOS users and thereby promote Android.

As John Gruber observes, Google has some questions to answer.

Update: Google’s Mike Jazayeri has posted some more background on the decision here.

Google flexes its Chrome browser muscles, removes support for H.264 video – but what about Adobe Flash?

Google has announced that it will remove support for the H.264 video codec in its Chrome browser:

…we are changing Chrome’s HTML5 <video> support to make it consistent with the codecs already supported by the open Chromium project. Specifically, we are supporting the WebM (VP8) and Theora video codecs, and will consider adding support for other high-quality open codecs in the future. Though H.264 plays an important role in video, as our goal is to enable open innovation, support for the codec will be removed and our resources directed towards completely open codec technologies.

The reason given is that Google wishes to support open standards. That sounds good for open standards, but not so good for users who simply want a video to play.

Google’s position contrasts that of Microsoft with IE9:

In its HTML5 support, IE9 will support playback of H.264 video as well as VP8 video when the user has installed a VP8 codec on Windows

Still, at least IE9 will play VP8 if the codec is installed, so that makes VP8 look a better option for content providers – which is the outcome Google is hoping for.

I have mixed feelings about this approach, because while it is good for open standards it is bad for compatibility. I am also not sure that it is consistent. Google announced in June that it is integrating Adobe Flash support into the browser; yet Flash is not an open standard.

That also suggests that H.264 video will still play in Chrome, provided it is in a Flash wrapper.

Maybe Google is learning from Apple how to deprecate technologies by removing support. Apple refuses to allow Java or Flash on iOS, and has stopped doing its own build of Java for OS X. Apple has also stated that these “optional” components may not be used in apps that are deployed in the Mac App Store, thus making a disincentive for developers considering those runtimes.

Apple has not squashed Flash though; and Google may find it equally hard to squash H.264, which is widely supported throughout the industry, has the best tools, and for which hardware is optimised. Apple supports H.264 but is unlikely to support WebM or Theora any time soon. Here’s what Apple CEO Steve Jobs said in April 2010:

To achieve long battery life when playing video, mobile devices must decode the video in hardware; decoding it in software uses too much power. Many of the chips used in modern mobile devices contain a decoder called H.264 – an industry standard that is used in every Blu-ray DVD player and has been adopted by Apple, Google (YouTube), Vimeo, Netflix and many other companies.

Although Flash has recently added support for H.264, the video on almost all Flash websites currently requires an older generation decoder that is not implemented in mobile chips and must be run in software. The difference is striking: on an iPhone, for example, H.264 videos play for up to 10 hours, while videos decoded in software play for less than 5 hours before the battery is fully drained.

When websites re-encode their videos using H.264, they can offer them without using Flash at all. They play perfectly in browsers like Apple’s Safari and Google’s Chrome without any plugins whatsoever, and look great on iPhones, iPods and iPads.

It seems Jobs spoke too soon when he said H.264 would play perfectly in Chrome.

Post updated to add Apple quote

Apple’s Mac App Store – and the forgotten Windows Marketplace

Apple launched the Mac App Store yesterday and I had a look this morning. It is only available to users of Mac OS X Snow Leopard, where it comes with the latest system update.

image

It is interesting that Apple has not used iTunes for the App Store, but has developed new client software. Maybe it is coming round to opinion that iTunes has become bloated; it is only for historic reasons that a music player has become an all-purpose app installer.

The store itself worked well for me. I picked a free app, TextWrangler, and signed in with my Apple ID. The UI showed Installing, then Installed, and I was done.

image

The TextWrangler icon appeared in the Dock so I could start the app easily.

What counts is what I did not have to do – reboot, select from setup options, or deal with perplexing error messages.

Users will also like the common-sense licensing, which lets you download and install a purchased app on any Mac you use, controlled by your App Store log-in. I am not sure what happens if you install your app on your friend’s Mac, then sign out of the App Store. There is some link between the app and your Apple ID, because if you copy the application to another Mac it will ask for your sign-in details when you first run it, but I am not clear whether this is checked on every run to deter piracy.

Most important, there is an attractive range of apps at good prices. In the UK, Angry Birds is £2.99, Pinball HD £1.79, and Apple Pages or Keynote £11.99 each. That is less than typical Apple Store shrink-wrap prices. The prices for Pages and Keynote makes the price Microsoft charges for Office look impossibly expensive. Good for customers; but worrying for independent software vendors who want to make a living.

Developers pay $99.00 per year to join the Mac Developer Program and then 30% commission to Apple on every sale. Of course, like the iPhone App Store, apps are subject to Apple’s approval.

Lest you think it is clever of Apple to invent an app store for the desktop, it is worth noting that the concept is an old one. Linux has delivered free software like this for years, and some distributions have also featured paid app installers integrated into the OS.

So has Microsoft, which has run various varieties of Windows Marketplace over the years, for mobile and desktop applications. Windows Vista shipped with an app store for both Microsoft and third-party apps built-in. It was on the Start menu:

image

as well as in Control Panel:

image

On November 1st 2008 Microsoft shut down Windows Marketplace and “transitioned” it to a referral site. There was some angst at the time about the closing of the digital locker, which proved insecure against the threat of corporate mind-changing. It still runs the online Microsoft Store, but this is for Microsoft-only products. For example, you can download Microsoft Songsmith for £25.00:

image

Why did Windows Marketplace fail? Well, the user experience was poor, it was insufficiently prominent in the Vista user interface, setup could be troublesome. Major Windows app vendors figured out that they would be better off drawing potential customers to their own web sites, where they have full control. As is often the case, Microsoft was conflicted over whether it wanted to drive customers to the online store, or to partner retailers, or to app vendor sites; and the OEMs would have their say as well, when customising Windows for their own PCs.

Another factor is that Windows apps are often not well isolated. Silverlight actually solves this problem – out-of-browser apps are well isolated and secure – but Microsoft does not even ship Silverlight by default with Windows.

The indications are that Microsoft will have another go in Windows 8. Documents leaked last year show an app store. From my post at the time:

There’s a pattern here. Microsoft gets bright idea – Tablet, Windows Marketplace, Passport. Does half-baked implementation which flops. Apple or Google works out how to do it right. Microsoft copies them.

NVIDIA Tegra 2: amazing mobile power that hints at the future of client computing

Smartphone power has made another jump forward with the announcement at CES in Las Vegas of new devices built on NVIDIA’s new Tegra 2 package – a System on a Chip (SoC) that includes dual-core CPU, GPU, and additional support for HD video encoding and decoding, audio, imaging, USB, PCIe and more:

image

The CPU is the ARM Cortex-A9 which has a RISC (Reduced Instruction Set Computer) architecture and a 32-bit instruction set. It also supports the Thumb-2 instruction set which is actually 16-bit. How is 16-bit an upgrade over 32-bit? Well, 16-bit instructions means smaller code, even though it gets translated to 32-bit instructions at runtime:

For performance optimised code Thumb-2 technology uses 31 percent less memory to reduce system cost, while providing up to 38 percent higher performance than existing high density code, which can be used to prolong battery-life or to enrich the product feature set.

The GPU is an “ultra low power” (ULP) 8-core GeForce. In essence, the package aims for high performance with low power consumption, exactly what is wanted for mobile computing.

Power is also saved by sophisticated power management features. The package uses a combination of suspending parts of the system, gating the clock speed, screen management, and dynamically adjusting voltage and frequency, in order to save power. The result is a system which NVIDIA claims is 25-50 times more efficient than a typical PC.

According to NVIDIA, Tegra 2 enables web browsing up to two times faster than competitors such as the Qualcomm Snapdragon 8250 or Texas Instruments OMAP 3630 – though of course these companies also have new SoCs in preparation.

Tegra 2 is optimised for some specific software. One is the OpenGL graphics API. “The job of the GPU is to implement the logical pipeline defined by OpenGL”, I was told at an NVIDIA briefing.

image

I asked whether this meant that Tegra 2 is sub-optimal for Microsoft’s Direct X API; but NVIDIA says it is sufficiently similar that it makes no difference.

Nevertheless, Tegra 2 has been designed with Android in mind, not Windows. There are a couple of reasons for this. The main one is that Android has all the momentum in the market; but apart from that, Microsoft partnered with Qualcomm for Windows Phone 7, which runs on Snapdragon, shutting out NVIDIA at the initial launch. NVIDIA is a long-term Microsoft partner and the shift from Windows Mobile to Android has apparently cost NVIDIA a lot of time. The shift took place around 18 months ago, when NVIDIA saw how the market was moving. That shift “cost us a year to a year and a half of products to market”, I was told – a delay which must include changes at every level from hardware optimisation, to designing the kind of package that suits the devices Android vendors want to build, to building up knowledge of Android in order to market effectively to hardware vendors.

Despite this focus, Microsoft demonstrated Windows 8 running on Tegra during Steve Ballmer’s keynote, so this should not be taken to mean that Windows or Windows CE will not run. I still found it interesting to hear this example of how deeply the industry has moved away from Microsoft’s mobile platform.

Microsoft should worry. NVIDIA foresees that “all of your computing needs are ultimately going to be surfaced through your mobile device”. Tegra 2 is a step along the way, since HDMI support is built-in, enabling high resolution displays. If you want to do desktop computing, you sit down at your desk, pop your mobile into a dock, and get on with your work or play using a large screen and a keyboard. It seems plausible to me.

During the press conference at CES we were shown an example of simultaneous rich graphic gaming on PC, PlayStation 3, and Tegra 2 Smartphone.

image

Alongside Android, Tegra 2 is optimised for Adobe Flash. NVIDIA has been given full access to the source of the Flash player in order to deliver hardware acceleration.

image

image

Actual devices

What about actual devices? Two that were shown at CES are the LG Optimus 2X:

image

and the Motorola Atrix 4G:

image

Both sport impressive specifications; though the Guardian’s Charles Arthur, who attended a briefing on the Atrix 4G, expresses some scepticism about whether HD video (which needs a large display) and the full desktop version of FireFox are really necessary on a phone. Apparently the claimed battery life is only 8 hours; some of us might be willing to sacrifice a degree of that capability for a longer battery life.

Still, while some manufacturers will get the balance between cost, features, size and battery life wrong, history tells that we will find good ways to use these all this new processing and graphics power, especially if we can get to the point where such a device, combined with cloud computing and a desktop dock, becomes the only client most of us need.

NVIDIA says that over 50 Android/Tegra 2 products are set to be released by mid-2011, in tablet as well as Smartphone form factors. I’m guessing that at least some of these will be winners.

Hardware vendors chase Apple’s iPad at CES with Android, not Windows

There is a chorus of disapproval on the web today as Asus announced a full-fat Windows tablet  (Eee Slate EP121)  at CES in Las Vegas, along with three other devices running Google Android – the Eee Pad MeMo, the Eee Pad Transformer, and the Eee Pad Slider.

The most detailed “review” I’ve seen for the EP121 is on the Windows Experience Blog. Core i5, 4GB RAM, 64GB SSD, capacitive screen with touch and stylus input.

Nice in its way; but no kind of game-changer since this is an echo of early Windows slates which never achieved more than niche success. Four big disadvantages:

  • Short battery life
  • High price
  • The stylus
  • and another thing: in the rush to embrace touch computing, vendors appear to have forgotten one of the best features of those early tablets: you could rest your hand on the screen while writing with the pen. If you have a combined touch/stylus device that will not work.

Microsoft fans will be hoping CEO Steve Ballmer does not make too much of the EP121 and devices like this in tonight’s keynote. If he does, it will seem the company has learned little from failures of the past.

Asus deserves respect for introducing the netbook to the world in 2007, with the original Eee PC. It ran Linux, had an SSD in place of a hard drive, battery life was good, and above all it was light and cheap. Back then the story was how Microsoft missed the mark with its 2006 Origami project – small portable PCs running Windows – only to be shown how to do it by OEMs with simple netbooks at the right price.

Asus itself is not betting on Windows for tablet success; after all, three of the four products unveiled yesterday run Android. Despite what was apparently a poor CES press conference these may work out OK, though the prices look on the high side.

There will be many more tablets announced at CES, most of them running Android. Android “Honeycomb”, which is also Android 3.0 if Asus CEO Johnny Shih had his terminology right, is the first version created with tablet support in mind.

But why the tablet rush? The answer is obvious: it is because Apple has re-invented the category with the iPad. Since the iPad has succeeded where the Tablet PC failed, as a mass-market device, intuitively you would expect vendors to study what is right about it and to copy that, rather than repeating past mistakes. I think that includes long battery life and a touch-centric user interface; keyboard or stylus is OK as an optional extra but no more than that.

Equalling Apple’s design excellence and closed-but-seamless ecosystem is not possible for most manufacturers, but thanks to Android they can come up with devices that are better in other aspects: cheaper, more powerful, or with added features such as USB ports and Adobe Flash support.

It is reasonable to expect that at least a few of the CES tablets will succeed as not-quite iPads that hit the mark, just as Smartphones like the HTC Desire and Motorola Droid series have done with respect to the iPhone.

Microsoft? Ballmer’s main advantage is that expectations are low. Even if he exceeds those expectations, the abundance of Android tablets at CES shows how badly the company misjudged and mishandled the mobile market.

The implication for developers is that if you want app ubiquity, you have to develop for Android and iOS.

Microsoft could help itself and its developers by delivering a cross-platform runtime for the .NET Framework that would run on Android. I doubt Silverlight for Android would be technically difficult for Microsoft; but sadly after PDC it looks unlikely.