Dan McAdams has posted a quick guide to help people get up and running with the CoverFlow Flex component SWC file. This component has generated a lot of interest, which is great, but it also means that there are a lot of people who are brand new to Flex (and hence don’t know how to use SWC files or how to set up Flex projects) trying to use the component. My posts about coverflow have gotten quite a few comments from people who don’t know how to get the examples I posted working, or can’t figure out how to use the coverflow library in their own applications. Thus far I haven’t spent the time to go through a detailed step-by-step tutorial on exactly how to use a SWC library in your own projects (although google really does do wonders people…).

So thanks Dan! If anyone is having trouble with getting the coverflow library to work make sure to check out Dan’s screenshots and his tips.

Here are a few links to the Flex documentation that explain SWC files and how to use them in your projects:

del.icio.us:Screenshot step-by-step instructions of how to use the Flex CoverFlow component digg:Screenshot step-by-step instructions of how to use the Flex CoverFlow component spurl:Screenshot step-by-step instructions of how to use the Flex CoverFlow component wists:Screenshot step-by-step instructions of how to use the Flex CoverFlow component simpy:Screenshot step-by-step instructions of how to use the Flex CoverFlow component newsvine:Screenshot step-by-step instructions of how to use the Flex CoverFlow component blinklist:Screenshot step-by-step instructions of how to use the Flex CoverFlow component furl:Screenshot step-by-step instructions of how to use the Flex CoverFlow component reddit:Screenshot step-by-step instructions of how to use the Flex CoverFlow component fark:Screenshot step-by-step instructions of how to use the Flex CoverFlow component blogmarks:Screenshot step-by-step instructions of how to use the Flex CoverFlow component Y!:Screenshot step-by-step instructions of how to use the Flex CoverFlow component smarking:Screenshot step-by-step instructions of how to use the Flex CoverFlow component magnolia:Screenshot step-by-step instructions of how to use the Flex CoverFlow component segnalo:Screenshot step-by-step instructions of how to use the Flex CoverFlow component gifttagging:Screenshot step-by-step instructions of how to use the Flex CoverFlow component

I was contacted by Justin Ouellette, the creator of Muxtape, who asked that I remove the download functionality from MuxMaster. I’m torn about this issue, on one hand Muxtape is a service based on technology that makes distributing MP3s extremely easy. Justin has chosen to hide this capability because he’s appropriately scared of the consequences of having Muxtape turn into a file-swapping website. But essentially Muxtape is a massive dropbox for MP3s. On the other hand, I really do like Muxtape, and I don’t really want to be the one partly responsible for getting the site shut down.

Note that this isn’t a decision about legality (not for the legality of MuxMaster anyway) and I wasn’t coerced or threatened or anything like that. Justin just sent me an email saying he liked the app (and is cool with people making apps like this) but that the download feature endangers Muxtape. I agree, although I still don’t know whether I should feel obligated to remove the download feature.

MuxMaster icon
muxmaster_128.pngOn a lighter note, Juan Sanchez whipped up a little icon for MuxMaster, which is now included in the latest version of the application. Pretty sweet huh? Thanks Juan!


You can still download MuxMaster (Lite) without the download functionality:

This movie requires Flash Player 9

If the above install link doesn’t work, do this:

  1. Make sure you have the AIR runtime, if you need to download it from Adobe
  2. Download and run the MuxMaster installer
del.icio.us:MuxMaster update: download functionality removed and a new icon digg:MuxMaster update: download functionality removed and a new icon spurl:MuxMaster update: download functionality removed and a new icon wists:MuxMaster update: download functionality removed and a new icon simpy:MuxMaster update: download functionality removed and a new icon newsvine:MuxMaster update: download functionality removed and a new icon blinklist:MuxMaster update: download functionality removed and a new icon furl:MuxMaster update: download functionality removed and a new icon reddit:MuxMaster update: download functionality removed and a new icon fark:MuxMaster update: download functionality removed and a new icon blogmarks:MuxMaster update: download functionality removed and a new icon Y!:MuxMaster update: download functionality removed and a new icon smarking:MuxMaster update: download functionality removed and a new icon magnolia:MuxMaster update: download functionality removed and a new icon segnalo:MuxMaster update: download functionality removed and a new icon gifttagging:MuxMaster update: download functionality removed and a new icon

MuxMaster is an open-source desktop player to browse, play, and download Muxtape mixes. It is an AIR application that lets you stream music from Muxtape, explore different mixes to find new music, and even download tracks and entire playlists to your computer with a single click.

UPDATE: After being contacted by the creator of Muxtape I have decided that it is in the best interest of the Muxtape service to remove the download functionality from MuxMaster. I was torn about this, but for now the downloading features are removed.

This movie requires Flash Player 9

If the above install link doesn’t work, do this:

  1. Make sure you have the AIR runtime, if you need to download it from Adobe
  2. Download and run the MuxMaster installer

Here are a few screenshots:
screenshot025.jpg

screenshot026.jpg

screenshot028.jpg

Why did I make this?
I like Muxtape. Like a lot of software/web guys, I saw the clean interface and the barren source code and was immediately impressed. I mean, the dude did a fantastic job. It was just so damn clean.

Then a few days ago people went ga-ga over this video of some dude showing muxtape mixes using the Coverflow visualization to browse through them. OK, so that’s cool, except it uses a Mac-only application called Fluid to basically add normal Mac desktop functionality to web apps. That shit got dugg like 750 times. Now I’m not saying it’s not cool, cause it is. But I figured I could probably whip up a Flex application pretty quickly using the Coverflow component I released before and get a real desktop application that anyone could download and use. Oh, and I thought it would be neat to add downloading functionality too.

So I threw MuxMaster together over the past 3 nights. I like to think of it as a testament to the badassness of Flex and the open-source Flex/Flash community. The fact that I can grab some open source stuff and throw this together in almost no time is pretty cool.

What kind of an application is this?
MuxMaster is an Adobe AIR application, built with Flex. That means it’s a desktop application that can run on Windows, Mac, Linux, whatever. Click the “Install Now” link above to install the app. You might need to go and download the AIR runtime first. Hopefully it’ll tell you that and do everything automagically.

The Muxtape API
Muxtape has no API. But the HTML code is so sleek and beautifully clean. Go look at the source code for the HTML pages on muxtape.com. It’s ridiculous how sparse it is. And of course it validates as valid XML. So what? Well, nice XHTML like that is just as good as the best XML API you can ask for. You want to get a listing of some random Muxtapes? Just load up the XHTML on the Muxtape home page and parse out the list of users. Using E4X you can get a list of users with this single expression: body.div.div.ul.li.a. It’s almost too easy. So then when you get a username you just load that user’s HTML page and you can easily parse the list of songs (body.div.ul.li) or related users (body.div.div.div.ul.li.a). There’s a little trickery involved to figure out exactly how to construct the URLs for the MP3s, but it’s pretty easy to figure out. After a little parsing you can get a list of MP3 URLs and the data about each song, like artist, track title, duration, etc.

Downloading songs

UPDATE: After being contacted by the creator of Muxtape I have decided that it is in the best interest of the Muxtape service to remove the download functionality from MuxMaster. I was torn about this, but for now the downloading features are removed.

The thing about Muxtape is that all the songs are just MP3s stored on Amazon S3. If you know the URL you can download the file. The main Muxtape player doesn’t expose this functionality, but if you take a look at the files that the web-based player is loading you can just copy/paste the URL and load it into a web browser to save the file. So I just made that a bit easier. MuxMaster has a Download link for each song underneath the song name. One click and the song will download in the background (you can specify where you want songs to download to). Additionally, each playlist also has a Download All link, so with a single click you can download all the songs in the playlist.

screenshot032.jpg

screenshot027.jpg

Is this bad?
There’s a whole ethical dilemma that we can spend forever discussing. Is this application against everything that Muxtape stands for (clean, simple, bare-bones UI)? Is adding download functionality quickening the shutdown of the service? Is this effectively taking a step toward destroying the service that I actually really enjoy using? Yeah, the answer to all those might be yes.

Yes, the excessive use of 3D and especially the over-used Coverflow visualization are exactly opposite to the perfectly clean design concept of Muxtape. The truth is, I hate Coverflow. But people gravitate toward it and seem to love it, so I figured it’d be fun to whip something up and see the response. And it was just so damn easy.

And yes, being able to download an entire mix with a single click may very well be a horrible thing for Muxtape as a whole. I assume the service is already on the radar of the lawyer-crazy music execs, and if it’s not now I assume it will be if it gets big enough. But the technology underneath the service was just so simple (I mean, really? just let people throw a bunch of MP3s up on Amazon S3?) that someone would have shown how to download all those songs soon enough. So I’ll definitely feel bad if this app has a negative effect on Muxtape, but come on, it’s something I whipped up in a few days, someone was bound to do it.

Source code
I’m releasing all the source code for the application. When you install the AIR application you can right click and select “View source” to see all the code. Or you can view the source here. It’s small (16 files, 898 total lines of code). And the code was influenced by the minimalist design of the Muxtap app itself, so I tried to keep things extremely tidy and clean.

I used a few open-source flex libraries. The most obvious one is the Coverflow Flex component that I created and released on my blog. That’s licensed under the MIT license, so you can take that component and add this type of Coverflow visualization to your Flex apps. The Coverflow visualization uses the Papervision 3D library, which is a 3D engine for Flash. It’s badass and free (MIT license). The other Flex library I used is FlexLib, which was used for the FlowBox container. That component can be seen when you download songs. It’s the container that lays out the little download rectangles. FlexLib is also licensed under the MIT license (is there a pattern forming?).

The source code for MuxMaster, like all code released on my blog, is also licensed under the MIT license, which you can read here. Basically you can do whatever you want with the code.

What’s next?
I don’t know if I’m going to do anything more with this application. The app does rely on the format of the HTML pages on Muxtape, so if the creator of Muxtape decides to try to break MuxMaster he probably can, and I’d have to update it to get it to work again. I might do updates like that to keep it working. If people have feature request I’d love to hear them, but I’d encourage other developers to take my source code and add the stuff that they want. If you have feedback shoot me a message using my contact form or leave comments here. I don’t have any big plans, this was fun to make.

Legal nonsense
This application doesn’t contain any music files whatsoever. I am not storing any music files on my server or any server that I am associated with. I am not providing a list of any music files stored anywhere on the Internet. I don’t have any information about how to find music files stored in any database or anywhere in the entire galaxy. If you’re a lawyer looking to scratch that soul-destroying litigious itch that you have, I’m the wrong guy to talk to.

del.icio.us:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR digg:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR spurl:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR wists:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR simpy:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR newsvine:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR blinklist:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR furl:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR reddit:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR fark:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR blogmarks:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR Y!:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR smarking:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR magnolia:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR segnalo:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR gifttagging:Introducing MuxMaster - a kickass open-source Muxtape player/downloader built with Flex and AIR

OK, so get this. I just tried to reply to someone’s question on the flexcoders mailing list. I hit send and instantly I get a reply (instantly as in a few milliseconds). The reply is from Google telling me they have blocked my message from being sent to the mailing list. Here’s the message I got:
screenshot022.jpg
So I think, WTF? And then I click on the link they gave me to explain why the hell the blocked my message. I get to this page and it tells me this:

Here at Gmail, we work very hard to fight spam. This includes not only spam coming into Gmail but spam being sent out from Gmail as well. Believe it or not, spammers sign up for Gmail addresses in large numbers just to send out spam! To help do our part to keep this junk off of the internet, we bounce mail that we are confident is spam. Unfortunately, we aren’t perfect and will occasionally bounce legitimate mail. We apologize for the inconvenience.

Umm, ok, I guess. That’s pretty lame that I’ve been a fairly regular emailer to what is very clearly a Yahoo mailing list for the past few years, and now Google decides I’m acting like a spam bot when I try to send this message. But then I laughed out loud in the kind of “fuck you” way that I do sometimes when I read this:

Depending on your needs, there are a number of different ways to reliably send bulk mail that avoid the pitfalls of doing it manually with Gmail. You may be interested to try Google Groups for newsletters/mailing lists or Calendar for sending invitations to events.

So Google blocks my valid email to the flexcoders mailing list (a Yahoo group list) and then recommends I try using Google groups mailing list. You’re telling me that if I had been sending to a @googlegroups.com email address instead of a @yahoogroups.com email address then it would have gone through?

del.icio.us:Gmail blocks messages to Yahoo mailing lists? (flexcoders) digg:Gmail blocks messages to Yahoo mailing lists? (flexcoders) spurl:Gmail blocks messages to Yahoo mailing lists? (flexcoders) wists:Gmail blocks messages to Yahoo mailing lists? (flexcoders) simpy:Gmail blocks messages to Yahoo mailing lists? (flexcoders) newsvine:Gmail blocks messages to Yahoo mailing lists? (flexcoders) blinklist:Gmail blocks messages to Yahoo mailing lists? (flexcoders) furl:Gmail blocks messages to Yahoo mailing lists? (flexcoders) reddit:Gmail blocks messages to Yahoo mailing lists? (flexcoders) fark:Gmail blocks messages to Yahoo mailing lists? (flexcoders) blogmarks:Gmail blocks messages to Yahoo mailing lists? (flexcoders) Y!:Gmail blocks messages to Yahoo mailing lists? (flexcoders) smarking:Gmail blocks messages to Yahoo mailing lists? (flexcoders) magnolia:Gmail blocks messages to Yahoo mailing lists? (flexcoders) segnalo:Gmail blocks messages to Yahoo mailing lists? (flexcoders) gifttagging:Gmail blocks messages to Yahoo mailing lists? (flexcoders)

Here’s a simple motion detection utility that you can use to do motion detection on a webcam, or video, or any other component in your Flex application. It uses a bitmap technique to compare image snapshots and calculate the number of pixels that were changed between snapshots. This gives you a percentage of the total pixels that were changed, which is a crude way to figure out motion. Basically what you do is draw one frame onto the previous frame using the “difference” blend mode. Then you threshold the image and you can figure out the number of pixels that had any change.

The example below uses the motion detector and ties it to a webcam. You’ll have to allow the app to access your webcam to see it in action. If the motion in the webcam exceeds a certain amount (20%), then it takes a snapshot and sends it to the CIA (ok, ok, it doesn’t really do that, it doesn’t send the snapshot anywhere).

This movie requires Flash Player 9

View source

Someone emailed me recently asking about this code, since it was shown in a previous video I created when I was working on TileUI a while back. This is the first in a series of chunks of code that I’m thinking about taking from that project and releasing open source. No, I don’t think I’ll be releasing all of TileUI, but just some of the components within it (like the radial menu component maybe).

UPDATE: As various people have pointed out, there is built in motion detection in the Camera class, so if you want to detect motion in a webcam feed all you have to do is monitor the activityLevel property of the Camera. I guess I should’ve known that before posting :P oh well. This motion detector example is still useful if you’re trying to detect motion in anything other than a webcam feed though, such as another video playing in your app, or any other UI component that has visible changes.

P.S. I’ve been very quiet on the blogging front. This is because I’ve been super crazy mega busy between my job and writing Flex for Dummies, which is available for pre-order on Amazon. I expect to get back to blogging much more sometime after May 13 (after I sleep for a week).

del.icio.us:Simple Flex Motion Detection example digg:Simple Flex Motion Detection example spurl:Simple Flex Motion Detection example wists:Simple Flex Motion Detection example simpy:Simple Flex Motion Detection example newsvine:Simple Flex Motion Detection example blinklist:Simple Flex Motion Detection example furl:Simple Flex Motion Detection example reddit:Simple Flex Motion Detection example fark:Simple Flex Motion Detection example blogmarks:Simple Flex Motion Detection example Y!:Simple Flex Motion Detection example smarking:Simple Flex Motion Detection example magnolia:Simple Flex Motion Detection example segnalo:Simple Flex Motion Detection example gifttagging:Simple Flex Motion Detection example
UPDATE: all the invites got used up quickly, sorry if you missed them. If I have any more SlideRocket invites in the future I’ll post about them. You can still enter your email address and the SlideRocket team will let you know when they let more people into the beta.

SlideRocketI’ve got 20 SlideRocket invites to give out. Yup, a whopping 20. Hell, after getting featured on TechCrunch today I figure these 20 are a hot commodity. To get an invite check out the presentation below (which uses SlideRocket of course).

The 20 invites are on a first come first served basis, so once they get used up they get used up. I don’t have any more so don’t email :) Again, to get the invite URL you have to interact with the embedded presentation above.

I figure TechCrunch got 500 to give out, Ryan Stewart got 100, so that makes me about 4% as cool as Arrington and 20% as cool as Ryan. Hell, that’s good enough for me.

If you haven’t heard about SlideRocket, it’s the most badass online presentation tool in existence. Congrats to Mitch and the SlideRocket team on getting funded and the great press.

del.icio.us:Get your SlideRocket invite digg:Get your SlideRocket invite spurl:Get your SlideRocket invite wists:Get your SlideRocket invite simpy:Get your SlideRocket invite newsvine:Get your SlideRocket invite blinklist:Get your SlideRocket invite furl:Get your SlideRocket invite reddit:Get your SlideRocket invite fark:Get your SlideRocket invite blogmarks:Get your SlideRocket invite Y!:Get your SlideRocket invite smarking:Get your SlideRocket invite magnolia:Get your SlideRocket invite segnalo:Get your SlideRocket invite gifttagging:Get your SlideRocket invite

So a bunch of people have been posting the results of the surveys from their 360|Flex sessions. I’ve wavered on this a tiny bit, I’m just a little embarrassed, both because of the positive feedback (*blushes*), but also because I offended some people in the session. So off the bat I want to say to anyone who was actually offended by anything said in my session: I’m sorry. I gave the session the way I talk in normal life, and in normal life I guess I have a dirty mouth.

Here are the full survey results from my session.
If you weren’t at 360Flex, check out the stuff I presented.

The good stuff
Overall the comments were very positive. There were 45 responses, with an overall average rating of 4.5 (which I’m hoping is out of 5, not 10 :P ). 80% of people said that the session was what they expected, 80% said the slides were useful and 80% said the session was informative. So here are some of the positive responses (aww, shucks…).

The speaker had a good outline and followed it well, while also allowing community/group input.

Doug was AWESOME and funny. Loved it!

In typical fashion, Doug had a great presentation with a lot of good information. Doug is an inspiration to the whole community.

Doug brought to light components that we all can make use of in our apps - and some that are just fun. Very helpful.

The bad(ish) stuff
These are the only negative comments I received. The first one is about the discussion near the end feeling unorganized. I understand that sentiment, I felt rushed near the end when I was running out of time a bit. I love having good discussions with the audience, but I probably should have left more time devoted to that, and maybe even planned for that in my outline to make sure I had plenty of time to wrap up in a more organized way. The other three comments here are about my language. The last one’s not really that negative a comment, but the middle two sound like the writers were fairly offended.

The presentation could have been a bit more structured, as it felt like the discussion veered away from original intentions near the end of the presentation.

It caught me off guard how much the speaker cursed.

I don’t know what to say. It’s probably not a good idea to try to see how the sign language interpreters do cursed signs. That would make the deaf person uncomfortable.

This session was great for information and mentality about developing in the flex world. Doug is a little :-) unprofessional as a developer it doesn’t bother me that much and I would definitely hear him present again because I respect his knowledge and talents but the language is a little distracting.

The funny comments
And then a lot of the comments were pretty funny. I’ve cherry picked a few choice ones here for your amusement.

I appreciate his frank, unexcessively vulgar language

jiggly moving fun

Always a great time. Never seen so many curse words done in sign, damn funny.

Fucking-A

Okay, I am just chiming in that I really wanted to go to Doug McCune’s seminar but knowing that I lack experience with OOP and want to develop that further I went to that one instead. Can’t we put Doug McCune against sucky, uninteresting topics instead. *lol*

It’s “fucking” Doug McCune

The language issue
So let’s get this out in the open: I say fuck and shit a lot. Sometimes this comes through on my blog, but even more so when I actually speak. Given the session feedback I think a lot of people find my use of language refreshing and funny (what am I? a clown?). I like to think my presentations are informal, we all just get to hang out and talk about cool stuff, so since it’s just like chilling with friends I don’t censor my language. A lot of the comments in the feedback referenced my use of language in a positive way and said how “fun” and “hilarious” the session was. I like to think we had a good time and it wasn’t dry or boring.

That said, there were obviously a few people at least who were offended and uncomfortable. So in the future I may tone it down a bit, I certainly don’t want people walking out of my presentations upset. I’m sincere when I say I apologize if you were offended.

Maybe next time I’ll start by showing a clip of Goodfellas or Casino at the beginning, then whatever I say will be tame in comparison. Or maybe I should wear one of these on my chest:

screenshot021.jpg

At my next session I’ll be checking IDs at the door. If you’re under 17 you have to be accompanied by a parent or guardian.

So thanks to everyone who came to my session! And super double thanks to the 45 of you who gave feedback, it makes me feel all warm and fuzzy inside (well, most of it anyway).

P.S. To Andrew: yeah, your comment got to me :) Sorry I posted the survey results with your name still in there, if you got a problem with that send me an email (or better yet send Tom and John and email).

del.icio.us:My 360|Flex Survey Results - did I offend you? digg:My 360|Flex Survey Results - did I offend you? spurl:My 360|Flex Survey Results - did I offend you? wists:My 360|Flex Survey Results - did I offend you? simpy:My 360|Flex Survey Results - did I offend you? newsvine:My 360|Flex Survey Results - did I offend you? blinklist:My 360|Flex Survey Results - did I offend you? furl:My 360|Flex Survey Results - did I offend you? reddit:My 360|Flex Survey Results - did I offend you? fark:My 360|Flex Survey Results - did I offend you? blogmarks:My 360|Flex Survey Results - did I offend you? Y!:My 360|Flex Survey Results - did I offend you? smarking:My 360|Flex Survey Results - did I offend you? magnolia:My 360|Flex Survey Results - did I offend you? segnalo:My 360|Flex Survey Results - did I offend you? gifttagging:My 360|Flex Survey Results - did I offend you?

There’s a lot of buzz about Silverlight 2.0 right now, and people are expecting some big announcements at MIX soon. But where the hell are the cool Silverlight demos? Offline support would bring Silverlight closer to competition with AIR, and it’s looking like SL 2.0 is going to be an actual competitor with Flex now that it’s going to have a framework of controls (SL 1.0 wasn’t even close to a Flex competitor, it was more a Flash Player competitor). All that sounds sweet, almost makes me want to download Expression Blend and try it all out, but again, where’s the cool stuff?

I figured the first place I’d look for the kick ass Silverlight demos would be the silverlight.net showcase page by Microsoft. I mean, there HAS to be sweet stuff shown there right? Um, not so much. I checked out each of the demos on the main silverlight.net page and here’s what I found:

  • screenshot013.jpgInfragistics Silverlight demos
    This site has a few screenshots of some charting stuff in Silverlight. The charts look pretty good in fact (heh, at this point anything that doesn’t look like the default Flex charts feels “fresh”). But the Infragistics demo site itself (which is a Silverlight app) is slow as balls and doesn’t impress me at all. It feels clunky, the animations are rough, and is just kinda boring.
  • screenshot018.jpgSilverlight book flip effect
    On the Microsoft Action Pack (wtf is that?) product page they use Silverlight for that amazing book flip effect. I won’t rail on this too hard, but suffice it so say I think the book flipping thing is an awful idea 99.99% of the time (that .01% of the time it was actually useful was the anatomy example Ely Greenfield did, that was the only time I’ve ever thought book flipping was useful). The Silverlight flip effect was super slow (like in the unusable way).
  • screenshot014.jpgMicrosoft Dynamics
    I think the only use of Silverlight on this page is for a non-interactive animation. Consider me unimpressed. But maybe I’m missing something since the site’s in Italian. Does this Silverlight demo do more than simply play a short video?
  • screenshot015.jpgSanremo Anche Noi
    This app’s actually pretty sweet, it’s a well designed video showcase. It’s simple, basically just lets you browse various videos, but does a good job at showing good quality video is designed well. There’s nothing jaw dropping here, but it’s a solid, well designed experience.
  • screenshot016.jpgZebrakho
    This is a store that sells animal skins and heads and stuff. And as much as I want a big animal head mounted on my wall… But seriously, the site uses Silverlight for a few small animated effects, but it comes off feeling like an old, poorly made Flash site, complete with that scrolling news-ticker thingy to show product specials.
  • screenshot017.jpgVodafone Interactive TV
    Another video site, complete with a skip intro movie! Ahh, back to the good old days. Seriously guys, if you want to do the whole “better than Flash” thing then don’t take us back to the skip intro era. The site itself is pretty simple, again just showing off a bunch of videos.


Yes, I am aware of the Silverlight showcase, and I’ve been browsing through a little bit, but it’s hard for me to wade through so many apps in order to find that one amazing example that blows me away (yet to be found). I did find this example though, which was cooler than the ones on the front Silverlight showcase page.

  • screenshot019.jpgMicrosoft TechDays
    This is a pretty cool design that lets you drag around polaroid looking photos that play video. Cool concept, except it runs pretty slow on my machine, which destroys the smooth dragging and resizing effects. I can almost guarantee I could make the same concept that would feel smoother and slicker as a Flex app.


screenshot011.jpgI also tried the Microsoft download center, since I had seen some people blogging about that Silverlight app. My overall impression? It feels like an Ajax app. The animations are limited to the simplest of dropdowns and even those feel slow and choppy (click on the “Browse Downloads” button). I don’t see anything I haven’t seen with JavaScript stuff, and the overall site just feels like DHTML, even if it’s not.

This all feels like old, bad Flash
I feel like I’m in a time warp. These example apps all feel like old Flash sites to me. They feel clunky and slow (is that because I’m on a Mac?). They even have design elements that people used to use but have since been demonized and cast aside (skip intro, news ticker).

Show me something I can’t do
I have yet to see a single thing that I can’t do with Flash/Flex. Now I’m not saying that Silverlight is worthless unless it has sweet features above and beyond what Flex (or Flash Player) can do. Having a competitor is a good thing, it’ll keep Adobe on its toes (H.264 anyone?) and drive innovation. But for all the hub-bub about how Silverlight is going to be awesome, I have yet to see anything awesome being created. It all feels slow, clunky, and poorly designed (that last part isn’t Microsoft’s fault obviously). I just want one thing that makes me sit back and say “Holy shit! THAT’S what you can do with Silverlight?” Just give me that, throw me a bone.

I had that moment when I saw Pavan Podila’s WPF example of doing 3D layouts with WPF</