Singularity?

2.25.2008

Silverlight 1.0 - Beyond Rich Media Playback

I've been working hard the past few weeks on a Silverlight Rich Media Expandable Ad project at PBJS. The task at hand was to really push the Silverlight 1.0 plug-in to do things it wasn't really designed to do. The project was generally a success. What I'm planning on doing is putting up some code snippets that I used to create this project to hopefully shed some light on Silverlight 1.0 for anyone that is interested in learning it.

The project pays homage to the Justice D.A.N.C.E. Video but adds an interactive element where you can influence the animations on the shirts.



For now, please check out the project.Please leave comments about any questions you might have.

I'm also going to try to see if I can get everything working live on this page, just curious at how well the Silverlight 1.0 plug-in will work inside blogger.

update: didn't work so well. so please view the project here.

With Silverlight 2.0 coming out soon, I'm very interested in making use of some of the features that were lacking in the 1.0 release, namely Rich UI Controls, Alpha Channel support in video, and a more robust graphical rendering engine. This project did push me into learning more about XAML and how to manipulate it using JavaScript.

XAML is pretty slick. The biggest drawback that I've seen so far is it's a little verbose for markup. In many cases, characters could be left out and it would cut down significatly on the file size of the XAML. It also requires all data to be a string, which isn't very efficient in my option. In many cases, I had to convert values to and from integers and strings because I couldn't use integers as values for attributes like Canvas.Left and Opacity. That struck me as a little odd, but I digress.

The other thing is every time you enter a value for a color, XAML adds the Alpha value as well. In my opinion, the default should be full Opacity every time unless otherwise stated. So #ff0000 for Red rather than #ffff0000, which is two extra characters for every color. There is probably a good reason for this, but I don't know why.

The Code Trip is kicking off after Mix08. I'm really anxious to see what kind of apps the guys come up with. I think Silverlight does have a valuable place on the web, and I hope to see more cool implementations in the near future using the new 2.0 features. For now I've been reading Scott Guthrie's blog which has a preview of Silverlight 2.0. There will be a lot of Silverlight hype in the coming months, I'm looking forward to the dust settling and taking a calm look at the aftermath and enjoying some full featured Silverlight Apps.

Labels: , , , , , ,

12.21.2007

Silverlight is the ugly stepchild of WPF

Silverlight is the ugly stepchild of WPF (Windows Presentation Format). Nearly all of the things that are not yet implemented and/or I need/would like as tools for building Silverlight projects work in WPF in some way. WPF appears to have been designed to create the ultimate interactive kiosk. It allows developers to make visually pleasing interfaces for their applications easily. It appears to me that WPF is where Microsoft's focus lies, and Silverlight is them taking WPF technology and trying to force the square peg into the round hole of the web. Not that the hole will be round forever, but that's a different story. However, I think Microsoft has failed to provide some major features that are expected in well designed web experiences and RIAs these days.


  • More than Media - Rich Media Applications are not just media players. Silverlight, does a great job of being a cross-platform media player, but web developers have come to expect MUCH MORE, including Alpha Channel support and pre-compiled content. Silverlight isn't delivering these core elements, at least not in a useful way. And some of these still won't be included in the 2.0 release.

  • File size - Doing some tests, I took some XAML and created a basic, no interaction layout and the XAML file was Ten Times (10x) as large as the same layout in a SWF. 224k (Silverlight, xaml) vs 22k (flash, swf). Quick downloads and instantaneous user gratification is expected these days. If you're site is slow, or takes forever to download users just go elsewhere. You can't afford to have bloated files, especially if they have less functionality.

  • Slick Design at run-time - vector art is nice, but that's so 2004. The new design pallet is bitmap graphics and filters. You need to have gradient overlays with drop shadows, filter effects and pixel effects (especially blending modes) that can be manipluated at run-time. This falls back to the file size issue. Sure I can create all of these elements in another program, but then the user has to download them. If I can create them on the fly, then I don't need to pre-render them. Now I know you could do this in realtime using javascript and vector data, but the code to do that is big, and as a designer/developer, I'd rather just be able to call a filter function and be done.


Perhaps it's just a work-flow issue for me at this point. I can see how Silverlight has the potential to do many of the things I mention above. All of those things can be done easily in Flash. Right now, it takes me 3 times as long to do things using the Microsoft tools vs the Adobe tools. Granted I'm familiar with the Adobe tools, and I've put the time into learning them, but when Microsoft's marketing speech is, "we've integrated the work flow between designers and developers," I can't help thinking, "I'm a designer/developer and my work flow is more convoluted than ever using your tools."

I'm looking forward to Silverlight growing up and moving out of it's parents house. I don't want it to be the ugly stepchild anymore. Competition is good for the marketplace. If Silverlight can get some market share, it will push both Adobe and Microsoft to create better products, which is better for me.

Silverlight 2.0 should provide a lot of useful features, but until the ones I mentioned above are on par or better than Flash, Silverlight will remain inadequate and noncompetitive in the real world. The buzz will die down, just like it did with the Zune, and Vista...and what's left could be ugly. Integrated software and tools will only get Silverlight so far if the final delivery is inferior to it's competition. Adobe is working its butt off to integrate the crap out of Creative Suite. It's not there yet, but it's close. What's Microsoft doing to create a better overall experience for the user as compared to Flash?

Time will tell. Now I have to go and slap the ugly stepchild around a bit until it does what I want.

Labels: , , ,

12.18.2007

Adventures in Silverlight

After three days of installing, uninstalling and fighting with my OS I was finally able to build a silverlight app today. We'll it's not actually an app because it doesn't do anything yet. I found myself cheering when I refreshed my browser and the rounded rectangle showed up.

It's a little daunting to think that i'll be building an fully interactive experience in less than two months. So far, beyond my problems with installing the microsoft trial applications, putting all the pieces together seem pretty straightforward. Just using dreamweaver to write everything out by hand. Slow going, but everything works. Next I'm going to dig into blend and encoder, since i'll likely need them to complete my project. At least using dreamweaver lets me develope on a my mac laptop while I'm sitting here on the bus.

Labels:

11.12.2007

Another Bus Tour, Microsoft Style

Microsoft is doing a bus tour to highlight the new technologies and software they've developed for the interactive/web communities. It will highlight their new Expression Suite and Silverlight. The bus tour called "The Code Trip" is set to kick off in 2008.

I've been looking for some ways to learn Silverlight for work and this could be a good opportunity to jump right in. Of course it doesn't hurt that reposting this link on my blog should get me some swag!

My big reason for doing this is MS is one of our biggest clients. As a flash developer/designer I know we could get a lot more business from MS if we used Silverlight. I've told my boss I was willing to learn. I'm interested in learning about any plans MS has to cater to the Flash community since in some cases they are direct competitors. Will they try to convert them, work with them, create modules to allow Action Script and MXML to integrate or even be swappable with Visual Basic/C# and XAML. Now that would be cool!

Labels: , , ,