Social on Silverlight v1.0

Rating: No reviews yet
Downloads: 169
Released: Dec 18, 2008
Updated: Dec 19, 2008 by AKrebs
Dev status: Alpha Help Icon

Recommended Download

Source Code ZuneCard
source code, 233K, uploaded Dec 19, 2008 - 169 downloads

Release Notes

This project was started as a fun, interesting way for me to learn Silverlight, C#, and data structures. The code is a bit ugly in places, and doesn't completely replicate the official Zune Card functionality, but bear with me; I'm going to try and make it look and feel as close to the original as I can. If you've got an idea about how to make it better (or better than the offical zCard), send me an e-mail at Adam at or post in the forums there.

Right now, this is what I've got going on in version 1:
-Enter your Zune Tag in the box, and click the Run It button. Your Favorites, Recently Played, and three most popular songs from your eight most played artists will show up as text in the box at left.

-Album art from a random album in this series of data will show up in the two album boxes. Right now this is more just for show, but the album, artist and track name show up in this space too.

-Clicking either of the albums displays a new track, with its associated artist, album, and two album art pieces. It's pretty fun to just flip through this. You can go backwards and forwards through your albums with the + and - buttons.

-To view another Zune Card, enter your friend's Zune Tag in the box and click Run It again.


-Separate out the "splash" page and the page of the actual app itself. Right now the main UI elements are collapsed at program initialization. When "Run It" button is pressed, texbox reduces its width and the UI elements are set to visible.
--Problems with this approach are that I can't easily edit the layout of the page in Blend's WYSIWYG mode, and the elements have to redraw unnecessarily when user enters another Zune Card (I call makeVisible() each time the Run It button is clicked to get a new zCard).

-Differentiate between favorites, recent plays, and most played artists. Right now they're clumped together with no differentiation between them.
--I need to learn how to read attributes of the nodes (e.g. type of playlist, or format of image--large/small)
--perhaps in XAttribute
-- example

-Put the three different playlists in their own tabs, which user can switch between like in the official zCard.

-Fit the album data in a window (a la the Flash Zune Card), have it scroll (using a Scrollviewer).
--Learn how to programatically create only the number of images I need (no more, no less), and assign them to the album covers. The covers should then go to their own pages within the app (as the official Zune Card does) or link directly to the artist/album page on Zune Social
--look at:

-Change the + and - buttons into arrows (and fit them into the design better, or get rid of them with a redesign).

- Alert the user if they've entered an incorrect ZuneTag. This would involve reading a node called "error" from the zCard feed, which I don't yet know how to do.

Lower priority:
-Show the user's profile picture and background. This requires re-designing the "app" page, which I plan to do anyway.

-Add support for badges

-Don't use arrays to store the album/track data. There's got to be a smarter way to keep all the information within its own XML Elements.

-zCard service requires user to be signed into Live ID to view play data. Todo: Implement LiveID controls into the App, to show the currently signed-in user's name and login controls.

A word of thanks:
-to Kirupa Chinnathambi for his XLINQ code, which serves as the kernel for this app (
-to Jessica Zahn, Zune Social program manager for giving me permission to run this app.
-and to everyone else who deserves it.

Contact me at Adam at, or come visit for questions

Reviews for this release

No reviews yet for this release.