Endquote is Josh Santangelo, an interface developer and former man-about-town in Seattle. Lately, he talks a lot about Silverlight, Surface, and Stimulant.

email: josh[a]endquote[.]com
work: stimulant.io


Posts on: portfolio


Video

Oct 5, 2011
@ 4:07 pm
Permalink

Recently, Stimulant was the first company to produce an application for the Sifteo platform outside of Sifteo themselves. We decided to create a simple music sequencing application which can be enjoyed by children and adults alike. The video above will give you the general idea. More over on the Stimulant blog.

It was really fun to work on an app for a platform that’s limited to 128x128 displays, 256 colors, but offers a bunch of new and novel interaction possibilities. The SDK is based on Mono, so I was able to use Visual Studio and C# to work very efficiently with familiar tools, even though it was a new environment.


Text

Jul 12, 2011
@ 11:07 am
Permalink

Microsoft Local Impact Map v3

Recently at Stimulant we launched a third version of the Local Impact Map for Microsoft (previously, previously). The map is a tool to “Explore the positive impact of local programs promoted and supported by Microsoft around the world.” This was a full rewrite of the front-end which introduced new ways to navigate through the collection of 1500+ stories. We also replaced our custom Deep Zoom map with an extended version of the Bing Maps Silverlight control.

Typically the labels for countries and regions on the map are not interactive, but we extended the map control with custom labels that are interactive and can display dynamic data. We also added a data visualization layer which illustrates various statistics for each region, and designed an algorithm for smoothly clustering dense collections of story icons.

Each state of the application is serialized as a unique URL, which allows the back and forward buttons in the browser to work naturally and makes it easy to share a link with a friend or social network. This was achieved through some creative hacking of the Silverlight navigation framework.

The relaunch has been received positively within Microsoft so far, with features on the Unlimited Potential blog and the Bing Maps blog. And we’re not done yet, there are big plans to bring the map to new places over the coming months.


Photo

Jan 14, 2011
@ 7:56 pm
Permalink

On the first of the year, I attained the ultimate nerd status and was granted an “MVP award” from Microsoft under the Surface discipline. What’s that mean?
“The Microsoft MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their high quality, real world expertise with others. Microsoft MVPs are a highly select group of experts representing technology’s best and brightest who share a deep commitment to community and a willingness to help others. Worldwide, there are over 100 million participants in technical communities; of these participants, there are fewer than 4,000 active Microsoft MVPs.”
I’ll be joining the six other Surface MVPs at the summit in February. It should get pretty crazy… those guys know how to party.

On the first of the year, I attained the ultimate nerd status and was granted an “MVP award” from Microsoft under the Surface discipline. What’s that mean?

“The Microsoft MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their high quality, real world expertise with others. Microsoft MVPs are a highly select group of experts representing technology’s best and brightest who share a deep commitment to community and a willingness to help others. Worldwide, there are over 100 million participants in technical communities; of these participants, there are fewer than 4,000 active Microsoft MVPs.”

I’ll be joining the six other Surface MVPs at the summit in February. It should get pretty crazy… those guys know how to party.


Text

Nov 12, 2010
@ 9:02 pm
Permalink

KEXP Archive

My last project went by so fast (three weeks) that I forgot to post about it. It’s a rework of the WebVizBench project, which ads a new mode that shows each KEXP DJ’s favorite albums in a JavaScript-powered particle system. It’s live at KEXParchive.org and works best in the IE9 beta.

The app was featured in the PDC10 keynote (scrub to 44 minutes) and on the IE blog. I also did a video interview for the IE blog which is embedded below.


Video

Sep 23, 2010
@ 6:45 pm
Permalink

A short video and longer writeup of the Surface Live Stream application is up on the Stimulant site.


Video

Sep 15, 2010
@ 3:06 pm
Permalink

I did an interview with Channel 9 about WebVizBench. More on that here.


Video

Sep 15, 2010
@ 11:14 am
Permalink

Stimulant’s first HTML5 project launched today at WebVizBench.com. You’ll need the IE9 beta to run it properly, but the video above gives you a good idea of how it works. The full writeup is on the Stimulant blog, and it’s included among the many experiences available on BeautyOfTheWeb.com.

It is essentially a visualization of every song played on KEXP over the span of about seven years, totaling close to 800,000 data points. It also includes a benchmark mode, which stresses a browser’s GPU features in order to show off what a nice video card can do for future browsing experiences.

I was the sole developer on the project, working with all of the other teams at Stimulant. It started out as our first Azure project — I developed an Azure worker role to harvest and reformat data and album art from a not-yet-released KEXP API.

The application you see in the browser is 100% JavaScript, using jQuery and a few jQuery plugins. The grid of album art and the gray grid in the background (click and drag on that for fun) are implemented using the canvas tag. The tooltips are SVG, the background video uses the video tag, and there’s tons of DOM animation between states. Additionally I wrote a small library for making the development of canvas-based applications a little more sane, which we may use in future projects. If you’re interested in seeing the code, the debug version of the app is un-minified.

This is the first time I’ve developed a native browser application in a while, and I can say that browsers and JavaScript libraries have come a long way. However I think they’ve still got a while to go before developing in the browser is as easy and fun as it is in consistent plug-in or native environment.


Photo

Sep 9, 2010
@ 7:39 pm
Permalink

The last project I worked on at Stimulant for the Surface team at Microsoft was Live Stream, a multi-user social media reader. An administrator can configure it to pull specific feeds from Twitter, Flickr, and RSS services, which are then displayed in a never-ending, scrollable stream across the display.
Multiple users can pull interesting content toward them, where it will scale and orient to them for easy reading. They can take the content with them by flipping the items over and taking a photo of the Microsoft Tag on the back with their mobile phone, which resolves to the URL of that item.
This project was the inspiration for the SurfaceScrollViewer behaviors, ManipulationViewport, flipping ScatterViewItems, and Plane. Each of these components are free for download from the preceding links, and the entire project’s source code is available on the MSDN code gallery.

The last project I worked on at Stimulant for the Surface team at Microsoft was Live Stream, a multi-user social media reader. An administrator can configure it to pull specific feeds from Twitter, Flickr, and RSS services, which are then displayed in a never-ending, scrollable stream across the display.

Multiple users can pull interesting content toward them, where it will scale and orient to them for easy reading. They can take the content with them by flipping the items over and taking a photo of the Microsoft Tag on the back with their mobile phone, which resolves to the URL of that item.

This project was the inspiration for the SurfaceScrollViewer behaviors, ManipulationViewport, flipping ScatterViewItems, and Plane. Each of these components are free for download from the preceding links, and the entire project’s source code is available on the MSDN code gallery.


Text

Sep 6, 2010
@ 4:09 pm
Permalink

SAP InSite Studio

Things have been stupid-busy at Stimulant — so much so that I haven’t gotten around to posting some recently completed projects.

Back in May, we shipped “SAP InSite Studio”, which was a proof-of-concept app for SAP’s big conference in Orlando. There were three instances of the application running on large HDTVs with multitouch overlays, all connected to a high-end Cisco videoconferencing system. The Stimulant blog has more details, and the video below.

This one was particularly challenging to me, as it was my first Windows 7 touch app, which isn’t quite the same as Surface. The Surface Touch Pack didn’t ship until the project was mostly done, so I wasn’t able to take advantage of it much. I also had to do lots of interop between managed and native code in order to get my app to control other arbitrary applications on the system — mostly IE and Office apps. It turns out that Windows doesn’t really want you to do that sort of thing, so various hacks and workarounds were applied that kept this from being more than a proof of concept. We learned a lot though, and could potentially make it “real” in the future.


Text

Jul 6, 2010
@ 3:49 pm
Permalink

ManipulationViewport

By default, a ScatterViewItem can be scaled as large as the display. If the content is an image, the image will scale up with it. This works well, but if the application has multiple users at the same time, one person could scale an image up and occlude everything the other user was working with.

A solution to that would be to limit the size of the ScatterViewItem, but allow the content within it to be manipulated separately from the container. Something like the video below.

Here is a Visual Studio 2010 project which includes the source for the application shown above. Let’s discuss it over on the Surface forum.