Viewsonic ViewPad 10 Pro does Windows and Android – but Windows first

Viewsonic has announced the ViewPad 10 Pro, a 10” tablet that runs both Microsoft Windows 7 and Google Android 2.2.


I saw the ViewPad 10 Pro briefly this morning here at Mobile World Congress. Specs include Intel Oak Trail chipset, 2GB RAM, 32GB storage, and front-facing camera for conferencing.

The big appeal of the ViewPad 10 Pro, successor to the ViewPad 10, is that it runs Android as well as Windows. Just tap a button, and Android appears in place of Windows.

Sounds good; but as Viewsonic explained how this works I became doubtful. Apparently Android runs in a virtual machine on top of Windows. I have nothing against virtualization; but this approach does suggest some compromises in terms of Android performance and efficiency. No matter how clever Viewsonic has been in its implementation, some resources will still be devoted to Windows during an Android session and battery life will be less good than it might be.

I can see more sense in running Android first, for the sake of its speed and efficiency on low-power hardware, and Windows in virtualization for when you need to dip into Excel or some other Windows application.

The upside of this approach is that you can switch between the two without having to to do a hard reboot.

Viewsonic says you will be able to get one of these in your hands around May 2011.

Android Market not working for all customers, says Angry Birds CEO

Rovio (Angry Birds) CEO Mikael Hed spoke at Mobile World Congress in Barcelona about “Making apps profitable.”


He should know – but “There is no super secret sauce to this”, he said. Quality, hard work, money, and I suspect a lot of luck are in the recipe.

There were some interesting asides though. One was that the Android Market payment system, which uses Google Checkout, is not working well for Roxio.

On Android there are several challenges with the billing part. It’s not possible for all customers across all carriers to buy Android content. That’s why even the most successful paid content on the Android market is in the low hundreds of thousands, which is a huge disappointment. It’s a problem for customers because they can’t buy the content even if they want to. That leads to increases in piracy.

In response, Roxio is exploring other ways to sell its Android apps, including alternative stores and in-carrier billing.

These reservations do not apply to Apple, which manages the entire iOS platform from store to device. On the other hand, the freedom which Android offers means that there are ways to work around the issues.

Mobile World Congress kicks off in Barcelona

I’m at Mobile World Congress in Barcelona – and if you need any convincing about the power shift towards mobile in the industry, simply being here may be sufficient. Spread over 8 vast halls, it is huge, with 1361 exhibitors according to the latest available figures.


The size of the event makes it impossible to cover it all. My focus is on the developer story. I have started preparing a chart of mobile development tools platforms, which is proving to be a slippery task, but will post this soon for feedback and improvement.

Yesterday I attended the Nokia press event and will post separately on this soon. It is a fascinating story, whatever the outcome, and I doubt any of the other news this week will be as significant.

Intel disappointed with Nokia’s Microsoft move, still backing MeeGo

Intel’s Suzy Ramirez has posted about the future of MeeGo Linux following Nokia’s decision to base its smartphone strategy on Microsoft’s Windows Phone operating system. Nokia was Intel’s key partner for MeeGo, which was formed by merging Intel’s Moblin with Nokia’s Maemo.

Although Nokia has been an important partner to Intel and MeeGo and we are disappointed by this decision, it’s important to know that this is by no means the end of MeeGo or the end to Intel’s commitment

says Ramirez, adding that “MeeGo is not just a phone OS”.

True; but with the focus also moved away from netbooks it is getting hard to see where MeeGo will have an opportunity to shine.

Intel promises to outline its mobile strategy this week at Mobile World Congress. I will be reporting from Barcelona in due course.

Qt will not be ported to Windows Phone 7 says Nokia

Director of the Qt Ecosystem Daniel Kihlberg has posted officially on the future of Qt, Nokia’s cross-platform application framework.

However you spin it, Nokia’s change of direction, relegating Symbian to low-end phones and focusing on Windows Phone as its Smartphone platform, is not good for Qt developers. Kihlberg offers a glimmer of hope for MeeGo though. Whereas CEO Stephen Elop was almost dismissive of MeeGo, saying that a device would be released as part of a learning process, Kihlberg positions it as a source of future disruption:

Nokia also announced it will ship its first MeeGo-related device in 2011, which will rely on the Qt ecosystem – and then will continue with MeeGo as an open source project for future disruption.  Nokia can’t afford to be behind the next disruption again and Qt can play an important role in making sure it isn’t.

But why not port Qt to Windows Phone, which needs a native development stack? Nokia’s Aron Kozak states in a comment:

Qt will not be ported to Windows Phone 7. One of the key benefits of joining an established ecosystem is that there is an established toolchain that everyone uses. All Windows Phone apps will run on all WP7 devices. Adding Qt to the mix would only cause fragmentation.

Unfortunate from a Qt perspective but wise from a developer ecosystem perspective.

In truth, this is near-fatal for the future of Qt at Nokia:

I have to say, Nokia made a bad decision jumping to WP7 knowing that Qt wouldn’t be on it. Now that Nokia did this, they basically went from Qt “Code once, run everywhere” to “Code once, run nowhere”.

says developer Keith Rusler.

The other problem is that developers feel misled:

When Elop came in he said that Qt will be the main framework. Symbian and MeeGo would be unified through Qt. We all stopped working on Symbian C++ and started learning Qt. We have now wasted 6 motnhs of our family’s lives on a dead end. If I knew this was going to happen, I would have started learning Java instead!

Irrespective of the business merits of Elop’s decision, the truth is that its relationship with developers has been deeply wounded. I am not sure how it could have been better handled – except that I think Nokia should have insisted on Qt support in Windows Phone – but I still observe that it has been handled badly. The evidence suggests that Elop under-estimates the importance of nurturing developers in the ecosystems he talks so much about.

MeeGo, Qt, and the new Nokia: developers express their doubts

What are the implications of the new partnership between Nokia and Microsoft for MeeGo, the device-oriented Linux project sponsored by Intel and Nokia? What about Qt, the application framework that unifies Symbian and MeeGo development?

Here is what Nokia says:

Under the new strategy, MeeGo becomes an open-source, mobile operating system project. MeeGo will place increased emphasis on longer-term market exploration of next-generation devices, platforms and user experiences. Nokia still plans to ship a MeeGo-related product later this year.

Nokia is retaining MeeGo but it has moved from centre-stage to become more niche and experimental.

The snag for developers is that there are no known plans to support Qt on Windows phone. According to the letter to developers, Qt developers can look forward to the targeting low-end Symbian devices and at least one solitary MeeGo phone:

Extending the scope of Qt further will be our first MeeGo-related open source device, which we plan to ship later this year. Though our plans for MeeGo have been adapted in light of our planned partnership with Microsoft, that device will be compatible with applications developed within the Qt framework and so give Qt developers a further device to target.

Reaction from developers so far is what you might expect:

By this announcement, I’m afraid you’ve lost many faithful people (developer and consumers) like myself, who’s been a Nokia user ever since I’ve started using cellphones..


Wow what can I say, nokia just flat out killed any enthusiasm I had to develop on nokia platforms, I never have and never will use a windows platform. You have just killed QT, even worse killed the most promising OS out there in Meego. Elop is the worst thing that has ever happened Nokia.


Weak on execution, you choose to flee. What a sad day in the history of a once proud and strong company.

Nokia could fix this by demanding Qt support for Windows Phone 7.

Nokia adopts Windows Phone 7: game on

Nokia and Microsoft have announced a strategic partnership in which Nokia is to adopt Windows Phone as its “principal smartphone strategy”.


There is a smidgen of uncertainty. The release says “Nokia and Microsoft intend…” Still, I think we should assume it will go ahead.

The key elements of the agreement:

  • Nokia adopts Windows Phone for most of its smartphones. The word “principal” leaves space for others.
  • Nokia will contribute hardware design, language support, and “help bring Windows Phone to a larger range of price points”.
  • Nokia will adopt Bing search and use Microsoft adCenter.
  • Nokia Maps will be integrated with Microsoft’s mapping services.
  • Nokia’s app store will be integrated with Microsoft Marketplace.

A few observations.

  • First, this is what Windows Phone 7 needs. It is a decent mobile OS with potential for excellence, but needs better than the luke-warm support it has received so far from Microsoft’s hardware partners. I have thought in the past that Microsoft needs to make its own hardware, but this deal is better.
  • It also plays to Nokia’s strength in mobile hardware design. Recent high-end Nokia devices have had excellent hardware engineering spoilt by poor software.
  • Windows Phone 7 already has strong development tools; I have seen comments from developers that the same app takes less time to develop than on Apple’s iOS or Google Android. What it has lacked is a true mass market; this deal has the potential to change that. Windows Phone 7 is invisible in my local town centre, despite the presence of three specialist mobile phone retailers. That has to change for Microsoft’s OS to succeed.

Sounds good, but there are also reasons why this might not work out well.

  • Currently Apple iOS and Google Android are the Smartphone operating systems to beat. There is no guarantee that Nokia’s change of direction will move the market. After all, if Nokia’s current Smartphones underperform, its new Windows devices may underperform too.
  • A major change of direction is costly in both time and skills. Can Nokia deliver excellent Windows phones in time to claw back market share? In its press release, Nokia says:

    Nokia expects 2011 and 2012 to be transition years, as the company invests to build the planned winning ecosystem with Microsoft.

  • There is no tablet form factor for Windows Phone 7, and Microsoft seems resistant to the idea. Apple and Android exploit the potential of tablets and give app developers the benefit of two similar platforms for both small and medium size mobile devices.
  • Historically, Microsoft has proved a difficult partner. The tie-up with Palm for Windows Mobile a few years back did not save Palm. In mitigation, Nokia CEO Stephen Elop is ex-Microsoft, and if anyone knows how to make this work, he will do.
  • Nokia will have a tough job convincing its own people of the value of this deal – by which I mean employees as well as third-party developers and partners. It is discarding a huge amount of previous investment. This could be mitigated if Nokia is able to support Qt, its primary development platform, on Windows Phone 7; but I have not seen any hint of that yet. In my view Windows Phone 7 needs a native code development option, and Nokia should press to allow it.

Nevertheless, the battle for mobile has just become more interesting. This is a huge boost to Microsoft’s phone and many in the industry will now be taking it seriously for the first time.

Trying out MonoTouch – C# for Apple’s iPhone and iPad

I’ve posted an article on trying out MonoTouch, which builds on the open source Mono project to provide a means of developing apps for Apple’s iOS using C# and the .NET Framework.

It is easy to assume that since the .NET Framework is Microsoft’s technology, using a non-Microsoft implementation is risky. Then again, Mono is open source; and the more usage it gets, the better it becomes. MonoTouch is an important development for the project, since it is a commercial project which might actually be making some money for Novell/Attachmate. While it would be nice to get it for free, it is important that Mono makes business sense as well. MonoTouch has given the Mono project a significant boost.

Using SQLite 3 with Unicode in Delphi

I’ve updated my SQLite3 Delphi wrapper for Unicode in Delphi 2009 and higher. Previous versions of the wrapper ducked the issue by using Ansi strings throughout.


I actually used Embarcadero Delphi XE for the development, but I would expect it to work in Delphi 2009 and higher, since it was in that version that Delphi first properly supported Unicode. Converting older Delphi projects is meant to be seamless, except in cases where you are using pointers or doing interop with native DLLs; of course this wrapper does both.

The SQLite 3 API expects either UTF8 or Unicode strings. To be more precise, some functions have Unicode versions indicated with a “16” suffix, and some do not, in which case they expect UTF8 if they accept string values. Although UTF8 strings support Unicode characters, most characters generally occupy a single byte just as in Ansi strings, so one of the things I discovered was that I could not simply rely on PChar, Delphi’s null-terminated string type, which from Delphi 2009 is a Unicode type with double-byte characters. Instead, for cases where the SQLite 3 API expects a UTF8 string, I have used PAnsiChar as before.

It is all somewhat confusing, and there are a few cases where Delphi does not do quite what you would expect. I recommend Marco Cantu’s paper Delphi and Unicode [pdf], one of the best resources I found. This article by Nick Hodges on Unicodifying your code is handy too.

Finally, in the example I keep an object in memory and it is easy to end up with code paths that do not free it. I love this feature of Delphi (since at least 2007) which informs you of your mistake when the application closes:


I have uploaded the code and you can find it linked here.

Update: My assumption that Delphi 2010 would work the same way as Delphi XE was incorrect. I have some code that reads a blob field containing a UTF8 string and returns it as a string. I read the stream into a byte array and then cast it to a UTF8String:

str := UTF8String(bytes);

where str is a UTF8string variable. This worked in Delphi XE, but in Delphi 2010 I got garbage. I have modified the code to use a TStringStream and now it works in both.

Microsoft’s new President of Server and Tools–Satya Nadella, from Bing division

Microsoft has appointed a new President of Server and Tools to replace Bob Muglia. He is Satya Nadella, 43, and has been leading the Online Services Division, the bit in charge of Bing, MSN and adCenter. Before that, Nadella led Microsoft Business Solutions, focused on the Dynamics CRM application.


It is a big role, and no doubt it is significant that Nadella has a cloud-oriented background within Microsoft. In his first memo in the new role, Nadella says:

I like to have my head in the clouds and feet on the ground (something I learned from Qi).

I track Microsoft financials in a small way, and have observed that while Muglia’s Server and Tools has turned in stellar figures for several years, the Online Services Division by contrast has delivered large losses.

Then again, competing with Google in search is not easy, and Bing is perhaps doing as well as can be expected.

CEO Steve Ballmer has also announced that Amitabh Srivastava, the well-regarded senior vice president in the Server and Tools Business is leaving Microsoft.

Puzzling moves, which suggest to me significant strategy disagreements between Ballmer and the old Server and Tools leadership.