Category Archives: microsoft

Lessons from Evernote’s flight from .NET

Evernote has released version 4.0 of its excellent note-taking product. Software developers have taken particular interest in the blog post announcing its release, because of what it says about .NET, in this case the Windows Presentation Foundation, versus native code:

Evernote 4 is a major departure from Evernote 3.5 in every way. While 3.5 added tons of great new features, there were some problems we simply couldn’t fix: the blurry fonts, slow startup times, large memory footprint, and poor support for certain graphics cards were all issues that the technology behind 3.5 (Windows .net and WPF) was incapable of resolving. As a result, we ended up chasing down platform bugs rather than adding the great features our users wanted.

So we decided to start over from scratch, with fast, native C++ that we knew we could rely on. As you’ll see, the results are amazing. This new version will set a foundation for rapid improvement.

Evernote 4 is designed to give you a great experience on any computer that you use, whether you’re on a netbook, a five year old Windows XP machine or a super fast top-of-the-line Windows 7 computer.

On our test hardware, Evernote 4 starts five times faster, and uses half the memory of Evernote 3.5.

A bit of background. WPF was introduced in Windows Vista and was originally intended to be the main GUI API for Windows, until the notorious reset midway through the Vista development cycle which marked a retreat from managed code back to native code in the operating system. I’d guess that the issues faced by the Evernote team were not so different from those faced back then by the Windows team at Microsoft.

WPF is not only based on .NET. It also uses DirectX and hardware acceleration under the covers, enabling rich multimedia effects. The layout language of WPF is XAML, giving freedom from scaling issues which cause hassles in the native API.

So what are the lessons here? Is WPF no good?

It is not so simple. WPF is brilliant in many ways, offering the productivity of .NET coding and a powerful layout framework. However it was a technology which Microsoft itself hardly used in its key products, Windows and Office – a warning sign.

When Microsoft built Visual Studio 2010 and .NET 4.0, the development team used WPF for the Visual Studio shell. This move by an internal team to create such a complex product in WPF was good for the framework itself. The font issue was addressed, performance improved. Evernote might not have found all its issues fixed in version 4.0, but it would likely have been better.

After I tweeted about Evernote’s experience, a couple of Microsoft folk contacted me to make this point. The trouble is, even version 3.5 of WPF was not the first version, and it never sounds altogether convincing if, when a customer complains about your product, you tell them everything is fine in the latest and greatest build. Why did Microsoft not get this right before?

That said, I am sure the latest WPF is better than before, though it is still heavyweight relative to native code. Factors that might suggest a WPF solution include:

  • The application only needs to run on Windows
  • There is no need to support older machines
  • The application makes use of data visualisation or other multimedia effects
  • The development team lacks the resources to build equivalent functionality in native code

The last point is important. Maybe a hotshot team of C/C++ developers could make a better job, but if you don’t have such a team or the money to hire it, it is not so relevant.

There is another possible approach, without abandoning .NET. Silverlight has many of the features of WPF, is lightweight, and runs on the Mac as well as Windows.

Adobe: no AIR planned for Windows Phone 7

I’m at the Adobe MAX conference in Los Angeles, and last night attended a couple of the “Meet the team” events where a bunch of Adobe engineers, product managers and others field questions about the products they are working on.

One of the events was on Adobe AIR, where an attendee asked whether we will see the AIR runtime on Microsoft’s Windows Phone 7. It is an interesting question, particularly at an event where mobile AIR has been highlighted. There is much talk of AIR for Android, and at the conference we have also discovered that the forthcoming Blackberry Tablet, the Playbook, uses AIR extensively for its user interface. AIR does not run on Apple’s iOS for iPhone and iPad, but Adobe has come up with a packager that compiles AIR apps to native code.

I have asked Adobe spokespersons before about AIR for Windows Phone 7 and have even been told that it will come, but it is a delicate matter. In fact, when I discussed this in a pre-MAX briefing with Adobe, I was informed was that Adobe would like to do it but that Microsoft will not permit it, though I doubt this is the whole story. The Flash runtime is known to be making its way to the device, though I have yet to see a date announced.

Last night the “Meet the team” presenter was clear. Adobe has no plans to deliver AIR for Windows Phone 7. We were told that Adobe sees Windows Phone 7 as a .NET device. The spokesperson (whose name I missed unfortunately – I’ll update if someone can tell me who it was) added mysteriously his belief that “it wouldn’t be the most successful endeavour for us.”

I would not assume from this that AIR will never appear on this platform; but it seems safe to say that it will not be soon.

The tension here is that supporting AIR would immediately increase app availability on Windows Phone 7, which would be to Microsoft’s advantage; but would also drive developers towards Adobe’s platform and away from Silverlight and .NET. The attraction of a cross-platform runtime is that you can develop once and deploy on a variety of devices, though there are always compromises involved.

Adobe may also have mixed feelings about supporting Windows Phone 7. Android is being heavily promoted here at MAX, even to the extent of handing a free Motorola Droid 2 to all attendees. If Windows Phone 7 becomes popular, Adobe will want its stuff to run there; but it might suit the company even better if it turns out to be a niche device.

An honest assessment of Windows Phone 7

I’ve been using Windows Phone 7 for a week and a half now, in the shape of an HTC Mozart on Orange. So what do I think?

I am not going to go blow-by-blow through the features – others have done that, and while it is important to do, it does not convey well what the phone is like to use. Instead, this is my first impression of the phone together with some thoughts on its future.

image

First, it is a decent smartphone. Take no notice of comments about the ugliness of the user interface. Although it looks a little boxy in pictures, in practice it is fun to use.

Some things take a bit of learning. For example, There is a camera button on the phone, and a full press on this activates the camera from almost anywhere. Within the camera, a full press takes a picture, but a half press or a press and hold activates autofocus. I did not find this behaviour immediately intuitive, but it is something you get used to.

There is plenty to like about the phone. This includes the dynamically updating tiles; the picture hub and the ability to auto-upload pictures to Skydrive, Microsoft’s free cloud storage; and neat touches such as the music controls which appear over the lock screen when you activate the screen during playback; or the Find your Phone feature which can ring your phone loudly even if it is set to silent, or lock the phone and add an if found message.

The People hub is fabulous if you use Facebook. I don’t use Facebook much, but even with my limited use, I noticed that as soon as I linked with Facebook, the phone felt deeply personalised to me, with little pictures of people I know in the People tile. The ability to link two profiles to one contact is good.

I also like the Office hub which includes Sharepoint workspace mobile – useful for synching content. Microsoft should push this hard, especially as Office 365, which includes hosted Exchange and Sharepoint, gains users.

There are some excellent design touches. For example, many apps have a menu bar with icons at the foot of the screen. There are no captions, which saves space, but by tapping a three-dot icon you can temporarily display captions. In time you learn them and no longer need to.

The pros and cons of hubs

Microsoft has addressed what is a significant issue in other smartphones: how to declutter the user interface. Windows Phone 7 hubs collect several related apps and features (between which there is no sharp difference) into a multi-page view. There are really six hubs:

  • People
  • Pictures (includes the camera)
  • Music and videos
  • Marketplace
  • Office
  • Games

I like the hubs in general; but there are a few issues. Of the hubs listed above, four of them work well: People, Pictures, Music/Videos, and Games. Marketplace is not really a hub any more than “phone” is a hub – it is just a way to access a single feature. Office is handy but it is not a hub gathering all the apps that address a particular area; it is a Microsoft brand. If I made a word processor app I could not add it to the Office hub.

Further, operators and OEMs can add their own hubs, but will most likely make bad decisions. There is a pointless HTC hub on my device which combines weather and featured apps. It also features a dizzying start-up animation which soon gets tired. I have no idea what the HTC hub is meant to do, other than to promote the HTC brand.

Speaking of brands, I have deliberately left the home screen on my Mozart as supplied by Orange. As you can see from the picture above, Orange decided we would rather see four Orange apps occupy 50% of the home screen (before you scroll down), than other features such as web browsing, music and video, pictures and so on. Why isn’t Orange a hub so that at least all this stuff is in one place?

The user can modify the home screen easily enough, and largely remove the Orange branding. But to get back to my point about hubs: it is not clear to me what a hub is meant to be. It is not really a category, because you cannot create hubs or add and remove apps from them, and because of the special privileges given to OEMs we get nonsense like the HTC hub, alongside works of art like the Pictures hub.

There is still more good than bad in the hub concept, but it need work.

Not enough features?

I have no complaint about lack of features in this first release of Windows Phone 7. Yes, I would like tethering. Yes, I would like the ability to copy an URL from the web browser to the Twitter client. But I am happy with the argument that Microsoft was more concerned with getting the foundation right, than with supplying every possible feature in version one.

I am less happy with the notion that Microsoft can afford for the initial devices to be a bit hopeless, and fix it up in later versions. I am not sure how much time the company has, before the world at large just presumes it cannot match iPhone or Android and forgets Microsoft as a smartphone company.

Is it a bit hopeless, or very good at what it does? I am still not sure, mainly because I seem to have had more odd behaviour than some other early adopters. Example: licence error after downloading from marketplace; apps that don’t open or which give an error and inform me that they have to close; black screens. A few times I’ve had to restart; once I had to remove the battery – thank you HTC Notes, which has been updated and now does not work at all. It is possible that there is some issue with my review device, such as faulty RAM, or maybe the amount of memory in a Mozart is inadequate. I am going to assume the former, but await other reports with interest.

The one area where Windows Phone 7 is weak is in app availability. I would like a WordPress app, for example. Clearly this will fix itself if the device is popular, though there are some issues facing third-party developers which will impede this somewhat.

App Development and the Marketplace

The development platform for third parties is meant to be Silverlight and XNA, two frameworks based on .NET which address general apps and games respectively. These are strong platforms, backed up by Visual Studio and the C# programming language, so not a bad development story as far as it goes.

That said, there are a couple of significant issues here. One is that third-party apps do not have access to all the features of the phone and cannot multi-task. Switch away from an app and it dies. This can result in a terrible user experience. For example, I fire up the impressive game The Harvest. Good though it is, it takes a while to load. Finally it loads and play resumes from where I got to last time. I’m just wondering what to tap, when the lock screen kicks in – since I have not tapped anything for a bit (because the game was loading), the device has decided to lock. I flick back the lock. Unfortunately the game has been killed, and starts over with resume and a long loading process.

The other area of uncertainly relates to native code development. C/C++ and native code is popular for mobile apps. It is efficient, which is good for devices with constrained resources; and while native code is by definition not cross-platform, large chunks of the code for one platform will likely port OK to another.

Third party developers cannot do native code development for Windows Phone 7. Or can they? Frankly, I have heard conflicting reports on this from Microsoft, from developers, and even from other journalists.

At the beginning, when the Windows Phone 7 development platform was announced at the Mix conference last year, it was stated that the only third-party developers allowed to use native code were Adobe, because Microsoft wants Flash on the device, operators and OEM hardware vendors. At the UK reviewer’s workshop, I was assured by a Microsoft spokesperson that this is still the case, and that no other third parties have been given special privileges.

I am sceptical though. I expect important third parties like Spotify will use native code for their apps, and/or get access to additional APIs. If you have a good enough relationship with Microsoft, or an important enough app, it will be negotiable.

In fact, I hope this is the case; and I also expect that there will be an official, public native code SDK for the device within a year or two.

As it is, the situation is unsatisfactory. I dislike the idea that only operators and OEMs can use native code – especially as this group does not have the best track record for creating innovative and useful apps. I have more confidence in third party developers to come up with compelling apps than operators or hardware vendors – who all too often just want to plug their brand.

I also think the Marketplace needs work. If I search marketplace, I want it filtered to apps only by default, but for some reason the search covers music and video as well, so If I search for a twitter client, I get results including a song called Hit me up on Twitter. That’s nonsense.

I wonder if the submission process is a too lax at the moment, because of Microsoft is so anxious to fill Marketplace with apps. I suppose there will always be too many lousy apps in there, on this and other platforms. Still, while nobody likes arbitrary rejections, I suspect Microsoft would win support if it were more rigorous about enforcing standards in areas like how well apps resume after they are killed by the operating system, and in their handling of the back button, two areas which seem lacking at the moment.

Complaints and annoyances

One persistent annoyance with the HTC Mozart is the proximity of menu bar which appears at the bottom of many apps, with the with “hardware” buttons for back, start, and search which are compulsory on all Windows Phone 7 devices. The problem is that on the Mozart, these buttons are the same as app buttons, triggered by a light touch. So I accidentally hit back, start or search instead of one of the menu buttons. I have similar issues with the onscreen keyboard. I’m learning to be very very careful where I tap in that region, which makes using the device less enjoyable.

Another annoyance is the unpredictability of the back button. I am often unsure whether this is going to navigate me back within an app, or kick me out of the app.

Some of the apps are poor or not quite done. This will sort itself presuming the phone is not a complete flop. For example, in Twozaic, when typing a tweet, the post button is almost entirely hidden by the keyboard. I would like an Android style close keyboard button (update: though the back button should do this consistently).

I have already mentioned problems with bugs and crashes, which I am hoping are specific to my device.

It seems to me that Microsoft has taken a look at Apple’s extraordinarily profitable approach to devices and thought “We want some of that.” The device is equally as locked down as an iPhone – except that in Apple’s case there are no OEMs to disrupt the user experience with half-baked apps, and operators are also prevented from interfering. With Windows Phone we kind-of have the worst of both worlds: operators and OEMs can spoil the phone’s usability – though this is constrained in that clued-up users can get rid of what they do not want – but we are still restricted from doing things like attaching the phone as USB storage.

Still not completely fixed – the OEM problem

My final reflection (for now) is that Windows Phone 7 still reflects Microsoft’s OEM problem. This device matters more to Microsoft than it does either to the operators or the OEM hardware vendors – who have plenty to be getting on with other mobile operating systems. In consequence, the launch devices do not do justice to the capabilities of Windows Phone 7, and in some cases let it does badly. I do not much like the HTC Mozart, and suspect that HTC just has not given the phone the attention that it needed.

One solution would be for Microsoft to make its own device. Another would be for some hardware vendor to come up with a superb device that would make us re-evaluate the platform. Those with long memories will recall that HTC did this for Windows CE, with the original iPAQ, the first devices using that operating system which performed satisfactorily.

HTC could do it again, but has not delivered with the Mozart, or I suspect with its other launch devices.

I have also noted issues with way Orange has customised my device, which is another part of the same overall issue.

Despite Microsoft’s moves to mitigate its OEM problem, by enforcing consistency of hardware and by (mostly) retaining control over the user interface, it is still an area of concern.

Microsoft lets go of IronPython and IronRuby

Visual Studio corporate VP Jason Zander has announced that IronPython and IronRuby, .NET implementations of popular dynamic languages, are to be handed over to the open source community. This includes add-ons that enable development in Visual Studio, IronPython Tools and IronRuby Tools. Of the two, IronPython is a more mature and usable project.

Why? Here’s a few reflections. For what it must cost Microsoft to maintain these projects, versus the goodwill it earns in the open source world, I would have thought they represent good value and I am surprised to see them abandoned.

On the other hand, it is easy to see that they are not commercial propositions. I’d guess that they were more valuable a few years back, before C# acquired dynamic features, and when dynamic languages were strongly in vogue and Microsoft was keen not to allow .NET to fall behind. To some extent dynamic languages are still in vogue, but we are now well past what is “the peak of inflated expectations” in the Gartner Hype Cycle, and few are likely to abandon .NET because it does not have an official Python or Ruby.

The other reason they are not commercial propositions is that Microsoft has under-invested in them. I recall Martin Fowler at ThoughtWorks telling me that JRuby, an implementation of Ruby for the Java Virtual Machine, is important to their work; it lets them work in a highly productive language, while giving clients the reassurance of running on a trusted and mature platform. JRuby performs very well, but IronRuby is a long way behind. Perhaps if Microsoft had really got behind them, one or both of these language could be equally significant in the .NET world.

The fact that F# rather than IronRuby or IronPython turned up as a fully supported language in Visual Studio 2010 is also significant. After talking to F# leader Don Syme – see the interview here – I understood how F# was important to some of Microsoft’s key customers in the financial world; and I’m guessing that neither Python nor Ruby had that kind of case made for them within the company.

Although it is a shame that Microsoft is withdrawing official support, the clarity of Zander’s statement is better than leaving the projects in limbo. The folk appointed as project leaders are also very capable – Mono guru Miguel de Icaza is on both teams and a great motivator, though it seems unlikely he will have much time to devote to them given his other commitments – and this may actually be good rather than bad news for the projects themselves.

Jim Hugunin, creator of both Jython (Python for Java) and IronPython, is leaving Microsoft for Google, and his farewell is worth a read. He says C# has evolved into a nicer language than Java, but notes:

I like to have a healthy relationship with Open Source code and communities, and I believe that the future lies in the cloud and the web. These things are all possible to do at Microsoft and IronPython is a testament to that. However, making that happen at Microsoft always felt like trying to fit a square peg into a round hole – which can be done but only at major cost to both the peg and the hole.

Windows Phone 7 battles indifference in London

Today is launch day for Windows Phone 7 in the UK – but the hoped-for crowds of people waiting to buy the new phone failed to appear.

They are billed as the handsets that could topple the iPhone. Yet as Microsoft’s Windows 7 phones went on sale this morning there was not a queue in sight.

reported the London Evening Standard.

The device also suffered faint praise from the influential Wall Street Journal reviewer Walt Mossberg. Although he called the user interface “novel and attractive”, he complained about missing features:

Microsoft has inexplicably omitted from Windows Phone 7 key features now common, or becoming so, on competitive phones. These missing features include copy and paste, visual voicemail, multitasking of third-party apps, and the ability to do video calling and to use the phone to connect other devices to the Internet. The Android phones and the iPhone handle all these things today.

adding that

I couldn’t find a killer innovation that would be likely to make iPhone or Android users envious, except possibly for dedicated Xbox users.

Is he right? In some ways it does not matter; perception is reality. That said, none of his missing features strike me as deal-breakers for a majority of users. You can also argue that Microsoft has learnt from Apple not to put every possible feature into the first release, but rather to make the features it does implement work as well as possible and to build on that in the future.

The problem is that there is so much momentum around Google Android and Apple iPhone that the average consumer looking for a smartphone will need a lot of persuading before paying out for Windows Phone 7, or even really noticing it. Microsoft needed rave reviews, not so-so ones. There is a danger that the new phone may suffer the same fate as Palm’s webOS devices, well liked by those who take the trouble to explore them, but absent from the mainstream of consumer consciousness.

I’ve had a device for a few days, and it has been favourably received by people I’ve shown it to. Some of the games look great – The Harvest, for example, a Microsoft exclusive. The Facebook integration is also appealing to fans of that site, and feels deeper than Facebook apps on other devices. Windows Phone 7 does have distinctive features.

I’ll be reviewing the device properly in due course. What is more interesting than my opinions though is how the phone is received in the market. I had expected more interest from the curious on day one of retail release.

Update: Microsoft found a queue or two for its press release today. Big in Australia?

Microsoft unveils Office 365, wins vs Google in California. What are the implications for its future?

Today Microsoft announced Office 365, though it is not really a new product. Rather, it pulls together a bunch of existing ones: Business Productivity Online Suite (BPOS), Office Live Small Business, and Live@edu, the cloud  . It also impacts the desktop Office business, in that with at least some varieties of Office 365 subscriptions, users get the right to download and install Office 2010 Pro Plus edition.

This rebranding is a smart move. I have long been mystified by the myriad brands Microsoft users for its online offerings. I hope this will all integrate nicely with the new Small Business Server “Aurora”, a forthcoming version of SBS designed to bridge the cloud and the local network. If it does, this will be attractive for small businesses – who will pay $6.00 per user per month, we were told today – as well as for larger organisations.

Enterprises will pay between $2.00 and $27.00 per user depending on which services they buy, and can get extra features such as unlimited space for email archiving.

I also find it interesting that Microsoft has won what sounds like a bitter battle with Google for the migration of the State of California to online services.

Why would anyone choose Microsoft rather than Google for cloud services? Google was born in the web era, has no desktop legacy weighing it down, has helped to drive browser standards forward with HTML 5 and lightning-fast JavaScript, promotes open standards, and has a great free offering as well as subscriptions? Further, with Android Google has a fast-growing mobile platform which it can integrate with its services.

No doubt Microsoft can make a case for its cloud offerings, but I suspect a lot of it is the power of the familiar. If you already run on Office documents and Exchange email, moving to online versions of the same applications will seem a smoother transition. There is also the document format issue: you can import Office documents into Google Apps, but not with with 100% fidelity, and the online editors are basic compared with Microsoft Office.

When Microsoft seemingly had no idea what the cloud was about, it was easier for Google to win customers. Now Microsoft is slowly but surely getting the idea, and the value of its long-standing hold over business computing is being felt.

Google is also winning customers, of course, and even if you accept that Office 365 is the future for many existing Microsoft-platform businesses – and, Microsoft will hope, some new ones – there are still a host of interesting questions about the company’s future.

One is how the numbers stack up. Can Microsoft as cloud provider be as profitable as Microsoft has been with the old locally installed model?

Second, what are the implications for its partners? In today’s press announcement we were told that customers migrating to BPOS report a 10%-50% cost saving. The implication is that these companies are spending less money on IT than before – so who is losing out? It could be Microsoft, it could be hardware suppliers, it could be integration partners. Microsoft does include potential for partners to profit from Office 365 migrations, presuming it follows the BPOS model, but partners could still be worse off.

For example, if support requests diminish,because cloud services are more reliable, and if Microsoft does some support directly, there is less opportunity for partners support services.

Finally, what are the implications for developers? The main one is this. Organisations that migrate to online services will have little enthusiasm for locally installed custom applications, and will also want to reduce their dependence on local servers. In other words, custom applications will also need to live in the cloud.

Ray Ozzie no longer to be Microsoft’s Chief Software Architect

A press release, in the form of a memo from CEO Steve Ballmer, tells us that Ray Ozzie is to step down from his role as Chief Software Architect. He is not leaving the company:

Ray and I are announcing today Ray’s intention to step down from his role as chief software architect. He will remain with the company as he transitions the teams and ongoing strategic projects within his organization … Ray will be focusing his efforts in the broader area of entertainment where Microsoft has many ongoing investments.

It is possible that I have not seen the best of Ozzie. His early Internet Services Disruption memo was impressive, but the public appearances I have seen at events like PDC have been less inspiring. He championed Live Mesh, which I thought had promise but proved disappointing on further investigation, and was later merged with Live Synch, becoming a smaller initiative than was once envisaged. Balmer says Ozzie was also responsible for “conceiving, incubating and shepherding” Windows Azure, in which case he deserves credit for what seems to be a solid platform.

Ozzie may have done great work out of public view; but my impression is that Microsoft lacks the ability to articulate its strategy effectively, with neither Ozzie nor Ballmer succeeding in this. Admittedly it is a difficult task for such a diffuse company; but it is a critical one. Ballmer says he won’t refill the CSA role, which is a shame in some ways. A gifted strategist and communicator in that role could bring the company considerable benefit.

Which mobile platforms will fail?

Gartner’s Nick Jones addressed this question in a blog post yesterday. He refers to the “rule of three” which conjectures that no more than three large vendors can succeed in a mature market. If this applies in mobile, then we will see no more than three survivors, after failures and consolidation, from the following group plus any I’ve missed. I have shown platforms that have common ownership and are already slated to be replaced in strikeout format.

  • Apple iOS
  • Google Android
  • Samsung Bada
  • Maemo MeeGo
  • RIM BlackBerry OS BlackBerry Tablet OS (QNX)
  • HP/Palm WebOS
  • Symbian
  • Windows Mobile Windows Phone 7 and successors

Jones says that success requires differentiation, critical mass, and a large handset manufacturer. I am not sure that the last two are really distinct. It is easy to fall into the tautology trap: to be successful a platform needs to be successful. Quite so; but what we are after is the magic ingredient(s) that make it so.

Drawing up a list like this is hard, since some operating systems are more distinct than others. Android, Bada, MeeGo and WebOS are all Linux-based; iOS is also a Unix-like OS. Windows Mobile and Windows Phone 7 are both based on Windows CE.

While it seems obvious that not all the above will prosper, I am not sure that the rule of three applies. I agree that it is unlikely that mobile app vendors will want to support and build 8 or more versions of each app in order to cover the whole market; but this problem does not apply to web apps, and cross-platform frameworks and runtimes can solve the problem to some extent – things like Adobe AIR for mobile, PhoneGap and Appcelerator. Further, there will probably always be mobile devices on which few if any apps are installed, where the user will not care about the OS or application store.

Still, pick your winners. Gartner is betting on iOS and Android, predicting decline for RIM and Symbian, and projecting a small 3.9% share for Microsoft by 2014.

I am sure there will be surprises. The question of mobile OS market share should not be seen in isolation, but as part of a bigger picture in which cloud+device dominates computing. Microsoft has an opportunity here, because in theory it can offer smooth migration to existing Microsoft-platform businesses, taking advantage of their investment – or lock-in – to Active Directory, Exchange, Office and .NET. In the cloud that makes Microsoft BPOS and Azure attractive, while a mobile device with great support for Exchange and SharePoint, for example, is attractive to businesses that already use these platforms.

The cloud will be a big influence at the consumer end too. There is talk of a Facebook phone which could disrupt the market; but I wonder if we will see the existing Facebook and Microsoft partnership strengthen once people realise that Windows Phone 7 has, from what I have seen, the best Facebook integration out there.

So there are two reasons why Gartner may have under-rated Microsoft’s prospects. Equally, you can argue that Microsoft is too late into this market, with Android perfectly positioned to occupy the same position with respect to Apple that worked so well for Microsoft on the desktop.

It is all too early to call. The best advice is to build in the cloud and plan for change when it comes to devices.

A useful Windows Phone 7 app in a couple of hours – Where’s my Train

I was interested to see that National Rail Enquiries has published a web service for its live departure boards. These give you reports on the next trains to depart from any given station, including information on late running.

Given that this is Windows Phone 7 week, I could not resist trying it out. I have a minimalist UI – you type in a station and hit Go. In version two you will just press Enter. It fetches the live train departures and displays them in a list. Version two might have a scrollbar too. Still, I’m pleased with the results, which could actually prove useful when I am running for a train.

image

Confession: it is currently hardcoded for just a few stations. That’s because you need to look up the station code in this table. I need to embed this database in my app somehow.

The coding is pretty simple though. It may help that the National Rail Enquiries web service is based on .NET, which is also why it does SOAP and WSDL, to the disappointment of those looking for REST. All the hard stuff is done by Add Service Reference in Visual Studio. The web service call is asynchronous, but there is a code completion wizard to add the necessary event handler.

Could be a money spinner if I can get it out quickly – but unfortunately the terms and conditions appear to prohibit its distribution:

This Web Site is for your personal and non-commercial use. You may not at any time modify, store, copy (including for example screen scraping), extract, reutilise, distribute, transmit, display, perform, reproduce, publish, license, create derivative works from, transfer, or sell, distribute or create any information, products or services obtained from, linked to or using this Web Site and any data therein or that may provide users with the ability to do the same.

These terms are bit puzzling, because on one interpretation they do not permit any use of the web service, even though it is stated that:

For the purposes of these Terms & Conditions the term Web Site also includes the web services, XML and any other data source supplying the Web Site.

Oh well. It still shows how quickly you can knock together a client for a web service and make something useful, although mine is really only a proof of concept. I reckon it would be almost as easy in Adobe AIR too – and then it would run on Android.

There is a National Rail Enquiries app for iPhone which costs $7.99 and likely uses the same web service.

Want a Windows Phone 7? Here are the choices and costs in the UK

I’ve been taking a look at what it will cost to get hold of a Windows Phone 7 device when it appears.

By way of preamble, personally I’m allergic both to contracts and to locked devices. It is an especially difficult issue for individual developers who want to test, support or develop for multiple devices. If you want an unlocked device, you could try Expansys which is currently taking orders for the HTC 7 Trophy – 3.8” screen, 8GB storage at £429.99 including VAT, but not due until 11th November.

O2’s HTC HD7 also looks attractive for developers, since it is available on pay as you go and has 16GB storage. It may be a bit bulky, but that is no bad thing for testing.

Vodafone has the cheapest currently announced deal by some measures, with the Trophy for £25.00 per month.

What if you want the HTC 7 Pro, which has 16GB storage and a slide-out keyboard? It’s set to be available in the US from early 2011 on Sprint, no word yet about Europe though I’m told it will appear here around the same time.

HTC HD7 Pro

If you want a keyboard, the good news is that the LG Optimus 7Q also has one; the bad news is that there are apparently no plans to offer it in the UK. You will be able to get it on Telstra in Australia.

There is also the Dell Venue Pro which has a little thumb keyboard, but no UK availability announcement yet. It will be on T-Mobile in the USA.

Dell Venue Pro

O2 has published details of its tariffs for the HTC HD7 – 4.3" screen, 16GB storage.

  • Free on £40 24 month tariff
  • £379 pay and go

HTC HD7

Orange, which says it is “Microsoft’s lead partner”, will have the Samsung Omnia 7 – 4.0" screen, 8GB storage, free on a £40.00, 24 month tariff. Note this is cheaper on T-Mobile, see below.

Samsung Omnia 7

Orange also offers HTC 7 Mozart – 3.7" screen, 8GB storage, free on £35.00 24 month tariff.

No word on pay as you go for either handset.

T-Mobile, which like Orange is now owned by Everything Everywhere, also has the the Omnia 7, free on a £35.00 24-month contract.

Vodafone has the HTC 7 Trophy – 3.8” screen, 8GB storage. This is free on a £25.00, 24 month contract. I’ve also been told Vodafone will offer the LG Optimus 7 – 3.8” screen, 16GB storage free with a £30, 24 month deal.

Three has the Samsung Omnia 7 on 24-month plans from £35.00 to £40.00 per month.

Might there be supply issues at launch? I am guessing that is likely, so if you are keen get your order in early. On the other hand, these are version one devices, so the usual health warnings apply.