All posts by onlyconnect

AppFabric – Microsoft’s new middleware

I took the opportunity here at Microsoft PDC to find out what Microsoft means by AppFabric. Is it a product? a brand? a platform?

The explanation I was given is that AppFabric is Microsoft’s middleware brand. You will normally see the work in conjunction with something more specific, as in “AppFabric Caching” (once known as Project Velocity) or “AppFabric Composition Runtime” (once known as Project Dublin. The chart below was shown at a PDC AppFabric session:

image

Of course if you add in the Windows Azure prefix you get a typical Microsoft mouthful such as “Windows Azure AppFabric Access Control Service.”

Various AppFabric pieces run on Microsoft’s on-premise servers, though the emphasis here at PDC is on AppFabric as part of the Windows Azure cloud platform. On the AppFabric stand in the PDC exhibition room, I was told that AppFabric in Azure is now likely to get new features ahead of the on-premise versions. The interesting reflection is that cloud customers may be getting a stronger and more up-to-date platform than those on traditional on-premise servers.

Microsoft PDC big on Azure, quiet on Silverlight

I’m at Microsoft PDC in Seattle. The keynote, introduced by CEO Steve Ballmer, started with a recap of the company’s success with Windows 7 – 240 million sold, we were told, and adoption plans among 88% of businesses – and showing off Windows Phone 7 (all attendees will receive a device) and Internet Explorer 9.

IE9 guy Dean Hachamovitch demonstrated the new browser’s hardware acceleration, and made an intriguing comment. When highlighting IE9’s embrace of web standards, he noted that “accelerating only pieces of the browser holds back the web.” It sounded like a jab at plug-ins, but what about Microsoft’s own plug-in, Silverlight? A good question. You could put this together with Ballmer’s comment that “We’ve tried to make web the feel more like native applications” as evidence that Microsoft sees HTML 5 rather than Silverlight as its primary web application platform.

Then again you can argue that it just happens Microsoft had nothing to say about Silverlight, other than in the context of Windows Phone 7 development, and that its turn will come. The new Azure portal is actually built in Silverlight.

The messaging is tricky, and I found it intriguing, especially coming after the Adobe MAX conference where there were public sessions on Flash vs HTML and a focus in the day two keynote emphasising the importance of both. All of which shows that Adobe has a tricky messaging problem as well; but it is at least addressing it, whereas Microsoft so far is not.

The keynote moved on to Windows Azure, and this is where the real news was centered. Bob Muglia, president of the Server and Tools business, gave a host of announcements on the subject. Azure is getting a Virtual Machine role, which will allow you to upload server images to run on Microsoft’s cloud platform, and to create new virtual machines with full control over how they are configured. Server 2008 R2 is the only supported OS initially, but Server 2003 will follow.

Remote Desktop is also coming to Azure, which will mean instant familiarity for Windows admins and developers.

Another key announcement was Windows Azure Marketplace, where third parties will be able to sell “building block components training, services, and finished services and applications.” This includes DataMarket, the new name for the Dallas project, which is for delivering live data as a service using the odata protocol. An odata library has been added to the Windows Phone 7 SDK, making the two a natural fit.

Microsoft is also migrating Team Foundation Server (TFS) to Azure, interesting both as a case study in moving a complex application, and as a future option for development teams who would rather not wrestle with the complexities of deploying this product.

Next came Windows Azure AppFabric Access Control, which despite its boring name has huge potential. This is about federated identity – both with Active Directory and other identity services. In the example we saw, Facebook was used as an identity provider alongside Microsoft’s own Active Directory, and users got different access rights according to the login they used.

In another guide Azure AppFabric – among the most confusing Microsoft product names ever – is a platform for hosting composite workflow applications.

Java support is improving and Microsoft says that you will be able to run the Java environment of your choice from 2011.

Finally, there is a new “Extra small” option for Azure instances, aimed at developers, priced at $0.05 per compute hour. This is meant to make the platform more affordable for small developers, though if you calculate the cost over a year it still amounts to over $400; not too much perhaps, but still significant.

Attendees were left in no doubt about Microsoft’s commitment to Azure. As for Silverlight, watch this space.

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.

Sneak peeks at Adobe Max 2010

I’m at Adobe Max 2010 where Star Trek actor William Shatner is presenting the “sneak peeks” for this year’s conference. These are demos of Adobe research which may or may not make it into a product.

image

1. Rik Cabanier showed a tool called “Wallaby” which exported a Flash animation to HTML 5. We also saw an individual animated graphic extracted from the exported HTML and added to a web page. Finally, he showed the demonstration running on an iPad.

I would be glad to see Adobe work further on this concept.

2. Kevin Goldsmith demonstrated Pixel Bender 3D, generating animated 3D images using an extension of Pixel Bender shading, and running on the new “Molehill” 3D API in Flash Player. Pixel Bender is an existing Adobe shader technology. Even more impressive: the Pixel Bender 3D compiler has been converted to ActionScript so you can do this dynamically in Flash applications.

3. Anirudh Sasiikumar showed live Flex design and development. This is a live view in Flash Builder which compiles and runs code changed on the fly, reminiscent of Edit and Continue in Microsoft’s Visual Studio, though this looks even more seamless.

4. Dan Goldman showed Video Tapestry for finding a location within a video. The idea is that even showing selected frames does not give enough information, particularly if there is a lot of action. The video tapestry shows a continuous tapestry-like sequence, with the ability to zoom in and out, and pop-up key frames. This strikes me as both fun and useful.

image

5. Sebastian Lans and Lalit Balchandani showed a tool for performance testing a .swf, a Flash movie file. You can see performance metrics frame by frame making it easier to find the cause of performance issues.

6. Shilpi Khariwal demonstrated ColdFusion doing dynamic adaption according to the client being used, and using location data from a mobile device. Not the most spectacular of demos but useful.

7. Sylvain Paris showed a Photoshop tool that applies the style and optionally the colours from one image to another. The tool is also able to fix camera shake to some extent.

8. David Durkee showed the Typography of Code.  The ides is that programmer’s editors do not take advantage of all ways you can use typography to make text easier to follow. Not sure about this one, though Durkee is correct: programmers generally put up with ugly layouts, and “pretty” generally just means getting the spacing, line breaks and indentation consistent. Would more advanced typography improve productivity, or just get in the way?

image

9. Hartmut Warncke demonstrated Noise to Meaning, analysis of an audio file to identify audio events – not text to speech, but “phone ringing”, “man speaking”, for example.

10. Tinic Uro showed Stage Video, which improves performance by extracting video to a separate layer than can be executed on the GPU. The consequence is much lower CPU usage. This will apparently come to all versions of the Flash Player, not just mobile.

There was some compelling stuff on show here, though some of the presentations, which are necessarily short, did not fully convey their significance.

Flash to get 3D acceleration with “Molehill”

One of the demos here at Adobe Max was a 3D racing game, running in Flash with 3D acceleration. It was enabled by a new set of GPU-accelerated APIs codenamed Molehill. Adobe CTO Kevin Lynch remarked that with GPU-accelerated 3D, Flash games could come closer to console games in the experience they offer. Lynch also demonstrated using a game controller with a Flash game.

There are no precise dates for availability, but Adobe expects to offer a public beta in the first half of 2011. The APIs will be available in a future version of the Flash Player. Under the covers, the 3D APIs will user DirectX 9 on Windows and OpenGL 1.3 on MacOS and Linux. If no supported 3D API is found on a particular platform, Flash will fall back to software rendering.

One interesting aspect is that Molehill will also work on mobile devices, where it will use OpenGL ES 2.0. Apparently GPUs will be common on mobile devices because they enable longer battery life than relying on the CPU for all processing. I heard similar remarks at the NVIDIA GPU conference last month.

This will be a significant development, especially when put in the context of Flash appearing in the living room, built into a TV or on Google TV.

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.

Adobe aims to fill mobile vacuum with AIR

Today is day one of the Adobe MAX conference in Los Angeles. In this morning’s keynote CTO Kevin Lynch focused firmly on devices – both mobile devices and living room devices including Google TV. There was a nod to HTML 5 in the opening demo, a prototype of a new product called Edge which is a motion designer that extends JQuery, but the Flash player remains the heart of Adobe’s platform. The proliferation of incompatible devices is an opportunity for cross-platform runtimes, and Adobe intends to take advantage with Flash and AIR – the Adobe Integrated Runtime, for local applications that fun on Flash.

Released today in public preview, the Flex “Hero” SDK includes support for mobile development, among other things, and is backed by an updated Flash Builder code-named Burrito.

Right now the only mobile platform which is supported is Google Android, but others are promised. In particular, we heard a lot in the keynote about the Blackberry Playbook,  the forthcoming tablet from RIM, including an appearance from RIM boss Mike Lazaridis.

An interesting aspect of the Playbook is that the user interface of the device itself is built in part with AIR. As a RIM exec observed in a later Q&A, it makes sense for the OS to use the same framework as that used by third party apps, so that any issues are sorted early.

AIR popped up again in a a different context, as Lynch described Adobe’s Digital Publishing Suite. This suite targets magazine publishers creating publications for the Apple iPad, such as publisher Condé Nast, also represented at the keynote, which is adopting the platform for many of its publications from Wired to the New Yorker.

The Digital Publishing Suite exports publications from Adobe InDesign to a dedicated format with a .issue extension, played on the iPad by Adobe Content Viewer. Adobe will now implement the content viewer on AIR, so that digital publications will render on the new wave of Android tablets, Blackberry tablets, and others in future.

Also worth noting is that Adobe plans to insert itself into the distribution process beyond just providing the authoring tools and the runtime. The Digital Publishing Suite includes Adobe hosting for the content. More broadly, the Melrose project, now called Adobe InMarket, is a service where you host your application on Adobe’s servers and Adobe handles deployment to the various App Stores out there as well as credit card processing.

Of course Apple is working, it seems, to undermine Flash. The runtime is not allowed on iOS, Apple’s mobile platform. Apple is not including Flash by default in the latest Macs, and the forthcoming Mac App Store will not allow AIR (or for that matter Java) applications. You will still be able to install Flash and AIR on a Mac, but Apple will no doubt be encouraging users to go the App Store route.

It is a fascinating tension, particularly since Apple’s devices fit so well with other aspects of Adobe’s strategy.

Despite Steve Jobs, Lynch announced today that the number of Flash platform developers has grown by 50% over the last year, which is huge. I also wonder whether the Java turmoil, especially on the Mac, could work in Adobe’s favour as it builds support for its Flash runtime.

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?