Tag Archives: android

Android the new Windows?

I’ve just reviewed the LG GW620 Android phone. I was impressed by its features but disappointed by its usability – it’s not that bad, but scrolling web pages accurately with touch I found almost impossible – it’s hard to avoid scrolling too far and missing out a chunk – and why does LG supply the device with four different email clients?

Apple’s iPhone is much more expensive and compares badly on features, but has the usability and polish that the LG phone lacks.

OEM Android versus Apple iPhone – it reminds me of Windows vs Apple on the desktop.

One is for the mass market, cheap, feature-rich, a bit chaotic, always a few annoyances, but you put up with them because you can still get things done, and it’s an open platform which lets you do what you like.

The other is premium-cost, single-vendor, less annoying, and you spend more time getting on with what you want to do and less time fighting the machine.

I don’t intend this as a  complete parallel. There are more than two popular operating systems in the SmartPhone market right now – Symbian, Meego, WebOS, Blackberry; and Microsoft has big hopes for Windows Phone 7. That said, it is hard to see all these platforms thriving long-term.

Building for multiple mobile platforms with one codebase

Individuals may have strong opinions about the merits of Apple iPhone versus Google Android versus the struggling Palm WebOS versus the not-yet Windows Phone 7; but sit them round a table to discuss app strategy and those diverse platforms change from a debating point to a problem. Presuming a web app won’t cut it, how do you target all those devices without the unreasonable expense and complication of managing multiple projects? The native languages are all different; Objective-C for iPhone and iPad, Java for Android and RIM BlackBerry, JavaScript for WebOS, C# for Windows Phone 7.

There are three possibilities that come to mind. One is that all the platforms will eventually allow you to write in C or C++, making this the unifying language, though you still have some fancy footwork to do overcoming library differences. Android now allows this via the NDK, and Palm via the PDK. There is currently no alternative to Java for Blackberry, and Microsoft says native code won’t be possible on Windows Phone 7, but well, you never know.

The second is Adobe Flash. This is an interesting one, because Apple prohibits Flash on the iPhone, but Adobe has a Packager for iPhone that builds native iPhone apps from Flash projects. Another issue is that although Flash is available or promised for all the main non-Apple devices – Apple’s gift of a selling point to its rivals – it is not Flash alone that does what it needed, but AIR, the “desktop” or out-of-browser runtime. This has been previewed for Android and promised for other devices including Blackberry. AIR for Windows Phone 7? Maybe, though I’ve not seen it mentioned.

A third idea is a clever framework that does the necessary cross-compilation under the covers. This cannot depend on deploying a runtime, nor compiling to native code, because these approaches are blocked by some mobile platforms. Rhomobile has the Rhodes framework, where you code your app in HTML and Ruby and compile for devices including iPhone, Windows Mobile, RIM Blackberry, Symbian, and Android. Rhodes includes an MVC (Model View Controller) framework and an ORM (Object Relational Mapper) to wrap database access. There is also a RhoSync server component to enable offline data with synchronisation back to the server when reconnected; and the RhoHub hosted IDE for buildings apps with a web browser.

Rhomobile tells me that Palm WebOS support is in the works. They also promise Windows Phone 7 support, which intrigued me because Rhodes says it compiles to “true native device applications”. Has Rhomobile gotten round Microsoft’s opposition to native code? Apparently not; VP Rob McMillen eventually told me that this will mean a .NET IL (intermediate language) implementation.

The Rhomobile approach reminds me of AppForge, a company which produced the well-regarded Crossfire add-on for Visual Studio and compiled Visual Basic to a wide variety of mobile platforms. Unfortunately AppForge was acquired by Oracle, and its new owners showed callous disregard for existing customers. Not only did development cease; it also became impossible to renew existing licenses. Thanks to an activation component, that also blocked new deployment of existing applications – every developer’s nightmare.

That said, there is no activation requirement for Rhodes that I know of, and the framework is open source, so I don’t mean to suggest it will suffer a similar fate.

What about Java? On the face of it, Java should be ideal, since multi-device support is what it was designed for. It is a measure of how far Java has fallen that we hear far more about the lack of Flash on the iPhone, than the lack of Java. Microsoft says yes to Flash on Windows Phone 7, though not on first release, but nothing about Java.

Java as a mobile runtime needs a strong dose of lobbying and evangelism from its new stewards Oracle if it is not to fall by the wayside in this context. Hmm, AppForge.

Fragmentation and the RIA wars: Flash is the least bad solution

The latest salvo in the Adobe Flash wars comes from the Free Software Foundation, in an open letter to Google:

Just think what you can achieve by releasing the VP8 codec under an irrevocable royalty-free license and pushing it out to users on YouTube? You can end the web’s dependence on patent-encumbered video formats and proprietary software (Flash) … Apple has had the mettle to ditch Flash on the iPhone and the iPad – albeit for suspect reasons and using abhorrent methods (DRM) – and this has pushed web developers to make Flash-free alternatives of their pages. You could do the same with YouTube, for better reasons, and it would be a death-blow to Flash’s dominance in web video.

Fair point; but one thing the FSF misses is that Apple’s stance has not only “pushed web developers to make Flash-free alternatives of their pages”. It has also pushed developers into making Apple-specific apps as an alternative to web pages – which to my mind is unfortunate.

The problem goes beyond web pages. If you have an application that goes beyond HTML and JavaScript, maybe for offline use or to integrate with other local applications or hardware, there is no cross-platform solution for the iPhone, iTouch or forthcoming iPad.

While I understand that non-proprietary platforms are preferable to proprietary platforms, it seems to me that a free cross-platform runtime is less evil than a vendor-controlled platform where I have to seek approval and share income with the vendor just to get my app installed.

More broadly, it is obvious that the days of Windows on the desktop, Web for everything else are over. We are seeing a proliferation of devices, each with their own SDK: alongside Apple there is Palm WebOS, Nokia/Intel Meego, Google Android, and when Windows Phone 7 comes along, Microsoft Silverlight.

The question: if you have an application and want to reach all these platforms, what do you do? A web app if possible; but otherwise?

It is the new fragmentation; and frankly, Adobe Flash is the closest thing we have to a solution, particularly with the native compilation option for iPhone that is coming in Creative Suite 5.

I don’t like the idea of a single company owning the runtime that unifies all these platforms. That’s not healthy. Still, at least Adobe is currently independent of the obvious industry giants: Google, Apple, Microsoft, IBM and so on.

Dealing a death-blow to Flash is all very well, but the end result could be something worse.

What’s on at Mix 2010 – some surprises as Microsoft talks standards

Microsoft’s Mix conference is on next month – probably the company’s second most interesting conference after PDC, though this Mix looks rather better than last year’s relatively drab PDC (free laptops aside). The company has plenty to talk about, primarily around Windows Phone development – twelve sessions! – Internet Explorer 9, and Silverlight 4. Mix is meant to be a web design conference – though it has always strayed extensively into Windows-only territory – and the inclusion of Windows Phone is a bit of a stretch, but I doubt attendees will care.

It’s notable that Microsoft is making more than a nod to web standards and open source. There is a full day workshop from Molly Holzschlag on HTML5 Now: The Future of Web Markup Today, John Resig on How jQuery Makes Hard Things Simple, and Doug Schepers from the W3C with Microsoft’s Patrick Dengler on SVG: The Past, Present and Future of Vector Graphics for the Web; Christian Heilmann on Participating in the Web of Data with Open Standards; and not forgetting Miguel de Icaza on The Mono Project.

Why would Microsoft talk about such things? Arguably it is a kind of smokescreen, talking standards while busily promoting proprietary stuff like SharePoint and Silverlight. I think there is some of that; but that this new focus also reflects power shifts in the industry. In the new cloud-based era Microsoft has to compete with Google, Mozilla and others; and to make sure that its stuff works in some measure on a diversity of clients, from Android to iPhone. Note the session on Practical Strategies for Debugging Cross-Browser Display Issues.

I would not call this a conversion. I would say this is more about “Windows if we can, standards if we must”. That necessity is increasing though, and the sessions at Mix reflect that.

Google’s strategy unveiled: a little bit of everything you do

Google CEO Eric Schmidt gave a keynote address at the Mobile World Congress yesterday, which is worth watching if you have an interest in the future of technology or, well, human life.

image

The talk was an informative and open insight into Google’s future direction. It was centred on mobile; but since Google now regards the mobile phone as the primary device for how we interact with the world, that was no limitation. Google is putting mobile first, said Schmidt, because it is the meeting point for the three things that matter: computing, connectivity and the cloud. He believes that phones will replace credit cards, for example, as they are smarter and more secure for financial transactions.

Google’s strategy is to combine the near-unlimited power of server-side computing with its database of human behaviour, to create devices that are “like magic. All of a sudden there are things you can do that were not previously possible.”

He gave an illuminating example: Google voice search. You speak into your phone, and Google transcribes your voice and performs a search. Voice recognition is nothing new, but the difference in the Google demo is that it works. Here’s how. The problem with voice recognition is that one word sounds very like another, especially since we do not speak with precision and every voice varies. Computers cannot understand exactly what we say, but they can use dictionaries to come up with a set of possibilities for what we said, one of which is likely to be correct.

image

The next step is the brilliant one. Google takes this set of possible phrases and compares it to recent Google searches. If one of them matches a popular search, then it is likely to be what you said. Bingo. Google now does this in four languages, with German demonstrated for the first time yesterday.

It works on the assumption that humans are not very original. We tend to do similar things, and to be interested in similar things. Therefore, as Schmidt noted, if you are a tourist walking around a city with your location-aware phone, Google does not only know where you are; it also has a good idea of where you will go next.

Another cool demo is for image recognition. We saw this in two guises. In one, you hold up your phone and do an image search using the camera as input. Result: information about the building you are looking at. [Or maybe the person? Hmm.]

In another demo, you point the camera at your foreign-language menu as you ponder which incomprehensible dish might be one you could eat. Back comes the translation in your own language.

Note that these demonstrations are not really about super-powerful phones, but rather about the other two factors mentioned above, the power of cloud computing combined with a vast database of knowledge.

Schmidt’s blind spot is that he does not really see privacy as an issue. He mentions it from time to time; but he is clear that he regards the trade-off, that we give our personal data to Google in return for these cool services, as worth it. I posted a remarkable quote yesterday. Here’s another one, from late on in the address:

Google will know more about the customer because it benefits the customer if we know more about them.

What Schmidt fails to do is to extrapolate the implications for stuff other than cool services. One is what happens if that huge database is used dishonourably. Another is the huge competitive advantage it gives to Google versus everyone else; Google has this data, but rest of us do not. A third is how that data could be used in ways that disadvantage us. An example is in insurance. Insurance is about pooling risk. The more data insurance companies have about you, the more accurately they can assess the risk, which means a wider range of premiums. If by some mechanism insurance companies are able to analyse Google’s data to assess risk, they can refuse to insure, or charge high penalties, for the higher risks. We won’t necessarily enjoy that, because it means more us may find it impossible to get the insurance we want at a price we can afford.

Google’s business strategy

That’s the technical side. What are Google’s business plans? Schmidt made some interesting comments here as well, many of them in the question and answer session.

Google does not plan to become a mobile operator. Schmidt received some fairly hostile questions on this topic. Since Google positions operators as dumb pipes, stealing their talk minutes and insisting on an open web for services, who will invest in infrastructure? Schmidt denies positioning operators as dumb pipes, but does not leave them room for much other than infrastructure; he says they might have a role in financial transactions.

How do we (both Google and the rest of us) make money? Two main areas, according to Schmidt. One is advertising. He says that online advertising spend is currently one tenth of the total, and that this proportion must grow since “consumers are moving from offline to online.” In addition, mobile advertising will be huge since you can target location as well as using other data to personalise ads. “The local opportunity is much larger, and largely unexplored,” he says.

The other big opportunity is apps. The number of apps that need to be installed locally is constantly diminishing, he says, leaving great potential for new cloud-based applications and services.

As for Google, Schmidt says it wants to be part of everything you do:

We want to have a little bit of Google in every transaction on the internet

Thought-provoking stuff, and a force that will be hard to resist.

So who can compete with Google? Making equally capable phones is easy; building an equally good database of human intentions not so much, particularly since it is self-perpetuating: the more we all use Google, the better it gets.

No wonder Microsoft is piling money into Bing, with limited success so far. No wonder Apple’s Steve Jobs is concerned:

On Google: We did not enter the search business, Jobs said. They entered the phone business. Make no mistake, they want to kill the iPhone. We won’t let them, he says. Someone else asks something on a different topic, but there’s no getting Jobs off this rant. I want to go back to that other question first and say one more thing, he says. This don’t be evil mantra: "It’s bullshit." Audience roars.