Category Archives: microsoft

Visual Studio LightSwitch – model-driven architecture for the mainstream?

I had a chat with Jay Schmelzer and  Doug Seven from the Visual Studio LightSwitch team. I asked about the release date – no news yet.

What else? Well, Schmelzer and Seven had read my earlier blog post so we discussed some of the things I speculated about. Windows Phone 7? Won’t be in the first release, they said, but maybe later.

What about generating other application types from the same model? Doug Seven comments:

The way we’ve architected LightSwitch does not preclude us from making changes .. it’s not currently on the plan to have different output formats, but if demand were high it’s feasible in the future.

I find this interesting, particularly given that the future of the business client is not clear right now. The popularity of Apple’s iPad and iPhone is a real and increasing deployment problem, for example. No Flash, no Silverlight, no Java, only HTML or native apps. The idea of simply selecting a different output format is compelling, especially when you put it together with the fast JIT-compiled JavaScript in modern web browsers. Of course support for multiple targets has long been the goal of model-driven architecture (remember PIM,PSM and PDM?) ; but in practice the concept of a cross-platform runtime has proved more workable.

There’s no sign of this in the product yet though, so it is idle speculation. There is another possible approach though, which is to build a LightSwitch application, and then build an alternative client, say in ASP.NET, that uses the same WCF RIA Services. Since Visual Studio is extensible, it will be fun to see if add-ins appear that exploit these possibilities.

I also asked about Mac support. It was as I expected – the team is firmly Windows-centric, despite Silverlight’s cross-platform capability. Schmelzer was under the impression that Silverlight on a Mac only works within the browser, though he added “I could be wrong”.

In fact, Silverlight out of browser already works on a Mac; the piece that doesn’t work is COM interop, which is not essential to LightSwitch other than for export to Excel. It should not be difficult to run a LightSwitch app out-of-browser on a Mac, just right-click a browser-hosted app and choose Install onto this computer, but Microsoft is marketing it as a tool for Windows desktop apps, or Web apps for any other client where Silverlight runs.

Finally I asked whether the making of LightSwitch had influenced the features of Silverlight or WCF RIA Services themselves. Apparently it did:

There are quite a few aspects of both Silveright 4 and RIA services that are in those products because we were building on them. We uncovered things that we needed to make it easier to build a business application with those technologies. We put quite a few changes into the Silverlight data grid.

said Schmelzer, who also mentioned performance optimizations for WCF RIA Services, especially with larger data sets, some of which will come in a future service pack. I think this is encouraging for those intending to use Silverlight for business applications.

There are many facets to LightSwitch. As a new low-end edition of Visual Studio it is not that interesting. As an effort to establish Silverlight as a business application platform, it may be significant. As an attempt to bring model-driven architecture to the mainstream, it is fascinating.

The caveat (and it is a big one) is that Microsoft’s track-record on modelling in Visual Studio is to embrace in one release and extinguish in the next. The company’s track-record on cross-platform is even worse. On balance it is unlikely that LightSwitch will fulfil its potential; but you never know.

Ten things you need to know about Microsoft’s Visual Studio LightSwitch

Microsoft has announced a new edition of Visual Studio called LightSwitch, now available in beta, and it is among the most interesting development tools I’ve seen. That does not mean it will succeed; if anything it is too radical and might fail for that reason, though it deserves better. Here’s some of the things you need to know.

1. LightSwitch builds Silverlight apps. In typical Microsoft style, it does not make the best of Silverlight’s cross-platform potential, at least in the beta. Publish a LightSwitch app, and by default you get a Windows click-once installation file for an out-of-browser Silverlight app. Still, there is also an option for a browser-hosted deployment, and in principle I should think the apps will run on the Mac (this is stated in one of the introductory videos) and maybe on Linux via Moonlight. Microsoft does include an “Export to Excel” button on out-of-browser deployments that only appears on Windows, thanks to the lack of COM support on other platforms.

I still find this interesting, particularly since LightSwitch is presented as a tool for business applications without a hint of bling – in fact, adding bling is challenging. You have to create a custom control in Silverlight and add it to a screen.

Microsoft should highlight the cross-platform capability of LightSwitch and make sure that Mac deployment is easy. What’s the betting it hardly gets a mention? Of course, there is also the iPhone/iPad problem to think about. Maybe ASP.NET and clever JavaScript would have been a better idea after all.

2. There is no visual form designer – at least, not in the traditional Microsoft style we have become used to. Here’s a screen in the designer:

image

Now, on one level this is ugly compared to a nice visual designer that looks roughly like what you will get at runtime. I can imagine some VB or Access developers will find this a difficult adjustment.

On the positive side though, it does relieve the developer of the most tedious part of building this type of forms application – designing the form. LightSwitch does it all for you, including validation, and you can write little snippets of code on top as needed.

I think this is a bold decision – it may harm LightSwitch adoption but it does make sense.

3. LightSwitch has runtime form customization. Actually it is not quite “runtime”, but only works when running in the debugger. When you run a screen, you get a “Customize Screen” button at top right:

image

which opens the current screen in Customization Mode, with the field list, property editor, and a preview of the screen.

image

It is still not a visual form designer, but mitigates its absence a little.

4. LightSwitch is model driven. When you create a LightSwitch application you are writing out XAML, not the XAML you know that defines a WPF layout, but XAML to define an application. The key file seems to be ApplicationDefinition.lsml, which starts like this:

image

Microsoft has invested hugely in modelling over the years with not that much to show for it. The great thing about modelling in LightSwitch is that you do not know you are doing it. It might just catch on.

Let’s say everyone loves LightSwitch, but nobody wants Silverlight apps. Could you add an option to generate HTML and JavaScript instead? I don’t see why not.

5. LightSwitch uses business data types, not just programmer data types. I mean types like EmailAddress, Image, Money and PhoneNumber:

image

I like this. Arguably Microsoft should have gone further. Do we really need Int16, Int32 and Int64? Why not “Whole number” and “Floating point number”? Or hide the techie choices in an “Advanced” list?

6. LightSwitch is another go at an intractable problem: how to get non-professional developers to write properly designed relational database applications. I think Microsoft has done a great job here. Partly there are the data types as mentioned above. Beyond that though, there is a relationship builder that is genuinely easy to use, but which still handles tricky things like many-to-many relationships and cascading deletes. I like the plain English explanations in the too, like “When a Patient is deleted, remove all related Appointment instances” when you select Cascade delete.

image

Now, does this mean that a capable professional in a non-IT field – such as a dentist, shopkeeper, small business owner, departmental worker – can now pick up LightSwitch and and write a well-designed application to handle their customers, or inventory, or appointments? That is an open question. Real-world databases soon get complex and it is easy to mess up. Still, I reckon LightSwitch is the best effort I’ve seen – more disciplined than FileMaker, for example, (though I admit I’ve not looked at FileMaker for a while), and well ahead of Access.

This does raise the question of who is really the target developer for LightSwitch? It is being presented as a low-end tool, but in reality it is a different approach to application building that could be used at almost any level. Some features of LightSwitch will only make sense to IT specialists – in fact, as soon as you step into the code editor, it is a daunting tool.

7. LightSwitch is a database application builder that does not use SQL. The query designer is entirely visual, and behind the scenes Linq (Language Integrated Query) is everywhere. Like the absence of a visual designer, this is a somewhat risky move; SQL is familiar to everyone. Linq has advantages, but it is not so easy to use that a beginner can express a complex query in moments. When using the Query designer I would personally like a “View and edit SQL” or even a “View and edit Linq” option.

8. LightSwitch will be released as the cheapest member of the paid-for Visual Studio range. In other words, it will not be free (like Express), but will be cheaper than Visual Studio Professional.

9. LightSwitch applications are cloud-ready. In the final release (but not the beta) you will be able to publish to Windows Azure. Even in the beta, LightSwitch apps always use WCF RIA Services, which means they are web-oriented applications. Data sources supported in the beta are SQL Server, SharePoint and generic WCF RIA Services. Apparently in the final release Access will be added.

10. Speculation – LightSwitch will one day target Windows Phone 7. I don’t know this for sure yet. But why else would Microsoft make this a Silverlight tool? This makes so much sense: an application builder using the web services model for authentication and data access, firmly aimed at business users. The first release of Windows Phone 7 targets consumers, but if Microsoft has any sense, it will have LightSwitch for Windows Phone Professional (or whatever) lined up for the release of the business-oriented Windows Phone.

What users want in Windows 8

A number of blogs are running a coordinated poll on what users would most like to see in the next version of Windows. The results so far are unsurprising but still worth repeating, since there is a good chance that they differ from Microsoft’s priorities.

image

Note that users are less concerned about new features, more concerned about an OS that works better and faster.

Less bloat, currently number five in the list, will be hard to achieve while PC vendors still insist in bundling poor quality add-ons with their systems.

If you want to vote you can do so at any of various blogs including 4sysops – which has some notes expanding on what each category might mean – markwilson.it and Within Windows.

Dynamic language slowdown at Microsoft?

Jimmy Schementi, until recently a Program Manager at Microsoft working on IronRuby, has posted about why he is leaving the company; and in doing so answers a question I posed a few months back, Why F# rather than IronPython in Visual Studio 2010?

When my manager asked me, “what else would you want to work on other than Ruby,” I started looking for a new job outside Microsoft …. a year ago the team shrunk by half and our agility was severely limited. I’m omitting the internal reasons for this, as they are the typical big-company middle-management issues every software developer has. In short, the team is now very limited to do anything new, which is why the Visual Studio support for IronPython took so long. IronRuby’s IDE support in Visual Studio hasn’t been released yet for the same reasons. While this is just one example, many other roadblocks have cropped up that made my job not enjoyable anymore. Overall, I see a serious lack of commitment to IronRuby, and dynamic language on .NET in general … I invite the Ruby and .NET communities to come help us figure out how to continue the IronRuby project, assuming that Microsoft will eventually stop funding it.

The dynamic language work at Microsoft is very interesting and has done a lot to persuade the world that .NET is not just a C# and Visual Basic story. Personally I’d add my voice to those encouraging the company to re-invigorate its investment in IronRuby and IronPython.

A couple of other observations though. Schementi is talking about efforts to continue work on IronRuby irrespective of Microsoft’s funding, and if that succeeds it could bring the project to a better place rather than a worse one.

Second, one thing I learned in talking to Don Syme, the F# man at Microsoft, is that functional programming is in high demand in financial institutions, one of Microsoft’s most important markets. IronRuby and IronPython win Microsoft plenty of kudos, but the benefits in terms of revenue are presumably harder to identify.

Whatever happens to these languages, the impact of dynamic languages on the .NET platform has been significant, and C# now also has dynamic capability.

Internet Explorer 9 Preview gets to 95% on Acid 3

Microsoft has released the fourth platform preview for Internet Explorer 9, which you can download here. This is the last preview before the beta release, expected in September.

When IE9 was first previewed, back in March, it scored only 55% on the Acid3 standards test – well ahead of IE8 which scores around 20%, but far short of rivals like Google Chrome and Apple Safari which achieve full marks. Mozilla Firefox is at 94%.

Acid 3

The new preview is at 95%. IE9 is now up there with them – but why not 100%?

According to UK Web Product Manager Mark Quirk, it is down to three features, two of which are related to SVG (Scalable Vector Graphics). Two points are lost because of SMIL (Synchronized Multimedia Integration Language) presentations, which Microsoft does not intend to support because a similar feature will be part of CSS in future. Two points are lost because of SVG fonts, which again Microsoft does not intend to support because it sees WOFF (Web Open Font Format) as the future standard here. One point is lost because of the inability to draw SVG fonts on a path, though there are other ways to draw fonts on a path.

The bottom line: IE9 will most likely stay at 95% right through to its final release.

Incidentally, IE9 JavaScript performance is wildly faster than IE8, thanks to the new “Chakra” engine. IE9 is on the left, Firefox 4 on the right :

image

So when will we get IE9? Although it is not long to September, there is a major difference between the preview and the coming beta, which is that the preview does not have a full user interface. It is mainly to show off the rendering and JavaScript engine. Therefore we can expect new features in the beta versus the preview. Despite that, Quirk says that Microsoft intends the beta to be “good quality for any user”, not just for brave developers and testers.

But how long before the final release? Microsoft is not saying, though when I suggested the first half of 2011 as a reasonable guess, Quirk reminded me that the beta will be high quality and that the release should therefore follow “not too long” after.

Since we will get much of HTML 5 in IE alongside the other popular browsers, do we still need Silverlight?

“As the number of the things you can implement with HTML clearly goes up, the need for Silverlight and Flash goes down,” said Quirk, though he added hastily, “The value that those players add needs to go higher.”

I’d add that even if IE9 is all that we hope, it will take years before older versions fall out of use. Recently the UK government said it will stick with IE6, and whatever you think of that decision, it shows how hard it is to get browsers upgraded everywhere. By contrast, plug-ins like Flash and Silverlight get updated rather fast. I noticed on Riastats today that over 50% of browsers now have the latest Silverlight, and 39% already have Flash 10.1 – over 90% have Flash 10 or higher.

image

If you combine that issue with things like video playback that are problematic even in HTML 5, it suggests that plug-ins will be with us for the foreseeable future, though it is quite possible that their use may decline.

Another factor is tool support, mature for Flash and Silverlight, but not for the newest features of HTML. After IE9 appears, will Microsoft come up with tools that properly support it, in Expression Web and Visual Studio? “We have to, it’s as simple as that,” says Quirk, though he adds, “we haven’t said when.”

Apple iPad replacing PCs as well as paper?

Now here’s an article to strike fear into Microsoft. Stuart Sumner reports on iPad trials at the BBC and in the Army. The BBC’s CIO John Linwood says:

We’re seeding the organisation [with the devices]. We put some iPads into production and some into management and other roles to see if people would be able to give up their desktops.

He goes on to say that the iPad may enable paperless meetings.

What makes an iPad better than a laptop or netbook for a meeting? I find it curious, incidentally, that the report refers to replacing desktops rather than laptops.

Well, one reason I have always liked tablets is that they are more interactive and don’t put a barrier (the screen) between you and others. A stylus is actually nice for meetings – good for quick diagrams as well as handwriting. Apple’s iPad lacks the stylus, but has other advantages over Windows tablets – smaller, lighter, instant-on, long battery life, and so on.

Still, the humble netbook at one third of the price will do the job too, better in some ways. You have Excel, for example. Unfortunately it lacks the elegance, usability and desirability of Apple’s device.

Any excuse to justify handing out cool devices, then? Maybe; but there’s no law that says business equipment has to be dull and unpleasant to use.

Microsoft and the NHS: what went wrong?

Microsoft UK’s John Coulthard, Senior Director Healthcare and Life Sciences, has posted a comment on the decision by the NHS not to renew its EWA (Enterprise Wide Agreement) with Microsoft. His summary:

The bottom line is the NHS benefited from the productivity gains delivered through a suite of Microsoft software worth in excess of £270m per year. The actual cost to the NHS was £65m per year, delivering a saving of saving of £205m to the NHS and British taxpayers. For the next three years the cost would have risen to £85m as the NHS deploys more and more technology while the National Programme rolls out.

Software supplier whinging at loss of a lucrative contract? Of course; but at the same time I’d be interested to know whether this results in greater expense for UK taxpayers, of which I am one, and what is the real reason for the contract’s termination.

I’d like to think the decision is part of a strategy to end vendor lock-in and promote both competition and use of open source systems; but the truth may be less inspiring.

What are we to make of this report in Computer Weekly which says:

“Out of the blue, the Cabinet Office rejected the cut-down version of the renewal," said a source. "The noise from the top is that they are not sure national agreements work. It will be down to the trusts to make sure they are fully licensed."

One of the odd things reported is that the cut-down agreement was to have cost £21m, I presume annually; but the government is paying an immediate £50m to Microsoft:

The Cabinet Office did agree to pay Microsoft about £50m to cover software used in the previous agreement that was not licensed, but attributed the spend to the last administration’s budget.

That does not sound like a strategy to save money, when you consider the licensing costs now facing NHS trusts who no longer have an agreement in place.

Now, it is possible that the long-term effect will be to reduce lock-in, though that is optimistic; I do not know if any NHS trusts are actually planning to move away from Microsoft’s platform and even if they are, it is not something that can be done quickly. Another scenario is that most of them make their own agreements with Microsoft, the total cost of which exceeds what the EWA renewal would have cost.

Still, the outcome will probably please Google which has its own idea about how to provide IT for healthcare.

Nothing I’ve read really explains the decision and I would like to know more.

Stats that matter: Android grows in mobile, IE stops declining, eBooks take off

This should be three blog posts; but you’ve read this news elsewhere. Still, I can’t resist a brief comment on three recent trends.

Browsers

The first is that usage of Microsoft’s Internet Explorer has levelled off after a long period of decline. Microsoft says it is increasing but the numbers are too small to say that with confidence. StatCounter global stats for May to July show slight decline for IE (52.83% –> 52.37%) and FireFox (31.54%->30.88%), with Google Chrome the main beneficiary (8.81%->10.32%).

On this blog Chrome has grown from 4.2% to 12.4% in the last year. IE is still declining: 44.9% in July 09, 39.6% in June 10, and 38.2% in July 10.

My guess is that the success of Windows 7 might have brought back a few FireFox users. The interesting story though is where Chrome will be when it stops growing its share. My second guess is that it will be ahead of FireFox, though that is speculative. It is WebKit though, and I think that will be bigger than Mozilla’s Gecko thanks to adoption by Google, Apple, Adobe and others.

Mobile

Next, Google Android. Nielsen reports that it has pulled ahead of Apple iPhone in the US SmartPhone market; both are behind RIM’s Blackberry though that is in steady decline. RIM is announcing Blackberry 9800, the first on OS 6, later today; but I doubt it will disrupt Android’s growth. The developer angle is that Android is now equal to Apple’s iPad/iPhone in strategic importance, which will be a relief to Adobe – Flash runs on Android but not iPhone.

Android owners lack the satisfaction of Apple iPhone owners. 21% of them are eyeing the iPhone for their next upgrade, whereas only 6% of iPhone owners want Android next. Only 42% of Blackberry owners intend to remain loyal. It is all tending to confirm my speculation back in April that Android is the new Windows.

So in two years time, what will be the market share for RIM, Nokia Symbian/MeeGo, Windows Phone, HP Palm WebOS? It will not be easy for any of them.

eBooks

Finally, eBooks. The Kindle vs iPad vs Nook vs Sony is one story; but the bigger one is that the eBook is happening at last. David Carnoy’s recent articles on Amazon give the background. One is an interview with Amazon’s Ian Freed in which the retailer says eBook sales have tripled in the first quarter of 2010 vs that in 2009, and claims 70-80% of the market. Another looks at what Amazon didn’t say. However the market shares work out though, what matters is that screen, battery and wireless technology are now good enough, and publishers and authors willing enough, for eBooks to become mainstream, with huge implications for the media industry.

Dropbox: file sync that works, something for Ray Ozzie to think about

It all started when I wanted to get a document onto an iPhone. Apple makes this absurdly difficult, so I installed Dropbox, which does cloud synch of up to 2 GB free, more with subscription, across multiple platforms and devices: Windows, Mac, Linux, iPhone, Android, iPad and soon Blackberry.

I mentioned this on Twitter:

installed dropbox – live mesh but cross-platform and without the hassles?

and got several responses:

Dropbox is brilliant, I sync allsorts with it and use it as main storage on my netbook!

and

love that service, I couldn’t even get live sync to sign in!

and

I just updated my dropbox to the 50GB plan. Now have all my stuff synched across 5 macs/pcs + available on my iPhone.  Amazing

Now, Microsoft’s Live Mesh appeared in April 2008 and was meant to synch files across Windows, Mac and mobile, though the mobile client never really appeared. It has now been replaced by Windows Live Sync. There’s still no mobile support, not even for Windows mobile.

Dropbox launched publicly in September 2008 and now has a team of 28 people according to the About page – including the very capable Adam Gross formerly of Salesforce.com.

It seems to be an example of Microsoft having a good idea but being unable to deliver. The reason I mentioned “without the hassle” in my tweet is that Live Mesh always required a reboot and occasionally caused problems afterwards in my experience. Dropbox did not.

Ray Ozzie is Microsoft’s Chief Software Architect and seemed to be a key driver behind Live Mesh when it was announced. At one time it seemed that the technology might play a fundamental role in Microsoft’s efforts to unite cloud and device.

You can sign up for Dropbox free here.

Windows Phone 7 briefing report: no enterprise app deployment at launch

I attended a Microsoft briefing on Windows Phone 7 (WP7) yesterday. Here’s a quick summary of what interested me.

It does appear to be a decent phone. Unfortunately I’ve not yet received a preview device, but there’s no doubt that the user experience is well ahead of that on previous Windows Mobile devices.

The user interface is distinctive as you have no doubt seen. Microsoft is building strong links with both Facebook and Windows Live, surfaced at various places, and hopes this will be the best phone for social networking. It also hooks into Xbox Live, though it does not enable real-time multiplayer games, only turn-by-turn.

It has Bing maps with GPS support, though I suspect it will not be the equal of Google Maps on iPhone or Android. However, at least Microsoft is not in Apple’s position where it relies on a competitor for this key application.

One significant aspect for both users and developers is Tile Notifications. Each installed app has a tile which the user can install on the Start (home) page. These tiles can display text and image notifications that can be customized for the user. For example, a travel app could show a red alert and a message if a plane was cancelled or delayed. A sports app could show the latest score for your favourite team. However, there is no multi-tasking, so most of the time the app is not even running. How does this work?

The answer is that Microsoft hosts a notification server through which app vendors can push notifications. The app vendor needs to store on its own server any user-specific data, such as which flight she has booked. The app vendor can then push notifications to the user via Microsoft’s service. A more detailed explanation is here.

I like this form of notification since it is non-intrusive for the user. If you do not want to see them at all, you can just remove the tile from the Start page.

Microsoft confirmed that in-browser Silverlight will not work on launch. This strikes me as surprising, since Silverlight is built into the OS. I guess it will come later.

I asked a few questions.

When will we get Windows Phone 7? Microsoft is only saying “for Christmas 2010”.

Will it support tethering? No comment at the moment.

Will there be any way to copy a file from your PC to the device? I thought this would get a straightforward answer, but it did not. I was told that the PC side of WP7 has not been announced yet. However, it will bear some relation to what has been done before for Zune – though the UK still might or might not get the Zune Pass subscription service. Prompted by this discussion, I downloaded the Zune software. It is nicer to use than Windows Media Player, for sure. Why does Microsoft have two free media players, a good one that is reserved for a small niche of US users, and a mediocre one that comes with every version of Windows? You tell me.

image

Will there be any way to deploy applications without going through the Marketplace? The answer is mostly “No”, though Microsoft knows this is necessary for corporate apps and says there will be an announcement on the subject later this year. That said, there is a developer portal, intended for testing your apps, where you can specify up to 5 or 10 users who can download and install an app. This is in effect a limited private deployment, though it is not intended for that purpose.

Deploying apps to Windows Phone 7 will be slightly more expensive than it is for Apple’s iPhone. The policies are explained here. You pay $99 to register, which gets you five free submissions, after which it is $19.99 per app. Each registration is limited to five free apps, but there is no limit on paid apps. There is a 70/30 revenue split. The idea is to limit the number of low quality apps. Not a bad thing considering the amount of junk in Apple’s App Store.