wow, what a day, i'm sure you're reading all about it but here's some recap:
and holy cow here's the news for developers:
microsoft officially partners with novell to deliver moonlight as the silverlight implementation for linux. booyah. you can read all the details about it here. great job to the microsoft team on the legal mumbo jumbo, and great job to miguel and team for getting this through. the plan is that novell will release moonlight no later than 6 months from silverlight 1.0 release (today)...with the aggressiveness of the mono team i'd imagine sooner.
so just suse linux right? apparently not! as long as the distro supports running mono, moonlight should run in that environment as well. what about codecs? the codecs required to support silverlight content (media) will be from Microsoft. the installer for moonlight that novell provides will/should make including these codecs a seamless process. in case you don't get this...that's a big deal.
that sound? yeah, my jaw dropping. me likey. oh, and wicked cool halo3 hd video
some labor day weekend humor. rerun last night on saturday night live was the first episode installment of 'nick burns' the company computer guy. circa 1999, nick knew how important web 2.0 was... forward to 3:43 for a choice commentary
saw this from phil haack and thought it was funny...i'm a big fan of office space, but if you've never seen it, you for sure would think it was not a comedy!
i just put up another podcast video of how to "cheat" at creating a media player for silverlight. have you been looking at some of these media experiences with all their fancy buttons and dvd player-type overlays, etc. but didn't want to take the time to code your own? well, you don't have to :-) (man that sounds like an infomercial)
in this podcast i demonstrate using expression media encoder as a tool that will essentially generate stub code for you. now keep in mind that expression media encoder itself generates some pretty kick arse templates that may perfectly suit you. but perhaps you want a player that has more branding or a mix of certain elements, etc. well, still use expression media encoder for this. let it output the template and then just change the xaml!
after you watch the podcast (subscribe links on the left panel of my web site if you are reading this in a reader), you'll hear me reference certain named elements for key function points of the player code that is generated. i said i'd call them out here and that is what i'm doing :-). these refer to the named elements in the xaml. they could be canvas elements/groups or objects themselves like a rectangle. as long as they are named specifically the code should work. here's a list of the most popular that i've used and the heirarchy of any children objects they should have. the names themselves are in bold, everything else is just description:
- VideoWindow - this is the key element to display the media and must be a MediaElement node. you can add clipping masks, etc. (as i show in the video), but you must have at least one MediaElement with this name
- PlayPauseButton - the grouped canvas of your play and pause buttons. named this way, the logic is already there to handle certain functions if you don't provide additional animations/timelines (like hide/show).
- PlaySymbol - the symbol for the actual play button
- PauseSymbol - the symbol for the actual pause button
- PlayPauseButton_MouseEnter/MouseLeave/MouseDown - i'm only going to put this here once, but it applies to most of the other elements like StopButton and MuteButton, etc. if you have a timeline named these, it will fire, if you don't some default actions will occur.
- StopButton - the symbol for the actual stop button
- Timeline - for displaying the playing progress of the media
- TimeSliderDecoration - the element that shows the full progress
- TimeSlider - the progress growing metere
- TimeThumb - the arrow/object, etc. that shows the point in the progress and the user would drag to adjust the position
- VolumeSlider - the elements making up the volume function
- VolumeThumb - the arrow/object that shows the position of the current volume and the user would drag to adjust
- VolumeUpButton/VolumeDownButton - if you were to use buttons for volume instead of a slider
- MuteButton - self explanatory
- CurrentTimeText - displays the time progress of the media element
- ChapterArea - the area that would display the markers in the media file (dvd-style playback)
- FullScreenArea - the full screen experience root node
there are, of course, more elements to mess with and i'd encourage you to look at one of the more advanced template outputs and start sniffing around to see what you find. the cool thing is that you don't have to have all of them. you'll notice in the podcast that i only put 3 elements on there and there are no errors. the output code handles if an element is there or not for you.
i hope this helps get you started on creating great media experiences with silverlight and expression sooner! if you want the sample player xaml that i used in the podcast, you can download that here.
i recently started to embark on a little 3 part series involving taking a pdf document of a baseball field and doing some silverlight and asp.net ajax love with it. it led me along a path of creating some intense xaml design elements actually and i thought i'd share (in simpler form) the process i used.
expression design is a graphic tool that enables creating vector art that can then be exported to xaml (either WPF or silverlight). it is a great tool that i'm starting to be more and more familiar with. design understands various import and export format but sometimes your existing assets might not be directly importable. have no fear there is a simple process (hopefully someone will automate this in one of their tools). i just added a podcast (feeds listed on the left of this site) demonstrating the steps i used to convert an .svg file to readable in expression design, then export to silverlight xaml for an application. it's only 8 minutes and might help if you are running into similar challenges. you'll see that pdf documents with graphics also might give you some love.