Searching for monkeys in Cyberspace

Scenes of Scheme’s San Francisco

clock March 22, 2010 10:43 by author offbeatmammal

Robin Sloan wrote a book and then Emily Cooper remixed it to produce some amazing 3D renderings

You can enjoy them in their original goodness or get a glimpse here if you have Silverlight installed.

To navigate around drag and drop using your mouse or you can select an individual image from the drop-down in the top left hand corner. Zoom in and out using the -/+ icons or your mouse wheel and you can select the full screen experience using the icon in the top right hand corner (just press [Esc] to go back to normal mode)

Silverlight Install and Logging Framework

clock March 15, 2010 22:06 by author offbeatmammal

So, you've just created a great Silverlight application and you want everyone to enjoy it. You, of course, have the Silverlight runtime already installed but what about users who don't have a current version of Silverlight or, worse, are on an unsupported platform?

You could leave them with the standard silverlight.js experience but, let's be honest, it's probably not going to reflect that well against the carefully crafted user experience of your application is it? That said, you've got deadlines and developing install experiences isn't the most exciting task on your to-do list is it?

The Silverlight Install and Logging Framework (SILF) is designed to make that job a little easier for you. Without much more work than designing some screens for a few possible install conditions it handles all the logic and guides the user through install or upgrade experiences and, if you want, even logs the results so you can see what’s working and where you need to tweak the solicitation to make it more attractive.

You can grab the files you need from the temporary home of SILF (hopefully it’ll move to Codeplex soon) and kick the tires (or even the tyres depending on where you’re from ... it’s just javascript so it’s easy to localize, or is that localise!)

Although the full blown thing looks a bit intimidating it’s actually really easy to get started with the basics and then elaborate

<!-- Install the Silveright install and logging controller -->
<script type="text/javascript" src="SILF.js"></script>
<script type="text/javascript">
// Configure logging parameters
SILF.minSlVersion = "3.0.50106.0"; // Required Silverlight version
SILF.SilverlightControlHost = "silverlightControlHost"; // div which contains Silverlight control
// Use this section to configure messages
SILF.PromptInstall = "Please <a href='#' onclick='SILF.InstallClicked()'>click here to install Silverlight</a>";
SILF.PromptFinishInstall = "Please wait for Silverlight installation to complete. You may need to refresh the page.";
SILF.PromptUpgrade = "Please <a href='#' onclick='SILF.UpgradeClicked()'>click here to upgrade Silverlight</a>";
SILF.PromptFinishUpgrade = "Please wait for Silverlight upgrade to complete. You will need to restart your browser.";
SILF.PromptRestart = "Please exit/quit and restart your browser to proceed";
SILF.PromptNotSupported = "Sorry, your browser or operating system are not supported";
// If you want to redirect on Silverlight not supported, rather than show a slate, enable this variable
// SILF.RedirectNotSupported = "";
<body onload="SILF.onLauncherPageLoad();">
<div id="silverlightControlHost" style="height:100;">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="940" height="406">
    <param name="Source" value='SmoothStreamingSamplePlayer.xap' /> 
    <param name="InitParams" value='fakemode=,background=#FF000000,autoload=False,autoplay=False,muted=False,stretchmode=0,playlist=&lt;playList><playListItems><playListItem title="Smooth Streaming : Media : Test" description="" mediaSource="" adaptiveStreaming="True" thumbSource=""></playListItem></playListItems></playList>' /> 
    <param name="windowless" value="false" />
    <param name="background" value="black" />
    <param name="minRuntimeVersion" value="3.0.50106.0" />
    <param name="autoUpgrade" value="false" />
    <param name="onerror" value="onSilverlightError" />
    <param name="onload" value="onSilverlightLoad" />

The code owes a lot to the work of Laurence Moroney and Tim Heuer as well as experiences on sites such as Sunday Night Football, FranceTV Olympics and RedBullStratos. It consolidates the current silverlight.js as well as including and extending silverlightSupportedUserAgent.js and silverlightVersion.js and, for the logging functions uses the math.uuid.js library.

In advance of a move to a proper community sources project I’d love to hear your feedback below so we can make this more versatile and useful. If you use it please let us know as well.

Be A Martian

clock November 25, 2009 21:58 by author offbeatmammal

Be A Martian with NASA's JPL At PDC this year Vivek Kundra announced the launch of a new site from NASA’s Jet Propulsion Laboratory (JPL) that a couple of folks I work with were heavily involved in (and I got drafted in to help out which was amazing fun).

Tim and Marc from Microsoft, the folks from JPL and the MondoRobot team are very smart. Real smart. Seriously… how often do you get to talk with folks who think nothing about sending robots to another planet just because they’re curious?

Because they understand that kids (of all ages… 5 to 50, 9 to 95) are curious as well they came up with a really smart way to combine that thirst for knowledge with the huge amount of data that they’ve yet to analyze and combine them in fun and new ways.

Be A Martian Hence Be A Martian was born. A site that allows anyone view documentaries on the Mars rover missions, explore the surface, ask questions and help with the process of scientific discovery by looking at images and finding craters or helping line different pictures up… and it’s only the beginning.

The site is presented using Silverlight – which allows a slick user experience – and the data is hosted using the Windows Azure Platform to allow it to support the scale required efficiently.

You can do anything you like without registering, but … if you do register then you can earn points for various tasks to enhance your reputation on the site. You can check out my profile and see how I’m doing.

Oh, and don’t forget… a little curiosity goes a long way. In fact, Curiosity is going to Mars in 2011… by helping map craters today you’re helping improve NASA’s understanding of what the Rover will be facing when it gets there.

Sunday Night Football in Silverlight

clock September 15, 2009 08:57 by author offbeatmammal

SNF Extra in SilverlightIt’s been a little quiet here lately. Not because I didn’t have anything to say but because I’ve been rather busy on a very exciting project. Sunday Night Football.

One of the cool new technologies used for NBCs presentation of the Beijing Olympics was a technology that became known as Smooth Streaming and has now been made available for on-demand content through the Expression Suite and IIS Media Services 3 add on to Windows Server / IIS.

Put simply Smooth Streaming allows you to encode a file into small (2 second) chunks at multiple bitrates (from low quality right through to genuine 720p HD and beyond. IIS delivers those chunks as simple HTTP traffic and the client is able to adapt on the fly to the users playback conditions (CPU load, graphics card capabilities, network throughput) to deliver the best quality experience possible. One huge advantage of using HTTP chunks is that they are just like the web pages and images that we’ve had years to work out how to deliver well - so no complicated server set up, and you can use an existing Content Distribution Network (CDN) without having to roll out any complex new technology. Akamai, Limelight and Level3 are all supporting it today and others are adding it in the near future. You can see an example of it in action at

However we’ve taken it to the next level and are delivering live Smooth Streaming. Using heavily optimized hardware and very efficient versions of the encoder we are able to deliver a live broadcast in the same way. We can now deliver seamless mixing of content, switching camera angles, Picture-in-picture (PIP), ad insertion and all the other features you would expect from a high end interactive broadcast.

Sunday Night Football on NBC is the first time we’ve shown this off and it’s getting rave reviews – not just from the broadcasters and technology pundits but also real PC and Mac users who are getting an experience that they’ve, literally, never had before. 720p HD video, full screen with play by play data, the ability to pick from 4 alternate camera angles, game stats, live interactive chat and a selection of highlight clips all delivered in seamlessly in the same player.

It’s been a huge effort behind the scenes with a shopping list of partners – NBC Sports of course, the IIS Media and Silverlight teams for the server and client technology, Vertigo for the amazing player they built on top of those technologies (on the cutting edge once again), iStreamPlanet for the transcoding using a mix of Inlet and custom tools, Akamai and Microsoft’s own Edge Computing Network (ECN) for content distribution, DART for ad serving (yes,that company owned by Google supports this technology – first announced at MIX07), Conviva, and Omniture for reporting to tell us how it’s performing and of course the fabulous DevDiv BizDev and DPE Media Evangelism teams that I’m part of to pull it all together. Behind the scenes I’ve also using FogBugz to help track and support issues.

The project has involved a lot of late nights, a lot of travel (I think I spent more time in New York, Stamford, San Francisco, Point Richmond and Las Vegas in the last few months than Redmond) but I hope you have a chance to check out SNF Extra 8pm ET / 5pm PT / 6pm CT) sometime this season and enjoy the fruits of our labour.

After several months though I still don’t understand the game! But that’s okay because now we have to take all the lessons we learned here and go on to make NBCs delivery of the Vancouver Olympics even better!

Could Photosynth change the face of classified advertising?

clock April 27, 2009 19:50 by author offbeatmammal

Every listing on eBay or Craigslist has one thing in common – if the seller is serious they’ll include pictures. Sometimes the pictures will be pretty low res cameraphone, other times they will be hi-res dSLR photos taken with proper lighting.

No matter how good the photo though, or the slideshow viewer they’re presented in they’re just like the images everyone is used to seeing.

Now Photosynth has a Silverlight powered viewer there’s no reason not to take advantage of the capabilities to link to a synth or embed it in your listing.

As you can see from the synth above it’s not just a case of throwing a few photos into the tool and hoping for the best – that gets you a pretty choppy result – but even so it’s possible to navigate around the image and even have a look inside. The site has a video that explains the simple steps to create a good synth.

Do you know any examples of people using Photosynth to spice up their listings – and did it help?

MIX09 – Wrangling Partners

clock March 22, 2009 20:36 by author offbeatmammal

MIX_Backstage This was my third MIX (I joined Microsoft a few months after the first) and once again I spent most of the time behind the scenes.

At MIX07 I worked with one Keynote partner, at MIX08 I had partners with demos and presentations in both keynotes and for MIX09 I was the designated “Partner Wrangler” working with the non-Microsoft partners who had demos on-stage. I have to thank Mike (our Keynote owner) for the opportunity this year.

MIX this year was about the “Return on Experience” and was where we announced the final release of ASP.NET MVC as well as the developer beta of Silverlight3 so most of my focus was in those areas.

Once again I was lucky enough to be working with some really great partners who had great stories for us to bring to the event to show off the technologies – so all I really have to do is make sure they get the support they need to finish their applications in time for rehearsals that night before the keynote!

So, who was I wrangling?

StackOverflow The first partner demo in the MIX Keynote was StackOverflow – a great community site for developers to help each other, built on ASP.NET MVC (with standards compliant HTML) and optimized for Search Engine Optimization. Jeff and Joel have a great story and deliver it – like StackOverflow – simply.

MIX09 - Who is that Bald man? Netflix The second partner I worked with was Netflix. Kevin McEntee talked about how Netflix has been using Silverlight both to improve the user experience on both PC and Mac, but also driving the quality of their roll-out to hardware such as the Roku or XBox360 platforms. Kevin and Steve Swasey from Netflix sat down with Tim Harris to give a bit more background on the story.

Much to my amusement I was called on to join Kevin on stage for a few moments at the end of his talk to drive a demo of the Adaptive Streaming technology in the Netflix Instant Watch player. What was really cool about working with Netflix this year was that they were the first partner I worked with back at MIX07 ;)

Bondi Digital Publishing My third partner were Bondi Digital Publishing and Vertigo Software. They have worked together to create an amazing on-line magazine archive viewing platform that takes microfiche content, scans and uses OCR to grab the text, massage the meta data to add some intelligence (linking the contents to the articles, flagging adverts vs content etc) and then display them on the web. At MIX David Anthony from Bondi and Scott Stanfield from Vertigo demonstrated their “next generation” Silverlight3 based platform with Rolling Stone content but after the keynote they launched PlayboyArchive (NSFW!) using Silverlight2.

Tim also sat down with David and Murat Aktar from Bondi and Scott from Vertigo to discuss how they are changing the magazine industry.

KEXP Where the music matters My last (but certainly not least) partner was KEXP. As one of the most successful internet radio stations (and the most successful not-for-profit internet station) they have a never-ending challenge to improve their connection with their audience by delivering high quality content wherever their users are. Taking advantage of the forthcoming Silverlight3 features such as Out of Browser and Offline support combined with cloud services KEXP are looking to the future to make sure they stay at the leading edge. Tom Mara and Aaron Starkey talked about the business benefits as well as demonstrated a prototype of their work. They also provided more background in a video interview shot at their studios.

If you want to see how my partners fit into the overall keynote you can view the on-demand video, or check out Tim Sneath’s live blog of the keynote and of course don’t forget to mark your calendar because MIX10 is coming at Mandalay Bay 15-17 March 2010.

Snowpocalypse 2008 - 10 days in 100 seconds

clock December 29, 2008 11:15 by author offbeatmammal

After my last little experiment creating the stop motion weather watch I wanted to put one together to cover the whole of "Snowpocalypse 2008" as the White Christmas here in Seattle has been tagged.

I used the same tools as before... the webcam had been happily snapping away once a minute and storing the images on the Windows Home Server so I had the source material, but the biggest challenge was to get the 15,000 images displayed quickly enough to be interesting but not so jerky as to be un-watchable. I won't say 8 years working with some very smart TV production teams has actually rubbed off but after some fiddling around the idea of 10 days in 100 seconds seemed to work, so here for your pleasure:

To generate this I took images 5 minutes apart and created an uncompressed 30FPS AVI. The resulting AVI was almost 4GB which obviously isn't practical for streaming on the web (and bigger than the 105MB per file limit for free accounts on Live Streaming!) so I turned to another tool - Windows Media Encoder - to convert the file to a WMV at DVD quality which took me down to 25MB (quite a difference, but remember the AVI was uncompressed and the WMV was a two pass, variable bit-rate encode so heavily optimized).

As it turned out I ended up 4 seconds short of the full 100, but please permit me some artistic license (I should had added a credit roll!)

All this messing about looking at the weather has got me wondering more about what patterns are really like here in the Pacific Northwest so as well as becoming a regular reader of Cliff Mass' musings on the weather Rhiannon and I have ordered our own weatherstation to put in the garden (and started sharing images at Weather Underground as well as the Webcam page here in advance of the hardware arriving!)

Snow days and life at Microsoft

clock December 18, 2008 12:13 by author offbeatmammal

20 years ago when I started working a snow day would have meant the world grinds to a halt.

Today thanks to the wonders of the electronic office I still have access to most of the corporate resources I need to be productive and I don't have to leave home... which is a good thing given the weather!

Thanks to the weather over the last few days a bunch of meetings got canceled I had a chance to catch up on some reading and play with some things...

It's times like this that remind me just what the reach of the Microsoft eco-system is. I'm not talking about the fact I can work from home but the range of tools and technologies that enable pretty much anything you want.

The video above was created in the following way

Apart from the webcam and the Home Server everything is free software. It might not be the most elegant solution but I found all the bits and got it up and running (thanks to Live Search) in about half an hour.

I think folks too often just see Microsoft as a big monolith (even some people who work there!) but it's moments like this, and sites like Microspotting and View<myWorld> and of course some of the more pragmatic 'softees that remind us there's a lot more hidden away both internally and from folks building cool stuff in the community.

Navizon plus Virtual Earth powered by Popfly

clock October 25, 2008 15:16 by author offbeatmammal

A while ago a built my own code to display my latest location on Navizon (a GPS, WiFi and Celltower location service that runs on Windows Mobile, Nokia and iPhones)

While rolling my own gave me a fair amount of flexibility it struck me as fairly inefficient - all it's doing is grabbing an XML feed with location and displaying it on a map.

Since my first quick play with Popfly I've not really played around with the mashup service, but I had some idle time this morning and wondered what I could do to solve the same problem that way...

Well, 20 minutes later the Navizon + Virtual Earth mashup powered by Popfly was built (you just need to change the Navizon ID to show you instead of defaulting to me - if you sign up to Navizon to try this don't forget my referral code: 5E585D5B5A!)

This mashup refreshes every 30 seconds, pulling the location data from the Navizon XML feed and updates the pushpin with the username and the last seen data.

I'd like to find a way to tweak it so that it remembers the map zoom level for a particular user and makes it easier to change the userid for other folks when they're embedding the mashup (my previous attempt allows you to send userid, width and height of the map as parameters) ... maybe if I have some free time I'll play some more ;)

Hard Rock gets Silverlight Widgets

clock October 14, 2008 10:39 by author offbeatmammal

When Silverlight 2 was first announced at MIX this year Vertigo and the Hard Rock Cafe launched a pretty amazing memorabilia site.

To celebrate the official release of Silverlight 2.0 the site has been upgrade and enhanced. The collection now contains more images, the zooming is faster and smoother and as well as being easy to share links to individual items you can now grab widgets to embed on your own site

It just keeps getting better :) Check ScottGus blog for more information on the Silverlight 2.0 release.



<<  May 2016  >>

Sign in


    follow OffBeatMammal at

    Amazon Store

    Donate unused CPU cycles with BOINC Stats and Account Management from






    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2016