in part 1 of my baseball example concept, i discussed how i was able to re-use some SVG vector art in XAML.  in that screencast i used an SVG file and a PDF file.  it set the stage for the remaining part of my samples here.  to recap, my goal is to show: using vector files for XAML (done), integrating that XAML and html functionality (here) and then to show a "game play" view of the vector art, extracting just the field information.

in this part 2 of that goal, i set out to recreate a different user experience for the ticket purchase process of the online site for the baseball team.  right now at the dbacks seating/pricing site, they provide a chart and a color match html table.  there is some "zoom" functionality (really it is just image swapping) to get a closer look at the sections.  to me, i wanted to see a simpler implementation -- don't make me think.  when i choose the infield section, clearly show me where that is -- if i can't decipher the colors very well, then i might not understand where the section is.  this is, of course, a very simple sample, but one that can easily demonstrate how easy it is to work with silverlight and html from a DOM perspective.

you see, once the silverlight plugin is loaded, it is a part of the page DOM.  because of this, other elements can dig into it, manipulate XAML, execute storyboards, etc. -- and vice versa...the silverlight plugin can alter html on the same page.  it actually is quite simple, but i've received some questions on it, so i thought i'd whip this quick sample together.  please subscribe to the podcast feed on the left to get the previous screencast and future ones as well.

i hope it helps.  if it doesn't, let me know or let me know how to refine a better sample.  leave a comment in the blogs.

part 3 will be (maybe) the final part of this sample, demonstrating a "game view" using the same imported vector data, real-time data from SQL server, asp.net ajax integration...it's wicked cool and i can't wait to post it!

26-jaw-drop

yeah, me too.  the news of the day is that microsoft's developer group is releasing portions of the .net framework base class libraries (bcl) under the microsoft reference license (ms-rl).  in a nutshell the license enables the viewing of the source code, but no modification.  even so a step in the right direction in my opinion.  while it isn't an open source license, this is a part of microsoft's broader shared source initiatives to aid developers in the understanding of the innerworkings of the .net framework.

we'll also be introducing capabilities in visual studio 2008 to allow .net developers debugging their apps to not only step into their own source code, but also into the .net framework source code using visual studio!  aside from that functionality, anyone who accepts the license agreement will be able to download and view the source code.  the release will include the bcl, windows forms, asp.net, System.Data and .  this includes System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, System.Data, System.Web, System.Windows.Forms, System.Windows.  you may not see or / or linq (linq is yet to be released anyway) but each library that is considered to be released under this initiative will go through a review process.  additional libraries are planned as time progresses.

you can see a demonstration and more details on scottgu's blog as well as listen to shawn burke discuss it on hanselminutes.  integration with the debug symbols is going to be as simple as:

well, even though i haven't seen them, i'm impressed with the announcement.  maybe i switched too soon, but i still stand by my decision based on my personal needs (car aftermarket oem integration).  regardless, here's what the new zunes will bring...

    • 80GB and 4/8GB flash versions
    • new Zunes will have new UI and features..."old" Zune users will get those features as well!
    • native codecs for h.264 and MPEG-4 -- no need for only WMV
    • WiFi sync to host machine
    • Podcast support!!
    • Zune software is completely re-written apparently and although i haven't seen it i'm hoping it isn't a re-badging of WMP still.
    • Zune music store is going to have DRM-free music in MP3 format for over 1 million tunes.

this is a pretty impressive lineup of features.  i think it is way cool that the software on the device is backward compat with original zunes.  to me, that is huge.  it acknowledges early adopters and doesn't leave those feeling like they are "stuck" with a v1 device...that is huge in my opinion.

the other features sound great as well.  i can't wait to see the new software to make a decision on how good it is.

UPDATE/correction: jeff weber authored the farseer engine, bill ported for silverlight...both did good work!  thanks for the clarification!

bill reiss of dr. popper fame (my daughter loves the "bubble game" she calls it), just released the farseer physics engine, which has support for silverlight (1.1) as well.

the engine is an easy to use 2D physics engine for XNA and silverlight platforms.  it contains logic for collision, joints, controllers, etc...everything you would need to start a base casual game at least.

bill put it out on codeplex as an open source project as well released under the Ms-Pl.  check out some of the demos of the functions here.

well, after my initial quest to complete this task in part 1, i'm happy to report success!

this is a little patting of my own back ... i'm shocked that i actually did it on my own, without cursing, without getting mad at my family, and in the first attempt!  i didn't take pictures of the process as i was on a pace that i didn't want to disturb.  needless to say when my wife came to check on me while doing this project, she was in awe to see my entire back seat sitting in the garage and carpet everywhere.  i was in awe as well and really didn't think it would all fit back together quite the same.

but it just under 2 hours, it was complete and i was en route to the grocery store for a victory mt. dew.  here's the final implementation...no visibility:

DICE Kit installation

and when i want to connect my ipod:

DICE Kit with iPhone

very, very tight integration.  i do have a few after thoughts.  first, i figured i would mentally pay attention to things i was unplugging and would be able to find their way back to their homes.  after completing the core installation i was left with one 4-pin attachment that for the life of me i couldn't remember where it went, nor could i find a glaringly obvious place for it.  luckily the car still runs, i can shift gears, stop when needed, etc.  but i truly do have a "spare part" somewhere...frankly i'm sure it isn't vital (probably a light)...or at least it isn't until my airbag randomly deploys on me when listing to music.

what helped me was preparation...something i rarely do when it comes to handy work in my personal life.  the instructions were awesome...very, very detailed.  they didn't read "remove your back seat" but instead read "you'll find two clips under your seat, life directly straight up on these...if you don't they will bend and you wont be able to put them back.  lift up and then pull at an upward angle to remove the seat..." etc.  every step was like this leaving no doubt what i was supposed to do.  even when i questioned one step (and tried to skip because i thought it was trivial), it proved to be necessary.  the night before i went on this adventure i read the instructions several times to familiarize myself with the carnage i was about to put on my car.  i went to the manufacturer web site to find links to youtube videos demonstrating the steps...awesome.  this truly helped solidify that what i was about to do would be doable in my skill set.  the videos were broken out into 7 minute chunks in about 8 steps...and very easy to follow.  what a great use of the internet and free video service to demonstrate installation -- and they save some trees in the process (although maybe the carbon count increases...who knows).  i wish more companies would do this to the level of detail i had.

in the end i'm very pleased with the product and myself.  i have to learn the less-than-intuitive menu structure (to sync go to disc 6, track 3...wait a few seconds, then back to disc 1, track 4...browsing playlists is a series of different discs, etc. -- note: this replaced my cd changer), but i'm okay with that.  i tried with a 2nd gen nano, an iPhone and an iPod classic.  all worked well.  the iphone was the most disappointing, but i somewhat understand.  once connected it requires it to be in airplane mode to reduce noise in the communication, and also 'locks' the menu (meaning i can't navigate to songs on the iPhone).  the other models work fine and i can choose to use my radio or my ipod navigation itself.  very cool.  it isn't ideally located to see the screens, but i anticipate using playlists anyway.

i'm a happy man.  all my music in one place, portable, using factory features, and a slick installation.  yippeee.