Author Archive for mkrom

Thoughts on Silverlight & APL# (Guest Morten)

Please welcome an honoured guest, Morten Kromberg.

There has been some debate recently in the wake of comments by senior Microsoft officials at the recent “Microsoft PDC” conference, regarding the Microsoft’s increased emphasis on HTML5 (an open standard), rather than Silverlight (which Microsoft has developed).

In my opinion, Silverlight is a more appropriate technology for APL users, because it provides a platform which allows an APL interpreter to run in the browser, while HTML5 dictates the use of Javascript as a “client-side” programming language. Silverlight has the disadvantage of being associated with a single vendor, although there is an open-source version, known as Moonlight, mostly funded by Novell (with help from Microsoft). In some ways, it is a choice between a rock (single vendor) and a hard place (single programming language).

Many people may be surprised to hear that Silverlight could be a platform for an APL system, as they have only heard of Silverlight as “a way to play video in a web browser” (Microsoft’s so-called “Flash killer”). Surprisingly few people know that Silverlight embeds a fairly complete .Net framework and that this is a general-purpose computing platform which allows us to make apps written in APL# downloadable to a web browser without security concerns – or run APL# apps on any platform where either Silverlight or its open-source cousin Moonlight can run.

HTML5 adds video support to HTML, and makes that “most well known” reason for Silverlight irrelevant – this is something that I think most informed observers have been expecting for some time. Most web apps want a bit of media and some nice controls – and a connection to a server app written in some other language. HTML5 (which actually means “HTML5+Javascript”) is going to beat SilverLight for these apps.

However, Silverlight is so much more than that… It provides us with a way to make languages like APL# and C# be identical on all platforms – desktop, web and mobile, something which HTML5 does not aim to offer. With APL#, I will be able to debug my client and server apps, both written in APL (if that is what I want), using the same debugger… On any platform… Whereas HTML5 and Javascript are both likely to be a bit different from Operating System to Operating System and browser to browser.

As an APL programmer, the last thing I want is to try to understand and then deal with all of that. And then try to debug it in 10 different browsers on 5 different Operating Systems. There is a very significant market for better tools than HTML5/JS, easily large enough to justify an ongoing investment from MicroSoft.

I can understand that MicroSoft needs to ramp up their HTML5 support, but I can not understand why they did not simply say “We are increasing our investment in HTML5 for simple applications, but investing equally in Silverlight, which is a fundamentally more powerful tool for applications which needs power (and languages other than Javascript) and debuggability”. They are now back-pedaling furiously and claiming that this is what they meant, and we’ll have to hope that this is correct and not just political damage control. Microsoft has announced a Silverlight event called ”Firestarter” on December 2nd, where enthusiasts will be hoping to hear news of the “road map” for the technology.

I would almost go so far as to say that, without a strong and growing Silverlight, Microsoft .Net itself will quickly become a very much less attractive platform for software development. Windows Mobile is also going to be a very unattractive platform to invest on if you need to learn Silverlight and then have it only allow you to support what is currently a very “minor” mobile platform.

In my opinion, Silverlight is the key thing that Microsoft can do, and others cannot – it was the main thing they had going in their favour, and I think it will have a bright future if they only keep investing in it – even if it only gets used for “real applications”. I can’t understand why they are not giving it all they have got, unless I think of dark theories like that they have realized SilverLight is “too good” in that – together with Moonlight – it would allow people to run all their applications on competing operating systems like Linux as easily as Windows. However, without it, Microsoft doesn’t have a consistent cross-platform story and I think new, lightweight players will soon run rings around them in the web/cloud and mobile spaces.

This might all be a Very Good Thing for APL in the longer term – as I think we can thrive in some of the new environments – but mighty irritating this month as we try to figure out what Microsoft is really up to!

Breaking News: Just to add to the confusion, the news this week is that Novell, who have been funding Moonlight development, is to be broken up and sold in pieces, and that some pieces may be acquired either by Microsoft or by VMWare, who might be very interested in a cross-platform technology like Moonlight. Fingers crossed, I’m hoping Mono and Moonlight end up with VMWare, but that is definitely “wishful thinking” at this point. Large quantities of blood in the water for conspiracy theorists!


Analytics Plugin created by Jake Ruston's Wordpress Plugins - Powered by Laptop Cases and r4.