“Silverlight on the iPhone”: poetic license, or just plain dishonest?

silverlight-on-iphoneA few days back, the web was a awash with headlines that Silverlight was coming to the iPhone. Behind those headlines was the story that Silverlight video was the only part of Silverlight that was coming to the iPhone. The details of the story appearing to be that IIS was going to support converting Silverlight video into a form that could be displayed on the iPhone.

Yesterday I got into a discussion with Aral Balkan on Twitter over whether or not it was appropriate to call it Silverlight video as the video is displayed using the <video/> HTML 5 tag. In order to better defend my stance that it was, I decided to investigate the matter further to gain a proper understanding of what was going on. In the process, I had to do an about-turn on my position, and conclude Aral was right. Continue reading ““Silverlight on the iPhone”: poetic license, or just plain dishonest?”

Gestalt: why I now (almost) officially love Microsoft to pieces

gestaltI hate JavaScript. I loath and despise it. I worked as a web developer for a number of years, but I gave it up and moved back to “proper” programming in part because of the growth in AJAX, and thus the need to do JavaScript. Almost exactly a year ago, I proposed the following question be put to Scott Guthrie:

Given the recent announcement that JavaScript 4 will likely never see the light of day, has JavaScript finally outlived its usefulness as the ubiquitous browser language? Is it now time to retire JavaScript, or at least to open up the DOM to multiple languages? The .NET runtime code can be created from C#, Visual Basic, Ruby, J# etc, yet all compile to the same byte code ready to run on the CLR. Likewise these days JRuby, Java etc can all be compiled to the same byte code ready to run on the JVM. Are there any plans to create a JVM or CLR type environment for a future version of IE? Or are we stuck with the inadequacies of JavaScript for years to come?

The question was a suggestion for a question to put to the Speaker Panel at last year’s Remix UK. Whilst I never asked it, it looks like someone at Microsoft has – metaphorically speaking – answered my question in the best way possible. And that answer is Gestalt.

So what is Gestalt, and why my enthusiasm? Gestalt builds on Silverlight to enable web developers to do away with JavaScript within web pages and to replace it with Ruby or Python code using

and

tags directly within the HTML. As Gestalt uses the DLR, this need not be limited to Ruby and Python either.

Gestalt at the moment is just an early beta, available from the Mix Online Labs. Add to this the fact that Silverlight is only available for Windows and OS X, and JavaScript isn’t quite dying just yet. With luck though, we might see Gestalt take off and spread to Linux and other fringe operating systems. Then we might finally see the death of JavaScript, and it’ll not happen a day too soon in my view.

Release version of Silverlight 2 is due tomorrow

According to a Microsoft press statement, Silverlight 2 is due for release on Tuesday 14th (ie tomorrow). This coincidently is the same day that Apple are due to announce a couple of cosmetic changes to the Apple laptop range, which will have the fanboys wetting themselves with excitement as usual, whilst the rest of the world wonders what the excuse for no Apple Netbook will be this time.

There won’t be any excuses of course as Jobs is rapidly turning Apple into the Microsoft of a decade ago, where the fans lap up any old overpriced and outdated crap thrown to them and the rest of the world despairs over the lack of basic functionality – such as interoperability with non-Apple products – and the right to release software without having to ask permission of one’s overlords. By contrast, Silverlight shows just how far Microsoft has come since those dark days of a decade ago. Silverlight is not just Cross-platform with cross-browser support, Microsoft are working to provide an Eclipse plugin for Silverlight development and the control set (components in Adobe Flash speak) will be released as source code under the Microsoft Public License.

No doubt Jobs announcing that the MacBooks are to get SATA drives to hysterical whoops from the brainwashed will grab the headlines tomorrow, but the rapid march of Silverlight will be tomorrow’s real technology story.

Flex 4, Gumbonents and Thermo make for an awesome package

At Flash on the Beach 08 today (day 1), there was a session entitled ‘A Preview of Flex 4 and “Thermo”‘ by Mark Anders. After the disappointment over the total lack of any real early previews or “sneak peeks” at ReMix, this session really blew me away over what Adobe were planning with Flex 4, and – far more importantly – what they were prepared to reveal so early on.

One reason why I’ve been keeping an eye on Silverlight is Expression Studio and XAML. Microsoft have a set of designer tools that create design elements that can then be used directly within Visual Studio. Adobe have nothing like this, which is why Silverlight has been so interesting, and why I saw it having a reasonable chance of ultimately beating Flash. Why do I say Adobe has nothing like this? Adobe has an amazing range of design tools, but there is a complete disconnect between them and Flex. Flash Pro works with incomprehensible – to this developer at least – time lines and binary .fla files, which mean nothing in a Flex environment. Photoshop etc can be used to draw pretty pictures, which developers then have to re-engineer into Flex solutions etc. Flex 4 is set to completely change all of that.

It all starts with MXML, specifically a subset of it called FXG. Adobe have expanded MXML to include graphic primitives, animations etc, ie all the designer stuff that Flash Pro had, but that Flex lacked. Next, Adobe plan to provide support for FXG inside their various design tools. This means a designer can draw a pretty picture in Photoshop for example, and then export it as “code” that Flex can used directly.

Not content with FXG, Adobe have gone further with Flex 4 (or Gumbo as it is code named). Gumbo contains a bunch of components built on FXG, with the unofficial, but wondrous, name of gumbonents. These gumbonents can be skinned to the same n’th degree that Silverlight components can, and so Microsoft lose one of their precious few competitive edges.

Finally, just in case you thought that Adobe were happy to match the Silverlight/ Expression features, there is more. A brand new tool, codenamed “Thermo” ups the anti on Microsoft. This tool enables the designer/ developer to import say a Photoshop layered image, then to pick parts of the image and turn them into Flex components. In other words, it allows a team to work in a far more natural way, whereby the skin comes first, and the component – or “gumbonent” as hopefully they will become widely known – is created from the skin, rather than vice versa as is normally the case at the moment.

All in all, the session was amazing. To say I’m now excited by Flex 4 is probably the understatement of the year.

Mono team to Microsoft: build Moonlight desklet support into Silverlight

As you may be aware, the Mono team and Novell are creating a version of Silverlight for Linux called Moonlight. As part of that process, the Mono team added a “hack” that enables Silverlight apps to run on a Linux desktop, calling them Moonlight desklets. Miguel de Icaza, who heads up the Mono project blogged about them last year. It looks likely though that unless Microsoft adds its backing to desklets, they will remain a Linux-only hack, rather than a major Moonlight feature.

A few days ago, Miguel posted an update on the progress of developing desklets, and added a call to Microsoft to support these desklets in Silverlight. Apparently the Moonlight team do not plan on porting desklets across to the Mac and Windows, as it is a non-trivial task. I suspect that Microsoft will respond in time (though their focus at the moment must be on getting Silverlight 2 ready for an August release.) If they do not respond, then Flash obviously maintains one big advantage over Silverlight, namely AIR.

Corrina Barber adds a really nice skin to her portfolio

SilverlightI posted last week about a set of skins that Corrina Barber had produced for Silverlight. Well she has added a fourth one to the set and it is by far the best at showing just what can be done with Silverlight skins. As before, click on the image below to access the demo page, or click here for the source files.

She describes it as being organic in appearence. I disagree and think it looks cartoon-like, but in a really nice way. The controls basically look hand-drawn, yet work just like normal controls.

The “Rough” skin
The 'rough' skin

Silverlight 2 not only supplies controls, they are skinnable too

SilverlightOne of the criticisms levelled at Silverlight 1 was it lack of controls, such as buttons, checkboxes and the like. Not only has Silverlight 2 addressed this, but the power of XAML now really shows itself. Using XAML, it is possible to easily re-skin those controls to give them radically different appearances.

Corrina Barber has put together three very different looking examples – complete with source – to show just how easy it is to make radical changes. Click on the images below to play with the live demos (requires Silverlight 2 beta to be installed on your browser), or go to Corrina’s page to access the source.

The “Bubbly” skin
The 'bubbly' skin

 

The “Red” skin
The 'red' skin

 

The “Flat” skin
The 'flat' skin

 

Silverlight is coming to a mobile device near you soon

silverlight2.pngThe first “Community Technology Preview” (CTP) of Silverlight for mobile devices is due in the next three months. Initially it will be a CTP of Silverlight 1 for Windows Mobile 6 only. With the recent announcement that Microsoft is working with Nokia to port Silverlight to the Symbian OS though, this CTP is hopefully just the start of an eventual roll-out of Silverlight 2 across many platforms.

Scott Guthrie shows off Silverlight 2 … on a Mac!

The beta of Silverlight 2 is likely to be released after its been shown off at MIX in a couple of weeks time. But to wet everyone’s appetite, Scott Guthrie – the boss of the team writing Silverlight 2 – has shown some early screenshots of it in action.

scott_using_mac.png

Nothing too exciting except for the fact that they are Mac screenshots! What is the world coming to when a Microsoft General Manager within the Microsoft Developer Division shows off Mac screenshots? I used to think that Microsoft employees were instantly sacked even for saying the word, let alone using one!

At Mix:UK last year, Scott did tell me that he viewed Linux, OS X etc as “arch friends”. Looks like he was serious…

Forget Web 2.0 and Web 3.0: a real web upgrade is on the way

W3CIn recent years, we have seen “Web 2.0” technologies push HTML to its limits in terms of making the web act like a set of applications. Google docs and spreadsheets are representative of how far those limits have been pushed, but they also highlight how short of being true applications, HTML-based apps are. This has prompted talk of “Web 3.0” whereby HTML will take a back seat to Flash and Silverlight based Rich Internet/ Interactive Applications (RIAs). Part of the reason for this push to Web 3.0 is that it has been seven years since the last HTML standard (XHTML 1.1) was approved by the W3C. The standard that underpins the web is ridiculously old in internet terms. Four years ago, talk began over HTML 5. Four years on, today finally sees the release of the working draft of this new standard. If the W3C can pull its collective finger out and get the draft ratified in the next year, then it will be a very exciting release. If they continue at their current snails pace, then sadly they will likely have missed their chance and the web will be destined to become a Flash and Silverlight hell-hole.

So why is HTML 5 so exciting? The answer is simple: it fixes just about all the current shortcomings of HTML that Flash, Silverlight, PDFs and Quicktime seek to fix without needing plugins for all of the above (and possibly not getting a plugin for one of the above if you are on the “wrong” browser or operating system.) It also fixes a bunch of problems that none of these plugins successfully fixes by themselves:

  • First there is the new <canvas/> element. This element allows on-the-fly drawing on an HTML page, with lines, gradient fills, drop shadows, transforms and the like using JavaScript. Think Silverlight 1.0 built into the web browser with no need for a separate download.
  • Next there is the <movie/> element. No more having to embed the Flash/ Silverlight/ Quicktime/ Media Player object within the page; just use the built-in tag.
  • Want to do documentation in HTML? Fed up with the lack of proper mark-up tools? Currently this drives people to use PDFs (or, if they are really clueless or just joined to Microsoft at the hip, Word Docs) instead. The inclusion of sections with headers and footers, figures, asides etc now provide a much richer suit of mark-up tools for HTML documentation.

The really clever new stuff though includes:

  • History and location support. The page will no longer be limited to trying to trap the page back event, it will now be able to find out its own history in terms of the page back and forward URIs and state models (state objects that the page can define).
  • Storage. Persistent local storage that includes a SQL database will be available to the page for storing state data locally on the user’s machine.
  • Offline application support. The client will provide an application cache, allowing an HTML-based RIA to ensure the JavaScript, images etc required for it to function correctly offline are stored in local cache before the application starts. So a blog entry editor application for example might download recent posts to local storage and its application model to cache. Then when the user edits a post and saves it, it could be re-saved to local storage for later synchronising if off-line, or uploaded immediately if on-line.
  • Documents become editable. Set the designmode attribute to “on” and the whole page becomes editable. Will the whole web become a giant wiki?

The scope of the changes from v4.1 to v5 of the HTML specification is vast and I’ve only touched on a few aspects. If you want the full story, grab yourself a huge mug of tea or coffee, set aside a few hours and read the HTML 5 Working Draft.