# Sunday, March 16, 2008

silverlightwarning Regular readers of this blog will know that my background is primarily in the Microsoft development world, with the odd foray into Java (and more recently, experiments with Ruby and Processing). So when Microsoft announces some new tool or framework, I'll pay attention and see what's up.

Right now, there's a good deal of hype and excitement around Silverlight... which sounds great to me in theory, but in practice has been largely a disappointment.

And I saw that as a user, not a developer. I can't even think about using it for development at this point because, frankly... it simply doesn't run for me as a casual web user.

Rich Ziade nails some of the issues in his post from Friday, called "Microsoft-Centered Design":

So I'm perusing the various blog posts that have streamed out of the MIX 08 conference and some interesting talks are available online. So I head on over to the MIX 08 site to view some sessions and I run into this:  [image of the "You need Silverlight" placeholder] ..  Yep, I need to download Real Player, I mean Silverlight to watch these videos. Silverlight, for the less enlightened, is Microsoft's foray into streaming video, rich media and rich apps on the Web (aka Microsoft's Flash).

I agree with Rich's premise that Silverlight apps (or at least the demos we've seen so far) don't really provide much reason to use it over Flash -- a time-tested, well-supported platform for rich web apps.

But I find the problem with Silverlight to go even deeper:  For me, it simply doesn't work.

I use Firefox as my browser... and despite lots of examples and statements about Silverlight being not only cross-browser, but also cross-platform, I can't get it to run in Firefox. On any machine I've tried. To date, that's five machines. All of them are running similar setups:

  • The most recent production version of Firefox (currently 2.0.0.12), with extensions:
  • del.icio.us Bookmarks (for quick access to my bookmarks)
  • Firebug (for debugging and development)
  • Flashblock  (to block Flash content from loading until/unless I want to see it)
  • Google Toolbar  (because... well... because it's the Google toolbar)
  • Remember the Milk for Gmail   (because seeing my tasks right next to email rocks)
  • Tab Mix Plus  (because I want to choose how/when/where new tabs are opened in Firefox)
  • IE Tab (see below)

Note that what I'm NOT running is the NoScript extension, which reportedly causes problems for Silverlight in Firefox.

I can't tell you how many times on these machines I've gone to download the various versions of Silverlight and see if maybe... just maybe... THIS TIME will be different. So far, no joy.

silverlightsave The issue isn't made any easier by the various versions floating around... Silverlight 1.0, Silverlight 1.1 Alpha, some sort of refresh/CTP version for 1.1, and now Silverlight 2.0 as of Mix08. This thing's been around for just a year now and there are already more SKUs of Silverlight than there are of Windows XP.

Of course, things do appear to work fine in IE7. But I don't want to run IE7 as my browser. I've got Firefox and its extensions tweaked to be exactly the way I like it.

The only way I'm able to get Silverlight content to run inside of a Firefox window currently is via the "IE Tab" extension -- which loads the IE rendering engine inside of a Firefox tab. In doing that, though, I lose the integration with the rest of Firefox. And it's only cosmetically different from having two browsers open to begin with. I don't want that.

I would like this to work. I really would. So far, it seems that the newer Silverlight 2.0 will run inside of Firefox -- however, the vast majority of the Silverlight content out there (which, as Rich points out, could be provided in Flash without losing any functionality) is NOT targeting Silverlight 2.0. It seems to mostly be in 1.0 or 1.1.

So until Microsoft gets this working correctly in Firefox, I find myself having to make a decision every time I come across that drives-me-up-a-wall "Get Microsoft Silverlight" badge -- do I really care enough about this content to deal with the frustration and go outside my normal workflow to view it?

More often than not, the answer is "no," which is a shame because there are some interesting videos out there in Silverlight format (the screenshot above is from Jon Udell's Perspectives video audio interview on MS Robotics).

As a developer, the notion of using XAML to build applications that can be run via Silverlight as well as via a WPF rich client sounds really cool. But how can I get excited about a new developer platform that's completely broken for me as a user?

Update: In the comments, Jon Udell clarified that the Perspectives link above is audio and not video and I've since downloaded the MP3 version. The "Get Silverlight" badge made it look like a video to me and seeing that badge repeatedly without being able to get it working in Firefox prompted the post. Thanks, Jon!


posted on Sunday, March 16, 2008 9:54 PM Mountain Daylight Time  #    Comments [2]
# Sunday, March 02, 2008

The other day, I posted some thoughts on why I think data visualization has recently become more popular. Among the reasons I mentioned was the fact that visualizations have become more familiar and accessible. Along the way, lots of creative people have begun to create visualizations for things that aren't typically displayed in charts, maps, or other graphical representations.

Things like song lyrics. Or video games. Or the minutiae of their lives. Seriously.

Let's start with song lyrics... over the last few weeks, lots of people have begun to upload charts that represent the lyrics from popular music. I caught wind of it via some blogs posts a while back and have cracked up at some of the charts people are creating. As always, a picture is worth a thousand words (or a hit song).

Extreme Lack of Sunshine

Venn Diagram - Police The chart above (from Flickr user Nusm) is a graphic representation of Bill Withers' song, "Ain't No Sunshine". The one to the right (from user jrgkgb1) is from "Every Little Thing She Does is Magic" by the Police.

There is a Flickr Photo Pool called "Song Chart" where some very creative people have been adding more and more examples. Some of them are obscure songs that I don't recognize, while others are from popular music and instantly recognizable.

The pool appears to have been started by Flickr user "boyshapedbox", who is himself responsible for dozens of great examples. The first one I came across, was a Venn diagram of "Sweet Dreams" by the Eurythmics. Instantly familiar.

Hold Your Head UpOne awesome response to the "Sweet Dreams" diagram came from commenter "elizaday418":

"well. who am i to disagree?"

If you're familiar with the song, that's hilarious. If you're not... trust me, it's still hilarious.

As you might guess, the goal with most of these is not necessarily to create "academically correct" data representations. The goal is simply to entertain, which I think is an important part of raising an awareness and understanding of modern data visualization.

Most readers and consumers of information are familiar with basic chart types -- lines, bars, and pies. What people are not always aware of are which types of charts and diagrams are best for what they want to communicate. Newer, less traditional charts are also starting to be increasingly used - such as the treemaps used in utility programs and this timeline-based area chart used last week in the New York Times to show box office receipts over time. As the art and science of visualization advances, expressing humor in visual form is a great way to maintain interest among readers.

Charting Attraction Graphic designer Joel Friesen created a slideshow of charts and diagrams as a way to express why a woman should date him. Pie charts are used to express the number of people who think he's nice versus the number that think otherwise. A line chart is used to represent the levels of his wit, sexiness, and charm over the years. Potential dates will be glad to see that the "number of puppies kicked" chart remains a flat line at zero. Unfortunately for Joel, the woman he created the charts for left ultimately left him. And stole his rice cooker. Thankfully, he had an awesome set of charts he could turn into a humorous "letter to shareholders  for Joel, Inc." (included at the above URL).

Projects such as “online dating” have opened up entire fields that were, up till now, totally ignored. I have increased personal appearances in dating activities such as “the pub”. Meeting one on one with potential clients has increased the likelihood of acquiring dates.

Similarly, Craig Robinson has created a series of pie charts to serve as an "audit of my life so far." Some of them are hilarious, such as "% of life living with a beard" or "% of neighbors I've been friends with", while others are more somber, such as "% of life that my father was alive". The top of the presentation features small photos of Craig, taken throughout his life at 4-5 year intervals.

Yak Milk Tea - A Must-Avoid Nicholas Felton has created a "personal annual report" for the last three years (see 2005, 2006, and 2007). These incorporate more than just pie charts, though and, in addition to being humorous visualizations of data, they're also wonderful pieces of art. Given the detailed tracking in the content, they also leave me wondering how Nicholas manages to log some of this information throughout the year. His reports have included number of flights taken (including their relationship to distance to the moon), average temperatures throughout the year, house plants killed, museums visited, date of discovery for first gray hair, quantities of taxi and subway trips, and restaurant visits by food type. Awesome.

One other talented designer to point out is Jessica Hagy, who creates small charts and diagrams at her "indexed" blog -- each entry is simply an index card with a humorous visualization. How she manages to put one or two of these up each day and keep them so fresh and entertaining is beyond me. A collection of her work is now available in book form. For example:

indexed

Some other miscellaneous examples:

pacmanchart

Ok readers (both of you)... which ones have I missed? Make me laugh.

 

Technorati Tags: , , , ,
posted on Sunday, March 02, 2008 6:04 PM Mountain Standard Time  #    Comments [0]
# Saturday, March 01, 2008

ilvdata Data Visualization (or "Infoporn" as I like to call it) has been a passion of mine for many years. Most of my career as both a developer and manager has been in the development of software that visualizes large sets of data. For the most part, my work has been around energy industry data but I'm often up late into the night tinkering with data sets I find online.

Over the last couple of years, the visualization of data has taken off and become much more popular than in the past. What used to be the exclusive domain of formal textbooks and students in specialized design programs has become accessible to a wider audience. As I think about it, I suspect the reason for this growth in popularity is the convergence of several factors:

  • There is a TON of public data available online. Over the years, I've collected a variety interesting large public data sets, such as AOL search data, Enron email messages, and Netflix movie ratings. Peruse the "publicdata" tag on del.icio.us and you'll find more data than you can shake a chart at. In addition, the popularity of web services and public APIs for data has exploded in the last couple of years. These are ideal for fetching current, dynamic data including weather, stock prices, and other financial data. There are also web sites that catalog the wide variety of web service APIs available online. The popularity of online "mashups" (the combining of two or more web services to create something completely new) has grown very quickly, particularly with the arrival of online mapping services like Google Maps and Virtual Earth. These days, popular web sites that don't provide an API for programmatic access quickly catch heat for their omission.
  • Data has become "social" -- though in a "Web 2.0" world, what hasn't? Seriously, there have been some great "social data" sites cropping up over the last couple of years. These sites let anyone upload, visualize, browse, and share their data. Don't like the way some data on these sites is represented? Chart it yourself. The hallmark examples here are Swivel (blog) and Many Eyes (from IBM, also with a blog), though there are other similar sites as well.
  • Visualization tools have become more commonplace. In addition to Microsoft improving the charting tools in each new version of Excel, nearly every programming language out there has 3rd party graphics and charting libraries available for it. For many developers, adding basic charting capability to an application has become a fairly simple, plug-and-play affair. That said, it's still too easy to create charts that are ugly and do a poor job of communicating information. In the same way that the rise of desktop publishing tools in the 80's and 90's made for a lot of horrible newsletters and brochures, the increasing number of charting and visualization tools means we're seeing a lot of really bad data presentations. Go ask Edward Tufte (a "founding father" for modern data visualization) about PowerPoint or Stephen Few about BusinessObjects to see what I mean (Few refers to the charts from one Business Objects product as "data visualization Happy Meals" -- not a compliment). Still... it's an exciting time right now for this field.
  • Development tools have improved greatly in their handling of data. Most development platforms/environments have some sort of abstraction layer or available data-access tools to easy the querying and manipulation of data. For dealing with local data, it's rare to have to write new code from scratch to ingest and parse data -- most tools have libraries for standard formats like XML or CSV, as well as straightforward APIs for working with relational databases. For remote data, there are lots of tools that quickly generate a local proxy or wrapper around standard web services.
  • The development tools for creating and manipulating graphics have similarly improved. Writing code to create on-screen graphics used to be something that an elite few programmers could do -- it typically required very strong C++ skills, in-depth knowledge of complex graphics libraries, and a background in physics and 3D modeling. Now, most modern platforms have relatively approachable APIs for drawing points, lines, regions, and text on screen - as well as simplified APIs for 3D manipulation.
  • visualizingdata Also on the graphics front, there's Processing - a development environment designed and developed specifically for visualization. It's built on top of Java, but its creators (Ben Fry and Casey Reas) and collaborators have done a great job of balancing approachability (for designers or those new to programming) and power (for those who want to create advanced, interactive visualizations). If you're interested in checking out Processing (which is free and open source and a lot of fun and so you totally should), I'd recommend Fry's book, "Visualizing Data" (published last year by O'Reilly)... Jeff Atwood calls Fry "Edward Tufte armed with a compiler" and I've found the book to be an excellent walkthrough for Processing. Additionally, it's good introduction to the thought process involved with creating an effective visualization.
  • Computing power and storage are cheap and plentiful. It takes a lot of processor cycles to render graphics and a lot of storage space to keep all that data. Thankfully, even a "low-end" machine these days has a ridiculous amount of processing power and 250GB hard drives are a common starting point for hard drive sizes. I recently purchased a 750GB drive for my Windows Home Server machine and its cost was roughly $.20 per gigabyte. While marveling about that the other day, it occurred to me that my very first hard drive (a 10MB noisy beast given to me in the late 80s by a generous uncle) would be insufficient to hold even ONE raw photo from my new camera (a 12-megapixel Nikon D300). Insane. Thank you Mr. Moore and Mr. Kryder.

Given all of the above, it's a great time to be a data geek. Even if you're not interested in designing visualizations of your own, there are lots of blogs and sites that catalog the best infoporn from across the web. It's amazing to see so many projects coming out that are both informative and aesthetically pleasing. The thumbnail below is an example from this week - it's essentially an interactive "area chart over a timeline" showing the Box Office Receipts for movies from 1986 to 2007, designed and built by the New York Times data visualization team (they've been doing some amazing stuff recently).

NY Times Infographic In addition to checking out my del.icio.us "infoporn" links, you might want to look over some of the feeds I've subscribed to:

In coming posts, I'll link to some of examples of visualizations that I find to be the most impressive, informative, and even humorous.

posted on Saturday, March 01, 2008 12:35 AM Mountain Standard Time  #    Comments [0]