Wednesday, June 17, 2009

HTML 5: Could it kill Flash and Silverlight?

Source: InfoWorld

HTML 5, a groundbreaking upgrade to the prominent Web presentation specification, could become a game-changer in Web application development, one that might even make obsolete such plug-in-based rich Internet application (RIA) technologies as Adobe Flash, Microsoft Silverlight, and Sun JavaFX.

The World Wide Web Consortium's (W3C) HTML 5 proposal [1] is geared toward Web applications, something not adequately addressed in previous incarnations of HTML, the W3C acknowledges. In other words, HTML 5 tackles the gap that Flash, Silverlight, and JavaFX are trying to fill.

The rich promise of HTML 5
"HTML 5 is really the second coming of this Web stuff -- of the Web," says Dion Almaer, co-founder of the Ajaxian Web site and co-director of developer tools at Mozilla. The specification boasts capabilities covering video and graphics on the Web, as well as a slew of APIs, Almaer notes.

HTML 5 technologies such as Canvas [4], for 2-D drawing on a Web page, are being promoted by heavyweights in the Internet space such as Apple, Google, and Mozilla. (Although Microsoft itself has given a thumbs-up to certain aspects of HTML 5, it has not backed Canvas.)

"HTML 5 features like Canvas, local storage, and Web Workers let us do more in the browser than ever before," says Ben Galbraith, also co-founder of the Ajaxian Web site and co-director of developer tools at Mozilla. Local storage enables users to work in a browser when a connection drops and Web Workers makes "next generation" applications incredibly responsive by pushing long-running tasks to the background, he says.

Web applications will become more fun, says Ian Fette, project manager at Google for the Chrome browser [5]: "They're going to be faster and they're just going to provide overall a better user experience and make the distinction between online apps and desktop apps blurred."

HTML 5 features already appearing in browsers
After five years of work, a draft of the HTML 5 specification was released in 2008. Parts of it are showing up in browsers, but the complete HTML 5 work won't be done for years.

"For example, video support is new in HTML 5 and new in Firefox 3.5 [6]," notes Vlad Vukicevic, technical lead of the Firefox project at Mozilla. Google's new Chrome browser also has some capabilities, including video tags, derived from the HTML 5 specification. And Microsoft has several HTML 5 features in Internet Explorer 8 [7], such as local storage, AJAX navigation, and mutable DOM prototypes.

Opera supports Canvas and plans to add capabilities such as video to its browser, says Molly E. Holzschlag, a Web evangelist at Opera Software. Meanwhile, Apple supports HTML 5 audio and video tags in its Safari [8] browser, as well as the Canvas technology (which it invented).

The case for HTML 5: Get rid of proprietary add-ons
While Adobe, Microsoft, and Sun Microsystems (soon to be Oracle) [9] duke it out with their own technologies to implement multimedia on the Web, HTML 5 has the potential to eat these vendors' lunches, offering Web experiences based on an industry standard.

Therefore, Adobe Flash and Microsoft Silverlight could see their turf invaded by HTML 5, Almaer says. "Essentially, what it does is lays the groundwork to have equivalent functionality that Flash or Silverlight provides," says RedMonk analyst Michael Cote. It also could threaten JavaFX, he adds.

One of HTML 5's goals is to move the Web away from proprietary technologies such as Flash, Silverlight, and JavaFX, says Ian Hickson, co-editor of the HTML 5 specification. (Hickson is a Google employee, while his co-editor David Hyatt works for Apple.)

"They're single-vendor solutions [and] they don't really fit well into the Web platform," Hickson says. "It's always a problem when you're stuck with a single software provider -- what if they decide to abandon the product you're using? What if they decide to start charging? With an open platform, there's no such risk, since we have true competition, many vendors, and an open standard that anyone can implement."

Hickson adds, "It would be a terrible step backward if humanity's major development platform [the Web] was controlled by a single vendor the way that previous platforms such as Windows have been."

Mozilla wants the Web to stay open and ensure that capabilities such as video are not beholden to corporate entities, says Firefox lead Vukicevic. But whether HTML 5 and Canvas displace Flash, Silverlight, and JavaFX "really depends on what developers do," he adds.

Lack of support for some HTML 5 technologies in the popular Internet Explorer is an issue for developers, says Vukicevic. "The fact that IE doesn't support a lot of these advanced features really holds back Web apps," because developers must instead do extra work such as supporting Microsoft-specific APIs or writing a portion of their application in Flash, he says.

The case for proprietary add-ons: They're better and available today
Although all three companies are involved with the W3C's HTML 5 efforts, Microsoft, Adobe, and Sun each defend the need for their technologies.

"HTML 5 is still a standard in progress and the makers of it say it will be five to ten years at least before it's done, so it's too early to make any comparisons at this time," a Microsoft spokesperson says. "Silverlight will still be necessary as it provides more advanced features -- such as a richer and faster programming model (C#), 3-D, and out-of-browser capabilities. With those features, Silverlight will ultimately provide a richer Internet experience."

"HTML 5 faces many challenges," says Dave Story, vice president of developer tools at Adobe. "The browser market remains highly fragmented, and incompatibilities between browsers reign. The HTML 5 timeline states that it will be at least a decade before the evolving HTML 5/CSS 3 efforts are finalized, and it remains to be seen what parts will be implemented consistently across all browsers. In the meantime, the Flash platform will continue to deliver a ubiquitous, consistent platform that enables ever richer, more engaging user experiences."

Sun vice president James Gosling, often considered the father of Java, says JavaFX "has much more advanced rendering, performance, and behavior than HTML 5."

Analyst Cote sees no immediate threat to these rich Internet app browser plug-ins: "It would take many years to reproduce the functionality in those plug-ins." And he expects the concept of plug-ins to continue to be useful when HTML 5 does ship.

Google's Fette agrees. HTML 5 is only a starting point, he says, and companies such as Google will add their own advancements, such as the ability to drag and drop images to a browser.

A few industry players may be conflicted
Most companies involved in the HTML 5 effort are browser developers or rich Internet application tool developers, but not both. The exception is Microsoft, which therefore is in a difficult situation, says Almaer. The company has heavy investments in trying to propel Silverlight to dominance. "That's a big elephant in the room for them because you can imagine the Silverlight team [whose] whole existence is to add [this] functionality in. [But] if Internet Explorer puts it already in there, why do we have Silverlight?" he asks.

Google may also face some touchy decisions. For example, its YouTube subsidiary uses Flash for its video, but the inclusion of HTML 5 capabilities in browsers might cause YouTube to rethink that decision, notes Fette. "It's a cost/benefit analysis that they'd need to make."

Friday, May 22, 2009

Adobe beams up new Strobe video framework

Source: CNET

As part of the Streaming Media East conference in New York, Adobe has unveiled "Strobe," the "open framework" for its Flash video player that the company first announced last month. It's expected to be available in the third quarter of this year.

Since you were probably wondering: No, Adobe is not tweaking the pronunciation of "Strobe" so that it rhymes. Thank goodness.

But here's what it is: Strobe is a product and architecture for accompanying plug-ins based on Adobe's Flash technology that lets a company build a custom video player more easily, should it want to host online videos in-house rather than relying on YouTube or its ilk.

While Adobe's ActionScript language is "very flexible," explained Jennifer Taylor, director of product management for Flash distribution, "everybody's sort of had to recreate that from scratch, and as a result it's taken people longer than they've wanted to to to get their video players up to get their video online."

The meat of Tuesday's announcement at Streaming Media East is that a host of big new partners are on board, from content delivery networks to analytics firms. The full list of supporters is Adap.tv, Akamai, Blip.tv, Brightcove, CDNetworks, Digital Smiths, Eyewonder, GlanceGuide, Grab Media, Incited Media, iStreamplanet, KickApps, Level3, Limelight Networks, Multicast, Nielsen, Omniture, Panache, PointRoll, ScanScout, Thumbplay, Visible Measures, and YuMe.

Strobe is "taking the mystery out of creating video players, and also streamlining and simplifying that process, so people can do it much faster than they could before," Taylor said. She added that ComScore statistics have said that Flash is used to serve up 80 percent of all online videos.

Adobe is calling Strobe an "open framework" and is inviting developers to contribute, but has not finalized the way that it will be licensed. There may, for example, be an open source version that developers are invited to try out, test, and build on, but the version that will be downloadable at Adobe.com may haev a different license. This, Adobe representatives said in an e-mail to CNET News, would "take all the best pieces of the open source code, bundled with plug-ins," but that it would be protected to "prevent modifications, breaking plug-ins and prevent competing branding."

Company representatives followed up later on Tuesday to clarify that "the intent is to work with a license that allows for liberal use and innovation."

But regardless of license, the Strobe framework will be free, and Adobe does not have plans to charge for it. "Our intent is to not monetize Strobe directly," Taylor said. "Obviously, we anticipate and hope that Strobe will help accelerate the adoption of Flash video, and the rising tide helps all boats: it's going to help our partners and those who provide plug-ins for the framework."

Wednesday, May 20, 2009

New York Times Dropping WPF/Silverlight for Adobe AIR

Source: InfoQ

In a rather unexpected turn of events, Microsoft’s WPF and Silverlight platforms have lost another early adopter. Back in 2006 we reported on how the Times Reader was based on WPF. Since then the New York Times has also added a Silverlight-based application for OS X users.

Unfortunately the Silverlight version has been plagued with problems, both political and technical. The biggest hurdle was the lack of cross-platform support. Though based on WPF or Windows Presentation Foundation, Silverlight only has a subset of WPF’s capabilities. This makes writing code that works on both difficult and most developers seem to end up maintaining two separate code bases. Silverlight 2.0 is designed to run within a browser, a limitation not found in WPF. Apple users, who tend to be sensitive to such issues, rightfully complained about not having all the same features as Windows users. Silverlight is also known to produce blurry text at times, a major issue for an application dedicated to displaying news. Finally, the Times Reader has some compatibility issues with Safari 4.

To address these and other issues, the New York Times is abandoning both WPF and Silverlight. Rob Larson writes,

Next week we’ll be introducing Times Reader 2.0. This version is powered by Adobe AIR and will run equally well on Windows , Mac and Linux computers. With this latest release, Times Reader resembles the printed paper even more closely, and it updates every five minutes with the latest news from the Web.

The Times Reader 2.0 is now available; and with Microsoft promoting its New York Times Silverlight Kit, the timing couldn’t be worse.

Thursday, May 14, 2009

Curl goes outside browser for Silverlight fight

Source: The Register

Microsoft's Silverlight 3.0 is still in beta and it promises major improvements, but the competition is already promising greater power.

The Novell-backed open-source implementation of Silverlight this week announced a preview of its second version. Moonlight 2.0 is based on Silverlight 2.0, but it now includessignificant APIs from the Silverlight 3.0 beta.

Meanwhile, Curl - a company with its own epic history - is today expected to unveil the latest version of its interface programming language to help close the gap on the yet-to-launch Silverlight 3.0.

Curl 7.0 will let users run rich internet applications outside the browser by specifying their preferences using a simple a dialogue box. Previously, Curl relied on programmers to build in such out-of-browser capabilities into the content, with users then clicking a URL that fired up a separate window. It was an involved build process and confusing to the user.

RIAs have naturally attracted concern because they give PC users another opportunity to download and install potentially malicious code on their desktops. This could access important data and infect entire networks.

The company said Curl 7.0 isn't putting responsibility for desktop security in the hands of users downloading and installing all kinds of dangerous media-based content.

Curl 7.0 lets administrators override any controls and settings users have given to applications on the desktop and assert corporate security controls, the company said. The desktop data store is also encrypted, for added protection.

The Silverlight 3.0 beta ads to Microsoft's browser-based media player the ability to run applications outside the browser. It also features a sandbox to contain code and prevent malicious code from running wild. But it's unclear whether administrators can enforce corporate security policy and override desktop settings in Silverlight 3.0.

Curl claims it can bring weight to RIAs that's missing in Silverlight and Adobe Systems' AIR. Curl compiles an application to the hardware to speed performance and reduce round-trips between the client and server that can delay performance - particularly of data-intensive applications with large data sets. The company claimed it has won a number of customers who've found performance limitations with Adobe or using AJAX.

Curl's got a long history. Founded in 1998, with a rich language for building interfaces from the brains at MIT, Curl went on to become a subsidiary of Sumisho Computer Systems, notched up a number of big-name customers in Japan such as Nissan Diesel Motor, and was then re-launched in the US.

An idea ahead of its time, Curl now faces competition not just from Microsoft and Adobe, but also AJAX and array of open-source languages and frameworks. ®

See also:

Friday, April 24, 2009

myPatterns: XSLT / RegEx for JS Objects

Nic Volanschi pointed us to myPatterns:

myPatterns is a new library adding custom notations for data structures in JS (and also C). It’s really useful for writing elegant programs using general pattern matching.

To explain myPatterns, let’s introduce a standard JavaScript object:

PLAIN TEXT

JavaScript:

  1. {

  2. name: { firstname: “John”, lastname: “Smith” },

  3.   children: [

  4. { firstname: “Eric”, gender: “male”, born: 1991 },

  5. { firstname: “Deborah”, gender: “female”, born: 1996 }

  6. ]

  7. }

Using myPattern, you can write a test to check if this object represents a person whose first child is a boy 18 years old:

PLAIN TEXT

JavaScript:

  1. (s = match(x, “{name:{lastname: %l}, children:[{gender: 'male', born: %b} | %x]}”))

  2. && new Date().getFullYear() - s.b == 18

The website explains the pattern above:

In the above, the match() statement both checks whether the object has a certain form (e.g. that the children field is an array containing a first element of a given form), and returns a “substitution” object s having the following value: {l: “Smith”, b: 1991, x: [ {firstname: "Deborah" , born: 1996} ]}.

Furthermore, using your own notations, you could write the same condition more concisely, and with your own personal touch, for example:

PLAIN TEXT

JavaScript:

  1. s = match(x, “<%first ~ %last: [boy(18) | %rest]>”)

In the above, the object is noted in a more concise way, and the age of the first son is directly specified in the pattern, as if it was stored in the object, taking advantage of active patterns to compute the age on the fly.

Neat!

Wednesday, April 15, 2009

No More Underscores in VB 10

Source: InfoQ

Visual Basic 10 will have an improved compiler that makes underscores optional for most line continuations. This represents a significant change for VB, traditionally a line-terminated language. The Visual Basic team has an in-depth explanation of Implicit Line Continuation.

VB 1-6 and VB.NET (7-9) used the carriage return as a statement termination token, similar to the explicit semicolon ";" in C#. By moving to an implicit termination token, Visual Basic language readability will be greatly improved, especially when writing multi-line LINQ queries.

Dim dates = from d in listOfDates _
where d.Year > 2009 _
select d _
distinct _
order by d
Could become:
Dim dates = from d in listOfDates
where d.Year > 2009
select d
distinct
order by d
The VB team explanation mentioned above covers specific cases where implicit line continuation is not supported:
We don’t capture every scenario. Given our cost and time constraints around the feature, we tried to capture the most common cases that would provide the most bang for the buck. We also avoided the ones that just led to problems. Here are some examples of problems you could have if we had decided to allow implicit continuation anywhere. I take these from some analysis that Lucian Wischik (also on the VB compiler team) did on our grammar:
With y
A=x
.xfield
End With
If we allowed implicit continuation before the ‘.’ we would have problems knowing what the period belongs to. For example, it could be interpreted as:

With y
A=x.xield
End With
Or
With y
A=x
.xfield
End With
Channel 9 also has an excellent interview with Tyler Whitney, a developer on the Visual Basic compiler team.

Silverlight Has Lost an Important Customer

Source: InfoQ

Yesterday, the MLB 2009 season started being broadcasted live on the Internet by MLB.TV using Flash instead of Silverlight. After one year of using Silverlight, MLB switched back to Flash due to problems plaguing Microsoft’s player.

Microsoft had a one year deal for 2008 with MLB to use Silverlight as streaming platform for their MLB.TV web site with half a million subscribers. The MLB 2009 season started yesterday with a web site full of Flash and an online TV station broadcasting on Flash according to the 2 years deal with MLB announced by Adobe in November last year.

Little was said regarding the reasons why MLB renounced to Silverlight, but some details have transpired according to CNET. One of the main problems is availability of the player which cannot be installed at work by people without administrative rights. The other major reason was the series of glitches affecting last year’s Opening Day and the week following which most probably frustrated many subscribers which had difficulty logging in and watching the games.

Today, using Flash, MLB.TV offers the games in HD with DVR quality with pause and rewind even for live games, with game or player highlights using picture in picture, the ability to watch 4 games in the same time, the possibility to choose between radio and TV announcers, and player tracker.

While Microsoft lost a very important customer, Silverlight still provides coverage for NBA, NCAA events though CBS College Sports, and provides streaming for Blockbuster’s MovieLink and Netflix’ Instant Watch.