This latest PDC has been a real eye opener in terms of what the future really means for Silverlight and how that future can possibly coexists with HTML 5. Well it was clear with the keynote that Microsoft is all in on HTML 5 especially as it relates to Internet Explorer 9. In fact when Microsoft was showing off IE 9 it was nothing to do with plugins, it had everything to do with HTML 5 and video. I think my confusion on the role of Silverlight was based on what were mixed messages during its inception and the fickle standards of HTML 5.
Microsoft President in charge of the company’s server and tools business, Bob Muglia, was asked about the place for Silverlight and his answer was simply that “Silverlight is our development platform for Windows Phone.” He also suggested that Silverlight also has some “sweet spots” in media and line-of-business applications. So although applications running inside a web browser were the main focus for Microsoft two years ago, today Silverlight is much more than a browser technology.
Silverlight, going forward, will also be outside the browser on the desktop, mobile devices, and in the living room. In fact at the National Association of Broadcasters Committee (NAB) conference Microsoft was able to show manufacturers of set-top-boxes, connected TVs, Blu-ray players and other consumer devices how to deliver full Silverlight experiences, including:
- Information overlays / Picture-in-picture
- High Definition (HD) H.264 and VC-1 video
- Content protection including DRM
- DVR-like capabilities.
- Stereoscopic 3D video
- Live broadcast support
- (Adaptive) Smooth Streaming
- Analytics support with the Silverlight Analytics Framework
So I fully anticipate more from Silverlight in a variety of areas especially in high-quality media experiences, games, consumer and business apps. So my investment in Silverlight has not been a complete waste of time. I can target the 600,000,000 desktops and devices that have Silverlight installed.
I have basically completed my first app for Windows Phone 7, I am poised to register it on the Marketplace. I am still gathering information about Windows Phone 7 as this is a new platform so there are still bits of critical information that are making its way into the developer community. I thought I would dedicate this post to the stream of information I have found over the last few weeks.
I also caught this video on Channel 9, and I started to feel a little guilty that I have never paid much attention to UI design or even UX over my career (I have left behind some cringe worth apps). I am really trying to assimilate the whole Metro theme (replicated in Xbox, Media Center, Zune and Media Room) and ensure my apps are balanced with the overall design concept. Happy design and coding!
There has been a recent flurry of tweets, blogs and general office comments asking if Silverlight is dead on arrival. It is a first class project in VS 2010 and yet traction with the product appears to be weak. I think before we declare whether Silverlight is dead or not, or even discuss if it can displace Adobe Flash, we should first have brief statement about what Silverlight is.
Silverlight is a browser plug-in that supports multimedia content, it should also be recognized as a slimmed-down, cross-platform version of Microsoft’s Windows Presentation Foundation (WPF) programming model. Cross platform does not just mean Mac and as stated it is certainly not limited to the browser. Each successive iteration of Silverlight includes more and more WPF functionality (and vice versa).
Is Silverlight dead, the answer is a categorical *no*. Will it replace flash? *heck no*! Given the advances of HTML 5 even flash has some worries but the thing that Flash and Silverlight have in common is that they are both much more than video players. They provide first class interactivity on a par with any normal desktop experience.
Silverlight has one advantage over flash, it is couched within a trusted IDE and is now positioned perfectly for the entire Windows stack which includes Windows, Windows CE, Windows Phone 7, and the browser. So in my humble opinion Silverlight will be as successful as Windows CE and the new Windows Phone. The idea of developing once and using your code base (with very little updates) on other platforms must be compelling.
Technorati Tags: Silverlight
I am a huge fan of WPF and more specifically Silverlight so when my wife took the opportunity to incorporate Expression Blend into a recent project I was eager for her to give the new Sketch Flow pattern a whirl. The Sketch Flow concept came across as the ability to mock up a complete application or website and transform that into a working production model. Effectively narrowing the gap between the client, designer and the developer. After working with my wife over the last couple of months it is clear that this particular idea was misrepresented.
My wife had created a prototype using the Sketch Flow concept and put together a very compelling, and partially functional, application. Unfortunately that fact that project was in fact Sketch Flow means that you just cannot simply open this application up in Visual Studio and start doing the complex software engineering work. In fact there a bunch of hoops (albeit well documented in Blends User Guide) that need to be followed in order to make this happen:
It is just clear to me that the role of the Devigner (Designer and Developer amalgam) is not a cohesive as advertised.
Silverlight Streaming is a cool service that makes it easier to deploy and test Silverlight applications. Developers have free and convenient access to hosting and streaming and combined with the recently released SDK 2 it becomes trivial to deploy and host applications. Silverlight hosting can be conveniently categorized in terms of hosted video and hosted Silverlight applications.
Video hosting is pretty straightforward, you need to develop a video (WMV format) that can be up to HD quality but a maximum of 10 minutes long. The following video is a quick and dirty photo montage of a trip we made to Portland. I opted to use Windows Movie Maker the video format output was perfect for what I needed.
With the release of Silverlight SDK beta 2 for Visual Studio 2008, the actual output of the Silverlight project is a XAP file. You can upload the XAP file directly to Silverlight servers, this file contains both the metadata and all the associated logic you may have developed. Here is my remedial ample that I actually imported from a previous Kaxaml example.
In order to see the above examples you will need to have Silverlight installed ;) You can get it here.
The way of the beta release developer is beset on all sides with failed installs, orphaned registry entries and lost files. Unfortunately I spent most of my weekend trying to figure out why the Silverlight Tools Beta 2 for Visual Studio was failing during install. The log files pointed to “…failed with 0x80070643…” which is completely meaningless to most mortals including me.
Now the install file referred to as “chainers” are designed for our convenience to help update several components at once, thereby saving us the hassle of finding and installing multiple msi’ for all our applications … well that is theory anyway. The problem with this concept is that any one of the subset of installers can fail for a number of reasons. In order to discover what the Beta 2 update included I ran the following command:
I was then presented with a dialogue box which asked what location to extract the files to. I then followed this uninstall and install pattern:
1. Uninstall Silverlight Tools Beta 1 (if on your machine)
2. Uninstall KB949325 (if on your machine)
3. Uninstall "Microsoft Blend for Silverlight Beta 1" (if on your machine)
4. Uninstall the Silverlight 2 Beta 1 SDK (if on your machine)
5. Install Silverlight.2.0_Developer.exe (Silverlight 2 Beta 2 Developer Runtime)
6. Install either KB950630 or KB950632 depending on version of VS
7. Install silverlight_sdk.msi (Silverlight 2 Beta 2 SDK)
8. Install VS_SilverlightTools_Beta2_Setup.exe
KB950630 is a patch for Visual Studio 2008 RTM
KB950632 is a patch for Visual Studio 2008 SP1 Beta
This worked for me I make not guarantees for anyone else ;) … Anyway now I can focus on the code samples that I planned a few weeks back!
I am really starting to grok the whole Silverlight experience. My desire to get involved in this was inspired by my initial push to develop a killer app for Windows Mobile 6, however, I am not sure if I have the time and patience ... we shall see.
Anyway, I wanted to start this whole journey off by getting familiar with Silverlight markup, so that encouraged me to start looking at tools that encourage you to manipulate the tags directly. I am not quite hardcore enough to use notepad but I did not want the dumb down experience provided by Visual Studio (drag and drop). So I came across Kaxaml which provides intellisense and a quick view pane and some choice samples. This allowed me to feel a little closer to the underbelly of the Silverlight markup.
So you are presented with the following blank slate to begin with which helps you define the overall parameters of the page.
You can define some basic shapes these include the ellipse, rectangle, and a Line. As I show in the following example each object can have a variety of properties which I could not possibly list here. The following examples are represented in the images below.
<!-- object name -->
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Offset="0" Color="Gold"/>
<GradientStop Offset="1" Color="DarkOrange"/>
<!-- object name -->
The most compelling part of Silverlight came when I looked into the animation (remember I have not touched any C# code yet), you can define animation purely within the markup. Animation is defined based on Timelines i.e. I can define what happens from point zero in a timeline, to the end of that timeline.
So in the following example I have a time line that goes on forever and I have defined within that timeline an animation to be performed between 0 to 8 seconds based on one of the objects that I have already created. Effectively the 'Left' property of the image is moved between 0 and 600 on the canvas. It is very simple to setup and you you can have quite graceful effects by animating several properties over various timelines. In my full example I chose to animate things like Opacity, Angle, Width and Height on a couple of objects.
<Storyboard BeginTime="0" Duration="Forever">
<!-- time to start animation -->
<!-- time to end animation -->
<!-- The name of the object as defined above -->
<!-- TARGET PROPERTY -->
<!-- value applied to the target property -->
Here a couple of snapshots of what happens in my window. If you download the code ensure to replace the image file with a valid gif you have on your PC. During one of my tests I animated as many as 10 objects and my CPU did not seem to mind much, let me know if you see any performance issues.
Hopefully for the next couple of projects I can look at Visual Studio and take advantage of the event driven model that we all love. I am thinking along the lines of user interaction or maybe even collisions between objects.
Technorati tags: Silverlight
The Olympics have always been a huge deal for me, it is a really exciting time when the greatest athletes in the world compete against each other and even history itself. I have noticed that since moving to the states that the Olympics seem to play second fiddle to the annual domination of North American Major League sports.
The quality and diversity of the Olympic coverage is critically important, and of course, the web continues to provide us with ever improving alternative. I heard some months back that Silverlight would be the flagship technology for video display (move over Flash).
You can check out some live videos now and probably observe some of the athletes training. I was a little concerned with the performance, I was watching a video with little or no updates and my CPU was starting to strain (50-70% for the IE window alone). They appear to be using version 2.0.30523.8 which is some kind of beta for Silverlight.
Now they are boasting that you can watch 4 video streams simultaneously. This will be pretty slick if it works. I can chose to watch the Basketball, Sprints and Soccer without having to sacrifice all my time.
With regards to the Olympics, the opening ceremony was the grandest and most impressive artistic display that I have ever witnessed. It was truly spectacular!!!
Technorati tags: Olympics
I really want to develop a killer app for Windows Mobile 6.x and I am thinking that the recent support of Silverlight has opened up a cleaner avenue of software development for me. Anyway, I found a series of Silverlight videos that allowed me to safely start my dev work and get my feet wet.
What is the app going to be? Not sure yet, but I need to buy my WM6 phone soon for the sake of testing ;)
Technorati tags: Silverlight
After my previous post I was kind of curious about sites that I have seen that have made the transformation into the world of Silverlight?
So this is the quick list I came up with!
- Microsoft - Of course there flagship site should contain Silverlight ... I will need to talk to Raja (Jim) about where they have buried most of it.
- dnrTV - I guess I am not surprised at this one, especially after Carl Franklin published a music video using Silverlight.
- Channel 10 - Channel 10 is a place for enthusiasts with a passion for technology.
- 2008 Presidential Campaign (352 Media Group) - These folks created a cool site that allows you to determine the best candidates based on some pretty shallow questions.
- James Bond - Dedicated to those whole love 007, not much to this site but still worth a mention.
- BMW - Really slick site, probably the best example of what can be accomplished, my German is a little rusty so I did not enjoy quite as much.
- MSN Movies - Another flagship site, I think I prefer it to the Apple Movie preview site.
- MLB - This was probably the first large scale site to go all in to the Silverlight experience, and if I were more interested in Baseball I am sure this site would be my favorite!
Technorati Tags: Silverlight
Scott Gu is the man, and his latest post really nails the major Silverlight questions. As always his demo's are thorough and thought provoking. I have nothing to contribute here, just check out the videos!"Blessed is the man who, having nothing to say, abstains from giving wordy evidence of the fact." - George Eliot
Technorati tags: Silverlight
, Scott Gu
Silverlight is a cross platform rich media experience from Microsoft (never thought I would be using the words cross platform and Microsoft in the same sentence!). What is intriguing about Silverlight is that the programming model is based upon and immersed within the .NET framework. Together with a choice of programming languages and the presentation model using XAML, Silverlight is set to change the game significantly.
Silverlight serves as a direct competitor to technologies like Flash and while I believe that Silverlight is a great alternative to Flash I am wondering if this is too little too late. Flash is basically on every machine that I have ever sat down at, its market penetration is second to none. I am wondering if even MS can compete with that kind of distribution. Unless of course they bundle it as a priority update to your machine (approx 2Mb) then they would level the playing field quite quickly ... don't you just love monopolies!
The Silverlight evangelists have put together a series of Screencasts that capture some the great features of this technology, Enjoy!
"Knowledge is power, if you know it about the right person." - Ethel Mumford