Category Archives: microsoft

Thoughts on the future of the Win32 platform

Overheard last week at a non-techy social event: “I have just got an iPad. It is gorgeous. It is amazing how much it can do” … conversation continues … “Trevor is always swearing at his computer. He always blames Microsoft. It doesn’t matter what the problem is, he blames Microsoft.”

This is the kind of conversation which is annoying to hear if you are remotely technical. I have and enjoy using an iPad, but it has many limitations and its own share of annoyances. Recently the iOS WordPress app crashed whenever I tried to moderate comments on this blog. On Windows I could have done some troubleshooting, but on the iPad there was little to do other than blindly try removal and reinstall, or wait for a fix. As for Windows, I find it generally reliable and the majority of issues I have with it are not the direct fault of Microsoft.

In other words, reality is not so clear cut; but there is a powerful myth out there that goes along the lines of the conversation I overheard; and it is a myth that is not entirely unfounded given the quality of Apple’s design work and the problems that surround what we might call the Windows ecosystem: foistware, hardware built down to a price, the peculiarities of Outlook, and so on.

I do not think conversations like that quoted above are exceptional and it illustrates the pressure Microsoft is under. For years Windows has been in an almost unassailable position because the alternatives were insufficiently compelling to most people: Linux too awkward and fractured, Mac/OSX too expensive. Now change has come about because of the rise of new kinds of devices, smartphones and tablets, for which Windows was unsuitable. The result is that Apple iOS and Google Android are widely used and growing fast.

That said, we still need PCs, and although the Mac is gaining ground the large majority of these still run Windows. The smartphone or tablet model does not fit all kinds of computing. In fact, if we are thinking of the iPad in particular, it is only a good fit for a minority of uses. I am not thinking of what you just about do with an iPad if you have to, I am thinking of the scenarios where it is your tool of choice. Take word processing for example: the iPad has a version of Pages and you can get an external keyboard but even so I would rather type on a PC or a Mac, or even a netbook, and will get my work done quicker that way.

image

Leaving aside the software that is available, a full PC or Mac gives you keyboard, mouse, and easily supports one or more large high-resolution screens. Whether it is Microsoft Excel, Adobe Photoshop, the latest graphics-intensive game like Bethseda’s Skyrim, CAD software, or development tools like Visual Studio or Eclipse, there are many activities for which a tablet is a poor PC substitute.

Even for things for which a tablet is generally considered good, such as web browsing, a full PC or notebook is better. When browsing the web on an iPad there are little annoyances like slower typing of search queries (and the often daft auto-correct in iOS), awkwardness of looking up a password for a login and pasting it into the browser, small screen size making you scroll around, difficulty of hitting small hyperlinks on sites like discussion forums, and so on.

All of this means that the traditional PC, Mac or notebook seems still to have a strong future, which seems further to imply that Windows also is secure.

I would argue though that this is a rose-tinted view of the future of the Win32/Win64 platform – by which I mean full desktop Windows rather than the “Metro” tablet platform which Microsoft has previewed for the dual-personality Windows 8. Here are three reasons why it is under threat:

1. Tablets will get better and will gradually encroach on the PC market as they become more capable. This process will be complemented by web sites adapting to work better for the growing number of tablet users.

2. Hybrid devices like the Asus Eee Pad Transformer, which runs Android but also docks into a laptop-like keyboard and clamshell case, will cause users to question whether they really need to replace their Windows laptop when it wears out.

3. The drive towards cloud computing will reduce our dependence on desktop applications. Although Google’s Chromebook has not yet caught on, the fact that it exists shows the progress cloud computing is making: a notebook that only has a web browser is a viable proposition.

My assumption is that many of us would like to use tablets for a greater proportion of our computing activities if we could easily do so, because we like their mobility, convenience, low power demands, and relatively low cost. This is especially true for consumers, and less applicable to more regimented offices where there is a computer on every desk.

Another factor for Win32 is that Microsoft itself will slow down its future development, concentrating instead on Metro and its Windows Runtime, as well as cloud services. There are good business reasons for this. Microsoft is not under pressure to improve Win32; users would like it to run faster and with greater reliability, but their main demand is that it continues to run their critical applications successfully.

The conclusion: although Win32 will remain an important and stable platform for many years to come, it is now in slow decline. This will be the case whether or not Microsoft manages to bring Windows itself back on track with a success for Windows 8 on tablets, and overturns the assumption reflected in my initial quote: that an Apple iPad is delightful and Windows nothing but problems.

Windows Phone, Exchange, and self-signed certificates

I am setting up a Nokia Lumia phone, which runs Windows Phone 7.5 “Mango”. I am impressed with the smoothness of the setup experience, though I had one slight hassle which I do not blame on Nokia or Microsoft because it is is not typical.

I run an Exchange Server (and SharePoint) for test purposes with a self-signed certificate. On the iPhone and I think Android, you just get a warning the first time you connect and after that it all works. Windows Phone though gives you a certificate error when Outlook tries to connect and will not let you proceed further.

Which of these approaches is right is a moot point: convenience versus security I guess.

Fortunately it is not too hard to get Windows Phone to trust your certificates. Here is what I did:

1. Email the certificate(s) to myself on Google Mail.

2. Go to Google Mail in the phone’s browser. For this to work I found I had to use the Basic HTML view, as the mobile view did not let me download the attachments.

3. Open the email you sent to yourself. Tap the attachment. Windows Phone offers to install the certificate, tap to install.

4. Now go back to Outlook and synchronise, everything works.

You will also need this for SharePoint if you want to use Office on the device.

Of course if your Exchange and SharePoint use a certificate from a trusted certificate provider then these steps are not necessary.

HTML5 scorecard: Amazon Kindle Fire weak, iOS 5 great, IE10 preview one of the best

The Sencha blog has a great series of posts on HTML5 support on various devices. This is of direct interest to Sencha because its products are JavaScript and CSS application frameworks, Sencha Touch for mobile and ExtJS for any browser. The latest post is on the Amazon Kindle Fire – and it is weak:

The Amazon Kindle Fire doesn’t seem designed to run HTML5 apps as a primary goal. It does a good job of displaying ordinary web pages and its resolution and rendering capabilities meet that need well. But there are too many sharp edges, performance issues, and missing HTML5 features for us to recommend that any developer create web apps primarily for the Kindle Fire. The iPad 2 running iOS 5 continues to be the tablet to beat, with the PlayBook a respectable runner-up in HTML5 capabilities.

Part of the problem is that the Fire runs Android 2.3.4 (Gingerbread) which has a weaker browser than later versions. That is not the only source of disappointment though. According to Sencha’s Michael Mullany, the GPU is not used for hardware acceleration of browser content, the JavaScript timer is laggy, there is no embedded HTML5 video (videos launch in a separate player), and CSS corners are not properly anti-aliased.

But what about the Kindle’s cloud-accelerated browsing that we heard so much about when it was announced? This is the biggest disappointment:

One of the main selling points of the Kindle browser is supposed to be its cloud-caching and pipelined HTTP connection that uses the SPDY protocol. This does seem to speed up normal page browsing a little, but it’s not very noticeable and we didn’t test this rigorously. But for HTML5 web apps, where code is downloaded and executed, there doesn’t seem to be any performance difference when we tested with acceleration on and off. It doesn’t appear as if client JavaScript is executed on the server-side at all, so the Kindle does not seem to have Opera Mini-style server-side execution. And SunSpider scores were essentially the same when accelerated browsing was turned on or off.

Moving on from Kindle, it is interesting but not surprising to see a great report for HTML5 in Apple’s iOS 5. Less expected though is a big thumbs-up for HTML5 in Microsoft’s IE10 preview on Windows 8:

Simply put, (and with the caveat that we were running on the notably overpowered developer preview hardware) the IE10 HTML5 experience is one of the best we’ve seen on any platform to date. After a decade of web neglect, Microsoft is back with a vengeance.

image

The main caveat is the absence of WebGL. Microsoft is supporting its own 3D graphics library.

Another worry for Microsoft is simply the level of hostility towards the company and IE in particular, among the developer and designer community it so much wants to reach. You can get a flavour of this from some of the comments to Mullany’s post, for example:

I never really like Windows and I absolutely despise Internet Explorer. There are so many exceptions in code to be made for Internet Explorer that i stopped trying so hard to make it look the same as other browsers. Hopefully, IE 10 will stop all of these exceptions and weird additions that are made to websites that make everything instantly awful so I can actually go back to trying to make things look nice in IE. It’s really sad though that so many people use Windows and IE that we cannot ditch it for a better system and better browser.

What about Android? The most recent offering covered in the Sencha series is Motorola Xoom which is a disaster:

We were excited about the first true Android operating system for tablets and had high hopes for a mobile browser that was as powerful as the platform. Sadly, the Xoom and Honeycomb are a real disappointment. We found consistent and reproducible issues in CSS3 Animations and CSS3 Transitions among other things. We had issues where the browser either hung or crashed. Regular scrolling was slow or below full framerate. We had issues where media playback failed or performed incorrectly. At times it felt like we were using a preproduction device, but we bought our test device from a Verizon Wireless store.

I have a hunch that the latest Galaxy Tab might fare better. Sencha did like the HTML5 support in the BlackBerry PlayBook though.

With Adobe Flash now in decline on mobile devices (Adobe is no longer working on the mobile Flash player) HTML5 support is all-important for rich browser-hosted apps; I will be watching with interest for future Sencha reports.

Microsoft backs ECMAScript, dismisses Google Dart

Microsoft has posted an article on Evolving ECMAScript on its IE Blog. ECMAScript is the official standard for what we call JavaScript. The company is proposing some minor additions “to address gaps in Math, String and Number functionality as well as Globalization.” It has also taken the opportunity to take a shot at Google, which is proposing a new web language called Dart:

Some examples, like Dart, portend that JavaScript has fundamental flaws and to support these scenarios requires a “clean break” from JavaScript in both syntax and runtime. We disagree with this point of view. We believe that with committee participant focus, the standards runtime can be expanded and the syntactic features necessary to support JavaScript at scale can be built upon the existing JavaScript standard.

Dart will compile to JavaScript so there is a measure of compatibility, but if the language catches on then browsers without a native implementation will be disadvantaged.

Windows 8 Tablet in June 2012? If so, I am betting ARM not Intel x86

An interview with Paul Amsellem, new boss at Nokia France, includes this remark:

Et en juin 2012, nous aurons une tablette fonctionnant sous Windows 8

which even my schoolboy French can translate:

and in June 2012 we will have a tablet running Windows 8

Now, that is sooner than I had expected based on what we saw at the BUILD conference in September, and on past experience of Windows beta cycles. Windows 7, for example, was previewed in October 2008 and went into public beta in January 2009. A release candidate arrived in May 2009, and the gold release (the first production release) was towards the end of July 2009.

Although that does not sound much different from September 2011 to June 2012, bear in mind that the gold release is the moment when PC manufacturers can test their hardware with the production code. They still have to manufacture, package and distribute the machines, which is why the first machines with Windows 7 pre-installed did not arrive until October 2009. Hence the “general availability” date for Windows 7 of October 22 – three months after the gold release.

In order to achieve a June release for Windows 8 then, you would expect Microsoft to be done by March 2011. We have yet to see the first beta (the BUILD version is a preview) and a gold release for the x86 Windows 8 in March seems to me most unlikely. Of course it could be done, but only by compromising quality. The quality of the Windows 7 first release was excellent, and Microsoft is smart enough not to jeopardise its Windows 8 launch with a sub-standard product.

Is the Nokia man then either mis-informed or mis-quoted? Either is possible; but I also wonder whether Windows 8 on ARM will play by different rules. Microsoft said little about the ARM release at BUILD, though it was on show in the exhibition.

My impression is that the ARM release will be locked-down and that the only way to install apps will be via the app store. It will also be designed for specific hardware, unlike Windows x86 where people may grab an install CD and set it up on any old PC they can find; it is not guaranteed to work, but often it does.

That means Microsoft has much less to do in terms of compatibility testing, both for hardware and applications.

It follows that, despite being a new platform for Windows, the ARM release might actually be quicker to build than the x86 release. I can just about believe that Microsoft could be ready to hand over a gold build to Nokia in March 2012.

If that is the case, then the big risk is that apps will be scarce. It would give developers little time to create apps for the new platform, and it would also be interesting to see if the Office team at Microsoft could deliver something of real value by then.

Microsoft is under intense pressure from Apple’s iPad as well as Android competitors in tablets. Although it will want to get to market quickly, the company must also realise than a botched first release makes recovery hard. This will be interesting to watch.

PCs down, Android up: astonishing figures from Gartner show shift to mobile

Want to know why Apple is suing Samsung over Android, or why Microsoft is re-imagining Windows as a touch-friendly mobile OS? Look no further than Gartner’s latest report on European and worldwide sales in the third quarter of 2011.

First, this release shows PC sales in Western Europe, not helped by HP’s dithering over what to do with its PC division. Total shipments declined by 11.4%. Apple increased its unit share by 19.6% to 7.6%, which would be greater when measured by value since its computers command the highest prices, but still small relative to the entire desktop and notebook market. Netbook sales declined by 40%, presumably because people are buying Apple iPads instead. “Media tablets” including the iPad are not included in these figures.

Next, take a look at worldwide sales of mobile devices. Units are up 5.6% year on year, to over 4.4m devices in the latest quarter.

Then at the operating system breakdown for smartphones (115m devices). The operating system in features phones does not much matter. Android grabbed an amazing 52% of sales (from 25% a year earlier), versus Apple’s 15%. Gartner thinks Apple’s decline is a blip cause by customers waiting for iPhone 4S, but this is still an extraordinary result for Android. Symbian is down from 36.3% to 16.9% (the “burning platform”); RIM is down from 15.4% to 11%; Microsoft is down from 2.7% to 1.5% – is that burning any less?

It would be remarkable if Microsoft’ share does not increase at least a little in the fourth quarter, with the launch of Nokia’s Lumia and much more promotional activity, but on these figures it needs a miracle.

Developing for Windows Phone: what’s new

One thing that is easy to overlook in all the talk about Windows Phone, Nokia, and Microsoft’s prospects against iPhone and Android, is that the Windows Phone developer platform has substantially improved with the 7.1 SDK – the phone is 7.5 but the SDK is 7.1, just to confuse you.

Here are a few highlights from the list of what’s new:

Multitasking. Apps still do not continue to run when they do not have the focus. However, Microsoft has implemented several features to make it look as if they do. This includes background agents, background audio (another kind of agent), scheduled tasks, background file transfers, and fast application switching. Although apps do not execute in the background, they do stay in memory if free space allows, so that resume is near-instant.

Silverlight 4. The version of Silverlight implemented in Windows Phone is now Silverlight 4, though there are some differences between Silverlight on the desktop and Silverlight on the phone, including the fact that there is no Silverlight in the browser.

Apps that combine Silverlight and XNA. You can now render both XNA and Silverlight content in a single combined Windows Phone app.

image

Visual Basic and XNA. XNA was C# only in the initial release. No longer.

Better sensor support. You can now access the compass and gyroscope, and use a combined motion API.

Socket support. Use TCP and UDP socket protocols.

Network information. This is actually critical to creating well-behaved apps. New network information classes let you get network status and capabilities. You can also register for network availability change events.

Two-sided Live Tiles. Live Tiles in Windows Phone have two sides and flip automatically, effectively giving more space to show information.

Advertising SDK. Sign up to include ads from Microsoft Advertising in your app.

IE9 WebBrowser Control. You cannot embed your Silverlight app in the browser, but you can embed the WebBrowser control in your Silverlight app, now with IE9’s fast Javascript and HTML 5 features.

Local Database. A local database API is now included in Windows Phone. Sadly this is not Sqlite; I’m guessing it is a variant of SQL Server Compact Edition. You access and manipulate data with LINQ to SQL – no Entity Framework ORM (Object Relational Mapping) on the phone, though LINQ to SQL is also an ORM framework. There is no way other than LINQ to execute SQL locally.

New Launchers and Choosers. Launchers and Choosers let your app present picklists from data stored elsewhere in the phone. You can now choose an address, invite players to a game session, show a location on a map, or show map directions.

Read-only access to Contacts and Calendar.

Encrypted credential store. This enables you to store login details securely using a built-in API.

Programmatic access to the camera. This includes real-time access to the raw frames so you can create apps that use the camera.

Pictures and Search Extensibility. This lets your app interact with the Pictures hub and with the built-in search. Users who search Bing can launch your app from the results if there are matches.

New on-screen keyboards. There are now specialist keyboards for numbers and formulae.

Additional language support including East Asia. Overall there are 16 additional cultures available including font support.

Overall it adds up to a major update for developers. If you tried the first Windows Phone SDK and found too many annoyances, it might be worth a second look.

Is this the best mobile developer platform? I had this discussion today with Keith Varty, developer evangelist for Nokia. After rather enjoying a brief go with Xcode for iOS, I am not sure; there is no simple answer. It is certainly a candidate though: you get the excellent C# language, the mature Visual Studio IDE, and strong frameworks for both form-based and gaming applications. Then again you may miss those beautiful iOS controls.

Quick thoughts on Xcode and Objective C versus Microsoft’s tools

I have been trying out JetBrains’ AppCode which meant working in an Apple development environment for a time. I took the opportunity to implement my simple calculator app in iOS native code.

image

Objective C is a distinctive language with a mixed reputation, but I enjoy coding with it. I used Automatic Reference Counting (ARC), a feature introduced in Xcode 4.2 and OSX 10.7, iOS 5; ARC now also works with 10.6 and iOS 4. This means objects are automatically disposed, and I did not have to worry about memory management at all in my simple app. This is not a complete memory management solution (if there is such a thing) – if you use malloc you must use free – but it meant that the code in my app is not particularly verbose or complex compared to other languages. Apple’s libraries seem to favour plain English method names like StringByAppendingString which makes for readable code.

I was impressed by how easy it is to make an app that looks good, because the controls are beautifully designed. I understand the attraction of developing solely for Apple’s platform.

I also love the integrated source control in Xcode. You find yourself using a local Git repository almost without thinking about it. Microsoft could learn from that; no need for Team Foundation Server for a solo developer.

I did miss namespaces. In Objective C, if you want to remove the risk of name collision with a library, you have to use your own class prefix (and hope that nobody else picked the same one).

image

Interface Builder, the visual UI designer, is great but many developers do not use it, because coding the UI without it is more flexible. It is a shame that you have to make this choice, unlike IDE’s with “two way tools” that let you edit in code or visually and seamlessly keep the two in synch. I found myself constantly having to re-display windows like the Attributes Inspector though it is not too bad once you learn the keyboard shortcuts. The latest Interface Builder has a storyboard feature which lets you define several screens and link them. It looks useful, though when I played with this I found it difficult to follow all the linking lines the designer drew for me.

It is interesting to compare the Mac and iOS development platform with that for Windows. Microsoft promotes the idea of language choice, though most professional development is either C# or C++, whereas on Apple’s platform it is Objective C and Cocoa or you are on your own. Although Mac and Windows are of a similar age, Microsoft’s platform gives a GUI developer more choices: Win32, MFC, WTL, Windows Forms, Windows Presentation Foundation and Silverlight, and in Windows 8 the new WinRT.

I get the impression that Microsoft is envious of this single-minded approach and trying to bring it to Metro-style Windows 8, where you still have a choice of languages but really only one GUI framework.

That said, Visual Studio is an impressive tool and both C# and C++ have important features which are lacking in Objective C. I would judge that Visual Studio is the more productive tool overall, but Apple’s developer platform has its own attractions.

Moving Windows with its applications: too difficult

I have just replaced my PC – well, if you count new motherboard, new CPU, new hard drive, new RAM as replacement, though it sits in the same case – and faced again the question of what to do with my Windows setup, complete with hundreds of applications.

A few years back, there was no question. You took every opportunity to do a clean install, because without it Windows gradually became unusable, as gloriously recounted by Verity Stob.

Stob’s analysis is not completely wrong today, but the matter has greatly improved. The Windows 7 64-bit installation that I use today was installed in August 2009 (run systeminfo if you want to check yours), and that was an in-place upgrade from Windows Vista 64-bit, as recorded here. That Vista install was done in January 2008, so I have preserved applications and settings for coming up to four years and two motherboard changes.

The trade-off is that in return for putting up with some cruft you get a big win in convenience. There is no need to dig out install media, downloads and licence codes, and migration to a new system is quicker.

So why complain? Well, although it can usually be done, moving Windows from one machine to another is not supported by Microsoft, unless the hardware is identical:

Microsoft does not support restoring a system state backup from one computer to a second computer of a different make, model, or hardware configuration. Microsoft will only provide commercially reasonable efforts to support this process. Even if the source and destination computers seem to be identical makes and models, there may be driver, hardware, or firmware differences between the source and destination computers.

What this means is that users who get a new computer are directed instead towards the Windows Easy Transfer application:

image

This is a handy tool, but it does not transfer applications. This last point can be particularly tiresome if you use software that requires activation on each machine on which it is installed, not least Microsoft’s own Windows and Office. Adobe’s Creative Suite, for example, allows installation on up to two machines, after which it will no longer install unless you specifically deactivate it:

image

If you trash your old PC, or it breaks, without deactivating first, then you have to call support and plead your case.

Apple’s Migration Assistant, by contrast, does move applications, making a better user experience.

If you can easily move applications, settings and data, of course, there is no need to move the entire operating system, since you have all that matters.

Why does Microsoft make this so hard? Two reasons I can think of.

One is that there are technical challenges in moving Windows to new hardware; though having said that, I suspect that Microsoft could easily have created a migration wizard that includes applications if it wished to do so.

The second, and more important, is licencing. Most consumer versions of Windows (and Office too) are OEM licences, which are not allowed to be transferred from the machine with which they are supplied. If Microsoft made it easier to move Windows or to migrate applications, less new software would be sold. Enterprises are expected to handle this in a different way, with centralised application management tools.

Virtualisation changes the game of course. The point of virtualisation is that you run the operating system on abstracted hardware that can easily be replicated on another machine. I really would like to run a virtual desktop, but I do not have a suitably high-powered server and there are niggles over fast graphics, USB devices, studio quality audio and so on. I expect all these to be solved and that a virtual desktop is in my future.

In the meantime, I have personally lost patience with the idea of reinstalling everything, and fortunately I do not use OEM Windows licences.

The wider question is interesting though. Although the desire of Microsoft and its partners to protect licence income is understandable, there are new models of application licencing that work better for users. In Google’s world you just sign on in your browser, and all your stuff is there. In Apple’s world, your iOS apps are licenced to you, not your device, and when you get a new device they all reappear. Even Microsoft’s Xbox works like this too, though that was not always the case.

This competition, in combination with virtualisation, means that Microsoft’s approach with Windows looks out of date as well as being unpleasant for users.

Windows 8 is on the horizon, and I would guess that the forthcoming Windows Store will be better in this respect, though note that at its Build conference in September Microsoft did not discuss the business aspects of the Store.

Nokia’s Windows Phone gamble

At Nokia World in London on Wednesday, CEO Stephen Elop presented the new Lumia range of Windows Phones. You can watch the keynote here – I was impressed by Elop’s clarity and conviction, and also by VP Blanca Juti who talked about the Asha range of nearly-smartphone feature phones.

image

The demonstration of the Windows Phone OS and apps seemed to me weaker and you could sense a struggle in energising the audience. I suspect this is because Windows Phone has already been out for a year and has failed to meet expectations; clearly it takes more than live tiles to make a success of a new Smartphone.

Elop is aware of this which is why he made the following widely quoted remark:

[Lumia is] the first ever instantiation of the windows phone platform that properly embodies, complements and amplifies the design sensibilities of windows phone … more simply stated, Lumia is the first real Windows Phone.

I have yet to handle a Lumia but I believe Elop, in that the other Windows Phone 7 devices are no more than ordinary in their design, whereas Nokia has done something distinctive.

I was impressed by the demo of turn by turn navigation; this does look like an attractive and useful app.

image

I was also impressed when Elop talked about the marketing effort which Nokia and its retail partners are putting behind Lumia. He said that there are 31 operators and retailers in size countries which:

…have each committed to significant levels of marketing investment which includes unprecedented retail exposure and three times the level of total marketing investment compared to any other single Nokia launch.

He added that Nokia will be distributing seed devices widely among retailers so that they really know (and, Elop claims, love) the Lumia Windows Phones.

My immediate reflection is that Microsoft needed Nokia a year ago; Windows Phone has never before received this kind of backing. I am not sure that I have ever seen a Windows Phone for sale in my local small town centre, which has several mobile phone shops.

The tough question: is the OS good enough to compete with Apple and Android? I think it is a reasonable alternative, though I personally find the 20 beautifully designed icons I see on the first screen of the iPhone 4 more appealing than the seven chunky, flickering tiles I see on a Windows Phone. That said, I can see that the Windows Phone makes a good Facebook phone. I also like the Office apps and their read-write support for SharePoint, which is useful to me as a SharePoint user.

Where Windows Phone falls short is in the quality and availability of apps. There may be 30,000 in the Marketplace, but most of them are rubbish, and if you have a niche interest it is less likely to be represented than on an iPhone. I play Bridge, and on the iPhone I can enjoy FunBridge among others; on Windows Phone, nothing yet.

I have also found the data in Local Scout, a location-based index of places to see, shop or eat, too poor to be of much use where I am, though it may be better in London or other big cities.

If Nokia can win significant market share through its new range, problems like these will solve themselves as more people will care about them, and more apps will be developed.

It does need early success though, and this will not be easy bearing in mind that the general public are not really discontented with what is already on offer from others.

Nokia seems to have the right marketing ideas though, and the prices look reasonable. Watch this space.