Updating the world’s most widely deployed SQL database engine: welcome to SQLite 4

A new version of SQLite is in preparation. If you are not a developer, you might not have heard of SQLite, but you have almost certainly used it. It is built into Mac OS X and numerous web browsers, used by many applications which run on Adobe’s Flash runtime, and is the obvious choice if you want a small, fast and reliable database engine to embed into an application. It is open source and as free as you can get:

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

SQLite3 is the current version; but now there is an update to version 4:

SQLite4 is an alternative, not a replacement, for SQLite3. SQLite3 is not going away. SQLite3 and SQLite4 will be supported in parallel. The SQLite3 legacy will not be abandoned. SQLite3 will continue to be maintained and improved. But designers of new systems will now have the option to select SQLite4 instead of SQLite3 if desired.

The reason for the new version is that some issues in version 3 could not be fixed without breaking compatibility.

So what is new? On a quick read, these seem to be the highlights:

  • A global configuration object (sqlite4_env) which eliminates all use of global and static variables.
  • A new key/value storage engine which has a “greatly simplified” interface and which is pluggable, so you can use a different one if required. The default storage engine is described as a “log-structured merge database”. A B-Tree engine may also be offered later.
  • Primary keys are now real primary keys, as opposed to unique constraints. This speeds up primary key searches.
  • Decimal maths. “All numeric values are represented internally as an 18-digit decimal number with a 3-digit base-10 exponent.” This is advantageous for currency calculations and for cross-platform consistency.
  • Foreign key constraints and recursive triggers on by default
  • Covering support in indexes (when required), to increase the number of queries that can be resolved by querying the indexes alone, at the expense of greater duplication of data

When will SQLite 4 be ready? Code is available but Author D Richard Hipp says:

Everything is still pretty makefile-touchy. Remember, this is like pre-alpha code. It works, but just barely. And things are changing rapidly.

Porting an application from SQLite3 to SQLite4 should be straightforward, according to the author. “An hour or two search-and-replace.”


OEM vendors: it’s Google, not Microsoft you need to watch

When Microsoft announced Surface, its first own-brand PC, it raised immediate questions about the implications for the company’s hardware partners.

Not long after, and Google has also announced a tablet, the Nexus 7.

It looks a neat device. 7″ 1280×800 display, Corning-toughened glass, NFC, accelerometer, GPS, gyroscope, wi-fi, Bluetooth, and a Quad-core NVIDIA Tegra 3 processor. Plus you get Google’s latest “Jelly Bean” operating system.

By coincidence, I have just been reviewing another Android tablet, from a brand you likely have not heard of: the Gemini JoyTAB 8″ running “Ice Cream Sandwich”.

I did not get on well with the JoyTAB. It is full of the compromises you expect from a device made down to a price with little attention to design.

But the price. I thought the JoyTAB was at least good value at £149.00. What chance does it have against a Nexus 7 for just £10 more – and with £15 of Play Store credit thrown in?


The Nexus 7 is made by Asus so you can argue that at least one OEM vendor is not losing out here. Even so, competing with this thing will not be easy. 

We do not yet know the price of the Surface, either in Windows RT or Intel guise. My prediction is that Microsoft will aim to price it more like an Apple iPad than a Nexus. Although Microsoft is desperate for Windows 8 tablets to succeed, it also makes its money selling the software, Windows and Office, that is included in Surface. It cannot afford to price it too low.

By contrast, Google makes little money from software. Android is free. Google makes money from advertising, and also hopes to build its profit from the content market, where it takes a cut of every sale. If NFC payment takes off, it might even profit from every payment you make with an Android device.

I am right behind Microsoft in what it is doing with Surface. It has been let down by its OEM partners, with too much hastily designed and/or low quality hardware, further impaired by unwanted bundled software and poor customizations. Surface follows on from Microsoft Signature in challenging those partners to up their game. Long term, they will benefit from Microsoft’s efforts to improve Windows devices overall.

How Android tablet vendors will benefit from Nexus is less clear.

Nexus Q streaming device: you will use Cloud, you will use Android, says Google

Google’s Nexus Q is a streaming device. It is a spherical object with the following connections: optical S/PDIF digital output to connect to a hi-fi, wired ethernet, USB connection for “service and support”, and speaker outputs.


The top half of the Nexus Q twists to control the volume. Tap the top LED to mute the sound.

The built-in class D stereo amplifier is 12.5 watts per channel.

There are also 32 multi-colour LEDs on the unit which blink in time to the music. This could be annoying but presumably there is a way to disable it.

You can stream music and video apparently, only from Google. This can be your own songs uploaded to Google, or purchased from the Play store.

Why would you want to stream music from the cloud, when it is already stored locally in iTunes, say, or in FLAC for a Squeezebox system? Cloud streaming can be high quality, but playing uncompressed audio over the local network is better still.

Why does not Nexus support standards like DLNA (Digital Living Network Alliance) streaming, so that you could stream to it from a variety of media servers?

Most seriously, Google says:

Requirements: Phone or Tablet running Android 2.3 (Gingerbread) or higher with access to Google Play

Is Google really saying that you cannot control streaming to a Nexus Q with a PC, Mac, iPad or any other non-Android device? For example, I am sitting here working at a PC. Do I have to pick up my phone in order to control Nexus Q? Or run the Android emulator, I guess?

One mitigating factor: developers can install stuff on the Nexus Q via that USB connector. I am guessing then what we may see these missing features plugged by third-party efforts.

The Nexus Q has the concept of “social streaming”. What this means is that if you enable guest mode, anyone else on the network who has an Android device can also stream their music. That could be fun, or could be chaos, but it is an interesting feature.

Music shared on the device is transient, according to this Wired article:

The queue is a transient song list, and not an actual playlist. When you add a song to the queue, the Nexus Q owner can listen to the track for 24 hours, even after you’ve left.

The price is $299.

Review: JoyTAB 8″ Android tablet. Do you need to spend more?

How much Android tablet can you get for £150.00? Quite a lot, as this JoyTAB 8″ tablet from Gemini Devices demonstrates. No complaint about the specs: ARM Cortex A8 1.2Ghz processor, Mali-400 GPU, 512MB RAM, 8GB storage, running Android 4.03 “Ice Cream Sandwich”.

There is also a Micro-SD slot (confusingly labelled “TF Card”), a front-facing camera, headphone jack, USB connector, mini HDMI port, and wi-fi.

No Bluetooth, unfortunately, but you cannot have everything. Though given the choice, I would rather have Bluetooth than HDMI.

Still, no real complaint about the specs. How is it in use?

The unit is light though it feels a bit plastic, particularly the switches on the front and side, but they work fine. There is not much to see on the front: black screen, black surround, and two physical buttons, one for menu and one for back. On the side, there are buttons for power, volume and home. Personally I would rather have the home button on the front, but it is no big deal.

On the bottom edge are the connectors for USB, power, HTML, SD card and sound. Not clear why the SD slot is labelled “TF Card”, but I stuck a 4GB SD card in there and it worked instantly.


I turned on, and was greeted with the JoyTAB wallpaper, its brightness perhaps compensating for the rather dim screen.


Wi-fi connected smoothly, and I had a quick look at the apps:


Nothing exceptional here. Documents To Go is a trial, Twitter and BBC iPlayer I added myself.

Unfortunately BBC iPlayer was a letdown. The app bounces you to the browser, and the browser says my phone (?) is not supported.


I tried updating Flash Player to the latest version with no improvement. In fairness, this may be a BBC issue, though iPlayer works fine on other Android tablets I have tried.

YouTube mostly works, but video is not too good. It looks dark and detail is lost.

I got an even more entertaining error when I attempted to play my Google music in the browser.


Web browsing in general is a mixed experience. Mostly it is good enough, though searching Google is slow and jerky if you have incremental search enabled.

Not only is the screen dim, it is unresponsive too. Pinching and zooming is an effort, and when it does work it is not smooth.

Still, Angry Birds works well, email works with both Microsoft Exchange and Google Mail, and battery life seems not bad though charging is slow even with mains.

I connected it to a PC and got an error. USB storage shows up if you enable it in settings, but it did not connect as an Android device. I fixed this by installing the (unsigned) driver from Gemini, which I found in a forum post here.

While I have not seen any faults, the test device does make odd, quiet popping noises from time to time when charging, which is a concern.

In the end I cannot give this a recommendation. It is good value in one sense, but if you can stretch to a Samsung Galaxy, which admittedly is twice the price, you do get a substantially better experience. An Apple iPad costs even more; but if you want silky-smooth touch control, a beautiful screen, and for everything to just work, then it is worth the money.

What if you only have £149? My pick would be something like a nearly new HTC Flyer, currently on offer at Amazon UK for around that price. Yes, it only runs Android 3.x “Honeycomb”, but it is a lovely device with a great screen and HTC’s customised Sense UI.

Update: It is worth adding that Google has now announced the 7″ Nexus Tablet which is on offer in the UK for £159 for the 8GB version or £199 for 16GB. That changes the rules.

MySQL on Windows Azure is expensive and provided by a third-party, spoils web site offer

I have been impressed by the changes in the June release of Windows Azure, available through a sparkling new HTML-based portal that lets you create new virtual machines and web sites with a few clicks or taps. One of the new features is multi-tenant web sites, starting from free and scaling up to multiple load-balanced instances. I even wondered about moving this blog, which is on WordPress, to run on an Azure web site.

When you create a web site on Azure, you can choose between a free MySQL database or a paid-for SQL Server database. At least, that is what was announced, and it is kind-of true. However, if you choose a MySQL database, a message about agreeing to terms from third-party ClearDB pops up. Even your subscription details will be passed to ClearDB.


You click the link, and discover that the free MySQL offer is not generous. In fact, it is limited to a tiny 20MB, making is useless for most applications. It also has, according to ClearDB, low performance.


If your database may grow to more than 1GB you need ClearDB’s Saturn offer, at $49.99 per month.

This has killed my interest in running this blog on Azure, at least via this route. I am not familiar with ClearDB, but for all I know it is a fine company. Nevertheless, if I am betting on Windows Azure, I would rather not have to bet also on an unfamiliar third-party. I also note that many ISPs offer MySQL databases with few restrictions and better terms. Take UK ISP ICUK, for example, which I use on occasion. For £3.00 per month you can get Linux web hosting with up to 10 MySQL databases. They may not have all the features of ClearDB, but as far as I am aware (don’t take my word for it) they are on a fault-tolerant cluster and backed up nightly.

As I understood it, Microsoft’s goal with the multi-tenanted web sites is to provide a quick solution for test and development, that can scale to a serious web site. Maybe enterprises will not blink, but a $49.99 monthly plan for the database takes it out of the realm of quick and cheap test and development from my perspective.

It is also unfortunate that the Azure web site gallery does not provide an option to use SQL Server for some applications in its quick-create Gallery. These include WordPress and Drupal. I agree that these applications probably work best with MySQL, but you can configure them to use SQL Server.

There are other ways to bypass ClearDB. You could set up a plain PHP web site and configure it to run WordPress on SQL Server, for example. You could also use a Linux VM, even a Small Instance, with 1 virtual CPU and 1.75GB RAM, and put MySQL on there. Thanks to Azure’s fabric, it will have some resilience: all storage is, as I understand it, in triplicate.

In the end I guess this is not unexpected. Microsoft is a Windows company and you can understand why it wants to get someone else to manage MySQL; and also why it does not wish to undercut SQL Server with too generous an offer for MySQL.

Even so, the 20MB limit is a disappointment and makes the Azure free web sites less interesting.

Microsoft’s Scott Guthrie on what has happened to Silverlight

I spoke to Microsoft’s Scott Guthrie last week, during his trip to the UK for a couple of Windows Azure events in Cambridge and London.

Guthrie is now Corporate VP Windows Azure Application Platform, a job he took up in May 2011. Before that he worked on .NET technologies including Silverlight, and I asked if he had any reflections on the subject. He was scrupulously tactful.

“In terms of looking at our XAML stack right now, if you look at some of the announcements we’ve made in terms of Windows 8, Metro, Surface, tablets and desktops, and Windows Phone, XAML is alive and well and being used for more things than ever.

“Silverlight 5 shipped after I moved on to Azure. We did an update to Silverlight 5 about a month ago. For XAML developers, and developers using Silverlight or WPF XAML technologies, there is a long roadmap ahead.”

He seemed to me to be saying that even if Silverlight is dead (nobody expects a Silverlight 6), XAML lives on.

I observed that in the new (and much improved) Windows Azure admin portal, the Silverlight UI has gone, replaced by an HTML 5 user interface.

“It’s actually HTML, it’s not HTML 5. It works with non HTML 5 browsers as well.“ he said. “That was less of a technology statement, it was more that, historically Azure had 5 or 6 admin tools that were fairly disjoint. One of the decisions we made as part of the new Azure that we’re building was, let’s have a single admin tool framework that connected everything. We decided to do it with HTML, partly because we did want to get reach on tablets like iPads and Android devices.

“It was less a technology statement, it was more that we wanted a single admin tool, and we decided to go with an HTML-based approach. We still use Silverlight for some of our admin experiences like database management tools, and for streaming and other capabilities.”

It is true that Silverlight remains in the Azure database design tool, if you use the portal. It is also used extensively in System Center 2012 – yes, I have actually installed it – and in Windows InTune.

It is as if, back in 2009 and early 2010, the memo went out: use Silverlight for everything. Then, later in 2010, the memo went out: use HTML for everything; but too late for the current generation of server admin products.

Microsoft has announced that Visual Studio LightSwitch, which generates Silverlight applications, is being revised to offer HTML applications as well. I expect this process of Silverlight removal and de-emphasis to continue over the next couple of years. Note that Microsoft’s own Windows RT does not support Silverlight (as far as I am aware), nor does Windows 8 on the Metro side.

Microsoft Surface has changed the Windows 8 conversation

The Register ran two online discussions on Windows 8, in which I participated along with Mary Jo Foley and Gavin Clarke.

The first was on 25th April and is here. A typical comment:

I personally think Windows 8 can’t bag Microsoft the kind of runaway success they had with Windows 95 or XP. It’s going to turn off many PC users and the success of Windows tablets is uncertain.

The second was on 20th June, following the announcement of Surface, a Windows 8 tablet to be sold by Microsoft itself. Typical comment:

I definitely want one. iPad for kids, Surface for grown ups. First bit of kit I’ve wanted in years.




Review: Philips Voice Tracer digital recorder

I am in favour of device convergence, but still find myself carrying a dedicated recorder when out and about. I tend to record a lot of stuff, almost all voice, and there are three reasons for having a separate recorder, rather than using a smartphone, tablet or laptop.

The first is battery life. Sometimes I am without mains power for most of the day, and there are few devices that I can rely on for the number of hours required. Occasionally a key interview comes up at short notice and I hate the thought of being caught out.

The second is quality. This is the most important. A recording is only useful if you can hear what was said, and getting a high quality recording makes the job much easier, particularly if the environment is noisy and the speaker distant. The last interview I did was in a pizza restaurant, for example.

The third is convenience. If you are doing an interview, your focus must be entirely on the interview, not on the equipment. Time spent powering stuff up, fiddling with settings, or checking that it is working, is an unwelcome distraction. The only thing worse than not having a recorder with you is recording silence – which means you did not scribble furiously because you thought you would have a recording.

Once I failed because my microphone was plugged into a headphone socket. Another time I relied on the built-in mic on a tablet PC, and ended up not with silence, but with a recording that sounded just like the sound of a man talking, except that you could not make out any of the words. The interview was with game designer Peter Molyneux and would have been rather interesting. I had to make do with my recollections. Never again.

For years I have been using an iRiver H140, a hard drive player and recorder which is something of a classic. I bought it in 2004 and the battery still lasts 8 hours on a single charge. It has a mic input with plug-in power and I get great results using an external Sony microphone. On a recent trip to California though I left the charger at home, and the unit is so old that it lacks USB charging.

I therefore made an emergency trip to Fry’s in San Jose. Not my favourite store; but it did have some voice recorders. I bought a Philips Voice Tracer LFH0884, slightly discounted because the packaging had been opened, with a warning on the label that a customer might have returned it. Judging by the odd recordings I found on it, that most likely was the case. Still, it worked.

I picked out the Philips for several reasons:

  • 8GB on-board storage
  • Rechargeable batteries with USB charging (also takes 2 standard AAAs). Battery life 50 hours recording time. 
  • Attaches to a PC as USB storage device
  • Stereo (makes it easier to pick out voices in noisy environments)
  • Choice of recording formats right up to uncompressed WAV
  • Input for external microphone

I also noticed that this particular model comes with three microphones, as seen in the picture below.


Specifically, there is a built-in microphone, a tie-clip microphone, and a “zoom” microphone which attaches to the end of the device. You also get a USB cable and a set of earbuds.


Supposedly the Zoom microphone is ideal for recording a distant voice, such as a speaker at a lecture. It is meant to focus on sounds directly in front of the device. It works in tandem with a software setting for Zoom. I have not tested this thoroughly yet though I am sceptical.


The Voice Tracer is easy to use, though the user interface can be annoying and I recommend a quick read of the manual. On the top end of the unit are the mic and earphone sockets and the built-in mics. On the left is a hold switch. At the bottom end is a mini USB port. The main controls are on the top, being a four-point rocker switch, a central button, and four additional buttons for Index, Menu, Record and Stop/Delete.

The short guide is this. Make a recording by pressing Record, and stop it by pressing Stop. Add an index point during a recording by pressing Index. Not too bad.

There is also a built-in speaker so you can play recordings out loud in poor but audible quality.

The Menu button gives access to a set of icons each of which controls a setting.


For example, the Rec setting offers 6 modes, from 8kbps mono (SLP or Super Long Play) to PCM which is uncompressed WAV. I recommend the Super High Quality (SHQ) mode which is an acceptable 192kbps stereo MP3. The difference between this and the next one down (64kbps) is clearly audible, but WAV is overkill and takes too much space unless you are recording music, for which this is not really the best device. I would like to have seen a 320kps stereo MP3 mode.

You can fit 95 hours of SHQ mode recordings on the 8GB built-in storage, which is plenty. Even with WAV you can fit 13 hours.

The menu has numerous options though it falls short in certain areas. In particular, you cannot control the recording level other than by a crude Hi or Lo mic sensitivity setting. You do get a lot of (to my mind) unnecessary features such as an alarm clock, FM radio, basic editing such as splitting files, and three EQ settings for music (Pop, Jazz or Classic).

Audio settings, in addition to the quality mode and mic sensitivity mentioned above, are Voice Activation which is meant to start and stop recording automatically, and Clear Voice which boosts quiet passages automatically. There is also a Line In mode which converts the mic input socket for a high-level input.

The sound

With three microphones to choose from, how is the sound? To give you an idea, I recorded a sample of my own voice using the built-in mic, the zoom mic, the tie-clip mic, and an external Sony electrec condenser microphone that cost more than the recorder. I normalised the level of each recording. I also added a sample of the Sony mic recorded into a PC using an external pre-amp, as a reference. The samples are here.

A few observations then.

First, the sound quality is fine for my intended purpose, recording talks and interviews. Of the various microphones, my preference is the tie-clip, partly because I prefer to use a microphone attached by a cable. With the built-in and zoom microphones, any movement of the device or use of its controls is picked up as noise. That said, I do not always use the tie-clip mic clipped to clothing. I often use it as a table microphone, sometimes attaching it to a credit card for stability.

What about using a third-party external microphone like the Sony? Here, the news is not particularly good. The Sony sounds OK, but the level is too low even when set for high sensitivity. This is why it is hissy on my sample. I tried using an external preamp, but my preamp has no output level control, and it was too high for the Voice Tracer and was clipping, even on the Line In setting.

If only Philips would ditch the silly radio and alarm clock, and provide an input level setting instead, this would not be such a problem.

Still, bearing in mind that this is designed as a voice recorder, not a general purpose digital recorder, it does a good enough job. I have used it with success for dozens of interviews now.

Note: the exact model reviewed above appears to be US only. The LFH0865 seems a close equivalent, and is available in the UK.


Common sense on non-upgradeable Windows 7 Phones

Poor old Microsoft. It announces a strong set of features for the next generation of Windows Phones, which I have covered in some detail here, including the news that it will be built on the full Windows 8 kernel, not the cut-down Windows CE as before. So how do people react? Not so much with acclaim for these features, but rather with shock and disappointment at the dreadful news: existing Windows Phone 7.x handsets cannot be upgraded to Windows Phone 8. This must be the end of Nokia, the argument goes, as sales will now stop dead until the new one is on sale.


Of course it would be better if Microsoft had managed to stay compatible with current hardware, but I think the fuss is overdone. Here is why.

  • First, we have seen this coming. It has been known for ages that Windows Phone would move from Windows CE to Windows 8. I first posted about it in March 2011 and it was fully confirmed about in February this year.
  • Second, it was never likely that Windows Phone 8 would run on Windows Phone 7 hardware. Perhaps it could be made to run, but of course you would not get multi-core, and it would probably not run well. A change of operating system is hard to accommodate.
  • Third, upgradability of smartphones is always an uncertain business. Operators do not like firmware upgrades, since it only causes them hassle. Some users like them, but mostly the vocal minority of tech enthusiasts, rather than the less vocal majority who simply want their phones to keep on working.
  • Fourth, Microsoft is in fact upgrading Windows Phone 7.x devices, with the most visible aspect of the upgrade, the new start screen. It is not ideal, but it is substantial; and there will be other new features in Windows Phone 7.8.

I doubt therefore that Windows Phone 7 sales will stop dead because of this.

Microsoft’s bigger problem, of course, is that the thing is not selling that well anyway. At this stage, it makes sense for the company to go all-out with the best possible features in Windows Phone 8, rather than compromising for the sake of the relatively small number of 7.x owners.

Another question: is Nokia damaged by this? My view is simple. Nokia, for better or worse, has tied its fortunes closely to those of Microsoft. In other words, what is good for Microsoft is good for Nokia. Nokia is the number one hardware partner for Windows Phone, and the prototype shown at the Windows Summit yesterday was a Nokia device. If Windows Phone 8 is a winner, Nokia wins too.

Windows Phone 8 and Windows 8: nearly converged

Microsoft has shared details of the forthcoming Windows Phone 8 operating system, which is set to be available on devices before the end of 2012.

The improvements are fundamental, and it seems that Microsoft has finally created a mobile platform that has what it takes, technically, to compete in the modern smartphone market. Winning share from competitors is another thing of course; Nokia’s hoped-for third ecosystem is still tiny relative to Apple iOS or Google Android.

It starts with a change in the core operating system, from Windows CE to Windows 8. The two now share the same kernel, and APIs including Graphics, Audio, Media, File System, Networking, Input, Commerce, Base Types and Sensors. The .NET Framework is also the same. The browser will be Internet Explorer 10.


Silverlight was not mentioned, nor was XNA, though we were told that Windows Phone 7.x apps will run on Windows Phone 8.

The change does enable multi-core support at last. Screen resolution can now go up to 1280 x 768, ready for high-definition displays. There is also support for MicroSD storage, a feature which should have been in the first release.

What about Windows RT, the runtime for Metro-style apps in Windows 8? Here is the significant slide from yesterday’s presentation:


This looks similar to Windows RT, which also supports three development models: XAML and .NET, native C/C++ code, and HTML5. It is not quite the same though. One thing I did not hear mentioned was contracts, the communication and file sharing system built into Windows 8, though we were promised “sharing under user control”. Nor did we hear about language “projections”, the layer that lets different languages in Windows 8 call the same Windows Runtime APIs. My guess at the moment is that Windows Phone 8 does not include the Windows Runtime, though it does have much in common with it. The further guess is that the full Windows Runtime will come in Windows Phone 9.

In other words, it seems that Windows Phone 8 will not run apps coded for Windows 8, though we were told that if you code to the XAML and .NET model for apps, and the native code model for games, few changes will be needed. XNA developers should consider a change of direction.

Support for C/C++ is a key feature and one that in my view should have been in the first Windows Phone release. One of the things it enables is official support for SQLite, the cross-platform database engine also found in Mac OS X and numerous other platforms. A good day for SQLite, which pleases me as I am a fan.

There will also be C/C++ gaming libraries coming to Windows Phone 8, including Havoc:


What else is new? Users will like the new Start screen, which unlike the whole of Windows Phone 8 is also coming to existing devices, which will get a half-way upgrade called Windows Phone 7.8 (7 and 8, geddit?). The innovation in the new Start screen is that any tile can be sized by the user to any of the supported sizes. The smallest size allows four tiles across, so you can make your Windows Phone look more like Android or iOS if you so choose.


What else? Microsoft is not announcing “end-user features” yet, but did promise Nokia offline maps plus turn by turn directions; digital wallet which can be paired with a secure SIM for NFC (near field communications) payment, and deep support for Skype and VOIP so they “feel like any other call”. Apparently operators will love the way the wallet is implemented, because unlike Android it is hooked to the SIM, but I doubt they will be so keen on Skype.

There is an improved speech engine which duly failed to recognise speech input correctly in the first demo, though it worked after that.

Finally, Microsoft is now talking Enterprise for Windows Phone. There will be bitlocker encryption and enterprise app deployment without Windows store, as well as device management. Think full System Center 2012 integration.

Conclusion? There is disappointment that existing Windows Phone 7 devices are not fully upgradeable, but this is hardly surprising given the changed core. As a platform it is greatly improved, though I would like to see full WinRT included. Despite its poor start, you cannot dismiss this mobile OS as Microsoft continues to use its financial muscle to try and try again.

If it succeeds, will it be too late for Nokia? Maybe, though my hunch is that Microsoft will do what it takes to keep its key mobile partner alive.