Legend of the Greasepole gets the Silverlight 4 + Analytics treatment

Legend of the Greasepole Title Screen

Legend of the Greasepole has been ported to Silverlight 4 and reincarnated on http://greasepole.net.

Greasepole is the long-suffering game about multimedia tribute to the inexplicable Engineering traditions at Queen’s University in Canada. Over 50 students contributed to the project back in the day.

There’s a significant AI component to Greasepole – the autonomous “frosh” characters have models for learning and communicating with one another.

A couple of years ago I ported it from C++ to C# and XNA. I abstracted out a series of services (graphics, sound, input, timer, persistence) so that it might ultimately be ported again to a platform like, say, Silverlight or something. Why? I don’t know, maybe I’m a little obsessed with the illusion of preservation.

The Silverlight 2 version was a bit shaky. Silverlight 4’s hardware acceleration and bitmap caching make it pretty solid. It is also awesome to hear from friends that it apparently works on the Mac.

Analyze These… Shenanigans

I also added a little analytics. Although it should probably be said that the Greasepole event largely defies analysis, the game itself does not, and so this is the first time I can let someone poke their head in and see how the froshies are doing all around the world.

Back in the day, the worldwide best time was in excess of a mere 53 minutes. But I had to learn that by way of Sean Murray (class of ’05; wonder where he is now) sending me a screenshot. Now the interwebs will tell us immediately. (Admittedly, it’s not a fair fight against Sean, because the frosh are now permanently in “keener” mode, and the Options screen has been replaced by a dozen trendy Achievements for you to “unlock”).

So get going stalling those frosh, and my question for you is – what statistics would you like to see?

“Number of pints Al ‘Pop Boy’ Burchell has quaffed?”

“Number of hippos fed”?

“Height of human pyramid vs time”?

I am going to enjoy cooking up visualizations for some of those.

(Coding notes: A few new VS2010 things helped with this update: Web.config transformation (rocks), improvements to Web Publish functionality, XAML designer, Entity Framework experience… and more.)

Play Legend of the Greasepole Online Edition.

Standards are the Sands of Time (or, the Illusion of Preservation)

On a long enough timeline, the survival rate for every standard drops to zero.

From emulated games to digital negatives, how can we preserve our digital content for posterity, and inform our decisions about which formats we adopt?

A special jpg: 2 monkeys, city, moonlight
A special jpg: 2 monkeys, city, moonlight

How many jpg images do you suppose are living on the internet? Probably quite a few.

Among all those images, the jpg on the right is particularly special to me, because it’s a screen capture of an adventure game I wrote for the Commodore VIC-20 when I was very very young (like almost single digits).

If you can’t make it out, those are two monkeys standing under the Toronto skyline, reading a newspaper by moonlight.

At the time I wrote the game, it could only be played by reading the bits that were encoded as waveforms on an audio cassette tape. Which was awesome.

But one day my VIC-20’s cassette drive silently stopped reading tapes, and the game could be played no more.

The photograph below (another jpg) was taken of the defunct
VIC-20 hardware some time before it was tossed into a big dumpster.

Commodore VIC-20 and Tape (deceased)
Commodore VIC-20 (deceased) and Cassette

Resuscitation by Emulator

VICE Vic-20 Emulator on Windows
2001 Emulator (not dead yet)

Fast-forward through more than a decade to 2001, where I find VICE, a program that can emulate the VIC-20 on Windows.

With the game’s cassette reclaimed from the basement and a dusty tape player connected to my PC’s audio port, I transferred the audio that made up the game’s bits into an audio .wav file, and then converted that audio file into a format that could be loaded by the emulator.

I was so happy to be able to run my game again, and have it preserved “forever,” even though its contents are meaningful only to me (and maybe my family).

Satisfied, I zipped it up together with the emulator
and put it into my folder called “C:\pastlives” for safe keeping.

Now almost ten more years have passed. In this 64-bit world, my game still runs.

For now.

(slightly) Longer Term Thinking

This ran through my head when I was considering whether I should adopt Adobe’s Digital Negative (DNG) format as a standard for my photo archives. The alternative is the Nikon raw (NEF) format I currently use for my negatives.

It literally kept me up last night thinking about the layers of technology I depend on to retrieve and view things in “C:\pastlives”, like my VIC-20 emulator or my digital photos.

Check out this stack of just some of the standards and technologies I used to play my game today:

Some of the technology standards used to play my VIC-20 game on Windows 7
Some of the technology standards and file types used to play my VIC-20 game on Windows 7. (another jpg)

(Red == the ones I perceive as more volatile)
Sure, you could substitute for some of these (the VIC-20 emulator, for example, also runs on Linux).

But how likely is it that a complete cocktail of prerequisite technologies will be around long enough for me to load and play the game in three more decades? In ten?

These standards aren’t stacking up like a solid foundation, they’re piling up like sediment!

(To abuse a pretentious analogy) It’s like the sands of time themselves.

Consider the Floppy

5 1/4 inch Floppy Disk
5 1/4 inch Floppy Disk

Remember floppy disks? Those once-ubiquitous storage devices? How many of you still have machines around that can read a 5 ¼ inch floppy?

On a long enough timeline, the survival rate for every technology standard drops to zero.

By my estimation, all it’ll take is for me to neglect its preservation for approximately a decade, and my game shall be played no more.

Spoiler Alert!

I’ll go out on a limb and say that despite my efforts, my VIC-20 game will never outlive even all the jpgs in the internet.

So I’m just going to tell you that one monkey rescues the other monkey from the Toronto zoo and they escape back to Africa.

There’s an action sequence where you have to climb through the sunroof of a taxi and jump off at just the right moment to escape a high-speed police chase.

Screenshots, while they last, are available upon request.

Four Perspectives on Delivering ‘Return on Experience’ Follow-up Notes

And now, as promised, the link-laced follow-up to this week’s “Four Perspectives on delivering ‘Return on Experience.'”

Our UX Gurus on the panel were:

and in addition to their insights on Wednesday night, they’ve kindly helped me compile these links.
(If you want to contact any member of the panel, they’re first-initial last-name at infusion.com, or ping me.)

Introductions

The panel began by reflecting on the masochistic teapot made famous by Donald Norman on the cover of his book The Psychology of Everyday Things, to remind us that in the software industry, what we create for our clients often becomes an everyday thing.

Are we making things that are functional but masochistic like this teapot?

what's "Return on Experience"?

The panel then weighed in on Deborah Adler’s redesign of the Target Rx medicine bottles, which was bravely showcased by Microsoft as a UX case study from another industry during the second day keynote at Mix09.

It was a story arc that highlighted the many elements of ‘return on experience’ – everything from safety and customer satisfaction, through brand awareness and driving revenue.

Co-Exist?

Then we reflected on the co-existence of the Development and Design lifecycles. There were varying opinions on where each person on the panel feels squeezed for time and resources in the cycle.

Ernie’s more thorough PM’s Gantt chart (very much not shown here) was a sobering dose of reality. We considered techniques for determining the point at which the value to the client diminishes when you add more time and resources.

New Tools, New Processes

I did a Sketchflow demo. We created an interactive prototype. It had the “right level of fidelity” and the panel remarked that the “sketchy” look helps manage client expectations.

At a high level – there was love. Sketchflow should change our software development lifecycle.

But some easy things were hard. We integrated sample data (and Susan quite fairly called me on it when I talked about a designer “databinding” to “sample data.”  (If Blend wants databinding to be [the designer’s] job then the designer says “but it’s not my job!”). We looked at editing a data template (for a Listbox full of items) and everyone agreed this experience was currently way too hard without grokking a number of Blend and XAML-specific concepts.

Especially valuable is Sketchflow’s ability to solicit feedback from clients with standalone prototypes. Ernie remarked that it was when he saw Sketchflow run “live” as a  standalone prototype that he saw how valuable it could be. Integrated client feedback was a big win. We also saw how it can generate Word doc summaries, and all eyes lit up.

We remarked on its incredible potential, which it’s not quite living up to just yet. Earlier on in the presentation, we’d hit upon this theme that a good user experience should never make the user “feel stupid” – but for new users Sketchflow can unfortunately make some of its target audience feel stupid.

For a v1, though – wow – we all saw the value, and deeply, desperately want it to be awesome. Ernie said he’d go back to his team the next day and tell them to start using it.

Roles and Expectations

After the break, we talked about roles and expectations. Given the changing tools and processes, we wondered what should be expected of different roles.

We noted how “designer” is a “suitcase word” that carries many different meanings. Susan saw all these “people” in the Venn Diagram and just wanted it to be clear that in real life, it’s often all a single, multi-faceted “person.”

(Design) Surface

Most of the panel are, or have been, involved in Infusion’s Surface projects, so we took a moment to talk about design and user experience as they relate to that platform.

Susan remarked that Surface development demands UX design skills “to the extreme.”

The Surface design challenges include: attracting the attention of casual users, encouraging users to overcome the novelty of simultaneous multi-user interaction, and embracing the lack of an “up” direction. It’s “hyper-real,” and there is a need to consider the affordances of design elements used on this multi-user touch-table application.

What can we learn from games?

We had Dan Wilcox from the games industry, so we also asked him what we can learn from the gaming world if we’re trying to build line-of-business apps instead.

Dan agreed that a significant challenge is showing users what they can interact with, and how. That “affordances” thing again. He talked about how the games industry has improved in its ability to guide people through 3D landscapes, and perhaps similar cues could influence navigation through user interfaces. He gave examples of where games are blurring the boundaries between user interface and game world.

The Future of User Experience

Then we talked about the future, because that’s always fun.

But the twist here was: what kind of UX considerations will come into play as we design for new kinds of interactivity?

We ran out of time because we wanted to run down the street to see the Surface app before Rogers closed, but now you have time to explore, and add your own thoughts below…

Four Perspectives on Delivering ‘Return on Experience’

Metro Toronto. NET Users Group
Meeting, 16 sept, 6PM, Bloor East, Toronto (click)

I’m looking forward to the conversation at this Metro Toronto .NET Users Group meeting:

Four Perspectives on Delivering
‘Return on Experience’

We’ve heard a lot recently, from Microsoft and others, about the importance of user experience (UX) and delivering ‘return on experience’ to clients. Tools like Sketchflow for prototyping, Expression Blend for visual design, and frameworks like Silverlight and WPF, are designed to change the way we deliver software projects that incorporate rich and intuitive user experiences.

The reality, of course, is that there are many stakeholders with different perspectives on this process. This evening, let’s talk about how things really work during project delivery “in the wild.”

We’ll discuss the process of enhancing user experience from four perspectives: a designer, a developer team lead, a client, and an account manager.  (not personas, but thoughts from real people who have performed or are performing these roles).   Their perspectives will begin a conversation about the tools and processes, challenges and rewards of delivering ‘return on experience.’

(September 16th, Manulife at 200 Bloor East, Toronto, 6:00PM)

[Update, 17 Sept – I really enjoyed last night – and a huge thanks to all 4 members of the panel (Susan Greenfield, Ernie Taylor, Daniel Cox, Bill Baldasti) and everyone who came out. I will post slides and follow-up either later today or early tomorrow!]