Microsoft Silverlight & Expression

Silverlight RIP : allegorical thoughts from 2004 strategy presentation

With the announcements this week at Microsoft’s Build event (which I only fleetingly caught news of via twitter reposts), and the apparent complete end/unwind of Silverlight… i was nostalgic for my time working on it and associated initiatives at micrsoft for 6 years; i had a recollection of having written a email to friends talking about the profound experience of presenting on the strategy to the sr. leadership, and thanks to google mail search, was able to uncover the email and thought i would share it here. To the 1000 or so fellow employees and additional 10s of thousands of customers that worked on the initiative, it was fun while it lasted… here’s my thoughts from late 2004:

Hi. It’s 4ish on a Friday afternoon. The weather is foggy, but mild in temperature. I’m parked in my car, sitting in the passenger side front seat, typing on my laptop. Out the front window I have an expansive view of Greenlake, which directly in front of our house (although I’m parked down the block by the aquatic center). The reflection on the glass flat surface of the lake creates a beautiful image of gray hues that blend sky and lake into one smeared image that evokes my idea of what having poor eyesight must be like—everything is somewhat blurry, yet the impression is clear, just as in a water lily painting from the French school.

I pulled over while on my way home so that I could type these thoughts to you. I had two very important revelations today that I wanted to share, on this, the eve of the end of the year. This has been a very big year for our family—the move to seattle, the new job for me, the changes for cristina as she explores her role as mother and possible return to work in the coming year, the boys growing and changing each and everyday…. Today was my last work day at the office for the year as we will be taking the next two weeks off to visit family in california. As many of you know, today I had a big meeting with the senior folks at work, to review the strategy around the products that I have been working on; the preparations for the meeting involved several weeks of non-stop meetings and preparations amongst a core team of about 10 folks in my general organization; for the big event today, three of us were included in the meeting, where 60 slides, comprised of all of our best thinking and multiple iterations of analysis and investigation, were condensed down into 5 slides (and the fourth slide had only 20 words on it, so really it was 4 slides). For those of you that don’t know, “slides” is late 20th century parlance for a Powerpoint unit; powepoint is the corporate software tool used by everyone to make presentations… I suppose the word slide refers to some distant long lost process of creating images on transparency paper which could then by light projected onto a screen (way before my time!)? So, needless to say the meeting was quite interesting… actually for me, it turned out to be very very interesting, in a totally unexpected way! But, before I get to that thought (one of two I want to share), I want to tell you about something else first:

On my way home, immediately after having left the big meeting, while trying to grapple with the strange feelings of bewilderment and awe still swirling through my system from the events experienced on the top floor of the biggest building, I was listening to Caetano Veloso on the CD player. The song playing is probably called “Maria Brethania”, although I can’t be sure and can’t find the cd case to confirm. Caetano is singing about his sister (of the title), who is an equally famous Brazilian singer. I’ve been reading a biography of Caetano Veloso that my Aunt/Uncle Howard & Elaine gave me over the summer, and in its pages I’ve been learning about the relationship between caetano & maria. How curious that two very close in age siblings would both emerge, with their own completely unique styles and poetic voices, as among the most important musical artists of Brazil? In this song Caetano sings beautifully in English, about a desire that Maria would “write him a letter to tell him some things”; but “she has given her soul to the devil, who has given it to god, but she has bought a flat by the sea”. I was puzzled by these words, and was meditating on their possible meaning. Are they estranged, and he is reaching out to her to reconnect, through song? Is he speaking of his love and admiration for her, and what an inspiration she has been to his artistic voice? (she had commercial success before he early in their careers, in spite of being the younger sibling). Fascinating stuff… at least to me! Caetano is such a beautiful person, I recently saw him in Paris performing at the Chatellete theater in center of town—he sang interpretations of English songs that he admires, in English, such as Michael Jackson’s “Billy Jean”, and Nirvanas “Team Spirit”… not exactly the material you expect from the “bob dylan of brazil”, but it really showed me the depth of his artistic capability—the man is truly a gorgeous ball of conglomerated high density beauty! Cristina and I (and Joaquin & Lisa) saw his sister Maria perform in Rio de Janeiro a few years back… wasn’t the best show, we arrived 20 minutes before the end after getting lost several times on the way there… so I can’t say too much about my awe for her; but Caetano absolutely worships her and in his book speaks of her constantly as a parallel spirit in his life, a mirror that constantly reveals to him his own essence.

So I wanted to tell you this—Caetano is beautiful. His music is beautiful. Listening to his music makes me very happy. Through his lyrics just now in the car I had an entire introspective moment, drowning in the thoughts of the relationships, the literal and emotional significance layered in the song to his sister. These thoughts, this joy, while in bumper to bumper traffic on the evil bridge known to us Seattleites as “the floating bridge” or “520” (may she be dammed, it takes me 60 minutes to travel 4 miles each day over her treacherous surface). And I was wondering… does the“escape” offered by this song, which is “taking me away” from the traffic jam… is it really an escape? Or is it more of an “entrance”… something that is taking back to the real, to the fundamental, to the shared experience of human existence? At this moment it seems to me the later. And this brings us to my second thought of the moment:

The Big Meeting. Wow. It happened in a flash, took only 25 minutes, but in some ways felt like 2 hours, like it was in slow motion… like everything that was said had been scripted meticulously and was super loaded with double and triple meaning. As I said earlier, we prepared for 100s of hours, we wrote 100s of slides, and we condensed everything, every ounce of it, into a reduction of crytalized thought made up of a few 100 words on just 5 slides. For you to understand what I experienced, I have to tell you about a movie I watched the week before when Tata was visiting—Elizabeth (1999). I think you’ve all seen it; 1500s, England, Elizabeth is queen, but there is treachery and intrigue all around her as the protestant/catholic contingencies vie for power, she considers marriage to various suitors including the Duke of ‘Orange (“voila, I am oh-ranje…”) and the King of Spain… anyways, if you haven’t seen it rent it, very good. There are numerous scenes at the palace where the queen is surrounded by dozens of hanger-ons… her maidens, her advisors, the lords, etc. etc. She gets conflicting advice constantly, is not sure whom to trust, and in the end learns that she must become a “virgin” and trust only herself, goes on to be a damn good monarch and leaves England rich and supreme ruler of the world by the time of her death 40 years later. Picture the court, full of various senior advisors at all time of day; the handlers, the guards, the food preparers, the jesters, the generals, the suitors, the lawyers from parliament, the bishops from the churches, etc. etc. Rooms meant to hold 20 people comfortably, stuffed to the brim with randoms jockeying for position and favor. Ok, with that image in mind, you are now with me as I enter the room for the meeting. I’m on the top floor of the castle.. I’ve made it past burley looking guards (plain-clothed, but clearly members of the elite secret society that protects the emperor at all times… always watching, anyone who comes near him), and I enter into “the room” (I’ve been invoked via email from the lieutenants, “come in now”). At the war room table, the wise old men—the lords and earls who have divided the empire and constantly fight amongst themselves for position. Around the central arena, the second tier gathers in clusters, looking for lines of sight to the center of the discussion… the King & Queen. I take my seat in a back row, about 10 feet from the royals. My lord reads through our slides. The royals ask some questions; some of the questions are directly relevant and show a shrewd ability to cut immediately to the critical issues, a legendary and evidently true (as witnessed by myself) power, evidence of the divine relationship of the royals to god himself. There are other distractions, about what’s on the menu for dinner for example, or how the peasants are doing in a certain district… not really relevant, but for some reason of interest to the king on this particular day. Might the king know something that others in the room do not about those particular peasants? When I hear mention of a certain vassal, I smile knowing I have gained important strategic favor with an ally in the room, for it is I who suggested that certain vassal should be mentioned in light of a certain strategic anecdote—I’ve curried favor! I introspect—might every single thing said in this meeting have similar political/relational relevance… is the entire discourse just a series of very tightly networked impulses? The events continues to unfold, the results are very favorable. Prior to the meeting my team and I gathered a list of 3 key issues that might become sinkholes during the discussion… turns out none of the three, nor any others, are raised. We are finished early, with only one suggestion for additional thought regarding whether or not our plan of action might not actually destroy the state of Monrovia. Says the king, “what about Monrovia… might it be better to ask Monrovia for help in raising an army, as opposed to destroying Monrovia and taking its women and children?” There is silence in the room… glances are exchanged, knowingly, amongst those who covet Monrovian brides… ahh, we shall have them, indeed…

I’m in the parking lot. Dazed. What has happened? Why this feeling of confusion. I listen to Caetano, I have my introspection on music and traffic… and then, I understand. The big meeting makes sense to me, I know why I feel like I do.

Very few people know about my deep spiritual convictions… turns out, I am quite spiritual (at least I consider myself so). A principle tenet of my faith goes something like this: the human experience, normalized across small variations in color and intensity, is essentially universal. I believe that whether you live today and are rich, or whether you lived in 500 BC and were poor… you essentially are watching the same movie. Happiness, pleasure, fear, pain, angst, loss, acceptance, and ultimately death… these are and other such words describe the essence of what we all experience in life. But life is better today than it was 100 years ago, some might say? Women are better off! People live longer! There is less war and disease, more justice, better quality of life!! Well, in my opinion these are misguided and poorly-informed assertions. When history is taken into account in full spectrum, these variations blend into the background, much as greenlake and the horizon blend together in the misty watercolor before. Just within my short lifetime we’ve seen the oscillations that can occur in areas such as civil rights, sexual moirés, religious influence in civil life, disease, racism, and dozens of other indicators of what we think defines the human condition. When you average these out, across hundreds or thousands of years, the resulting value is a constant! I’ve had a few personal experiences that have re-enforced for me this constant. Seeing my children born, especially cristina’s birth of Caetano, out of hospital in a completely raw/natural form. The death of my beloved friend Goodwin, and the ensuing feelings of loss. Watching the sunrise over the dunes of morocco, the intense contrast of colors provoking a natural high that I still remember. The pure bliss of looking at the stars and feeling directly connected to the entire material universe, from the vantage point of the back of an open top truck, at 10k feet of elevation in the andes mountains, after having literally walked across a deserted border crossing from Bolivia into Chile..

Being in the present of the king today connected me to the times of Queen Elizabeth; to the experience of being in the presence of the most powerful, wealthiest person on the planet, in the company of her entourage and advisors, and witnessing the curious machinations of men. Politics, power, influence, favor… these were all peddled, on a grand stage unlike none other I have personally experienced, but not in the least unlike the scene that has been played out across human existence, in front of Caesars and Pharaohs, Monarchs and Presidents, and yes, the most powerful corporate business leaders and Popes (did I mention how much I dislike organized religion?). Today I was touched by one of those special threads that hold the ball of wax together…that connect the dots.

So, I wanted to tell you this. Today I enjoyed the moment, I saw meaning in the world, and I witnessed the interconnectedness of the human experience. I spent some time with God.

For those that want the less allegorical account, I’m happy to recount offline.

Microsoft Silverlight & Expression

China’s #1 Web company announces Silverlight plans

Tencent Corporation announced plans to use Silverlight for a series of services and media experiences on their portal and in their client apps.  Tencent is an amazing company, largely unheard of outside of China, but arguably the most potent brand here in China, in the form of "QQ", which is what they call their instant messaging application and a series of related social applications for blogging, media, shopping, etc.  The QQ brand touches over 300m unique users, more people than in all of the United States.  It’s been incredibly exciting for our team to be working with the Tencent team because of the scope of what’s possible for Silverlight in terms of transforming the UX of so many applications types. 

In the demo that they showed publicly this week, along with their announcement of choosing Silverlight for a series of apps coming in the months ahead, they showed Silverlight integrated with their IM client, within their blog app (for embedable media playback controls, screen shot below), with desktop and browser portal home page "friend notification widgets", and with Silverlight 2’s DeepZoom feature applied to e-commerce shopping experience within their Paipai property.

Video of the demo they showed is up on their labs site,, with beta/live Silverlight apps expected this spring/summer.

Microsoft Silverlight & Expression

China’s #1 Portal bringing Silverlight Music Experience

When it rains… Sina, another of China’s heavyweight web properties (they are the #1 portal, specializing in news and blogs), announced Silverlight plans and showed a kick ass music search/playback/browsing experience that took inspiration from the "deepzoom" catalog concept seen elsewhere (such as HardRock site) but took it to the next level with awesome interactions, dynamic results that come in from general web search, and integrated media playback.  What was particularly interesting was how quickly they build the app, with their product unit manager claiming that once the visual designs were done, they build the working prototype (with real web service integration) over the weekend!  Extra points for integrating his powerpoint slides into the app itself, as a series of DeepZoom objects in the collection–got a big laugh/"ahh" from the audience at the press event.

Can’t wait to see the app live, expected within a month.  Here’s a video recording of the demo, without audio unfortunately (lots of Chinese pop music playing!)

Microsoft Silverlight & Expression

Yahoo! Japan Silverlight Demo

Yahoo! Japan (Japan’s #1 website by unique users and brand impact) demoed a killer UX concept today using Silverlight, a visualization front end for search and tail content that otherwise is hard to navigate/discover across their massive content repository.  Very creative UI concepts, and great integration of some of Silverlight 2’s killer features such as DeepZoom and high def videos.  A video of the demo is posted online: 

Microsoft Silverlight & Expression

VOD in Japan with “Gyao Station”

Continuing the theme of Silverlight wins in the region, the Gyao (Japan’s leading VOD portal, owned by USEN, a large film distributor in market) application that went up in February is a nifty mini-portal that culls media options available for playback into a subject/gallery with nice UX.  The app is data driven so Gyao has been very happy using it to program content from their "tail", "new arrival", or "promotion" inventory.  This app is only really viewable/consumable to its fullest when you are within Japan IP address, given the content protection/rights issues associated with a VOD app like this.

Microsoft Silverlight & Expression

Silverlight in Asia

Well life and work sure do take up a lot of time, but if there ever was a reason to make time for this work related blog effort, that time must be now!  The parade of amazing Silverlight applications coming online here in Asia is really heating up.  I want to give a shout out first to my favorite Silverlight 1.0 application anywhere in the world, Korea’s mNet music video gallery/mashup.  What’s so great about this particular app is that it has a database of over 1m music videos/clips from mNet’s long running inventory of Windows Media format media assets–great example of how companies with installed base of content can put that online in a richer interface using Silverlight, without any recompressing/transcoding of media.  The UX of this app itself is super slick–great search/sifting with paged results, drag and drop a clip onto the main window for a PIP (picture in picture) playback effect with great performance, including full screen, overlay ads are inserted in periodically.  Do a search for "rain", who is the hot as hell Korean pop star king, crossing over to China/Japan and even the USA (i heard there was an elaborate bit about him on the Colbare Report?) (yes, the landing page uses a different technology, but once you get into the player (below) you are in Silverlight nirvana…

Microsoft Silverlight & Expression

Surface… Minority Report type UX, today…

Wow, i can’t believe it has been over a month since I chimed in to this blog.  I had imagined the post vegas/Mix07 timeframe to be a really prolific one in terms of blogging, as there is so much joy/information to share given our announcements re: Silverlight, Expression, etc. et. all.  My excuses for my silence include, let’s see, (a) being completely wiped out emotionally and physically from the strain of the launch activities, (b) being completely wiped out emotionally and physically from the strain of the launch activities, and (c) oh yeah, as if that wasn’t enough, my whole family and I got chicken pox–guess when my mother said "i don’t remember" when I asked her if i had had it as a kid…

Alas, now feeling recovered physically and emotionally, high time to share some of the good vibes on Silverlight and Expression.  Anecdotes from the pac-nor-west  (pacific northwest, as we Seattle residents refer to the general area of the USA where we live) are well past due… Silverlight 1.0 beta and 1.1 alpha downloads and community feedback have been incredible.  The Silverlight community site and the Mix site have the current demo/sample repository, which we’ll be expanding dramatically in volume over the coming months… Expression shipping… after 3 years of installing weekly builds of these products (during the development of tools like these, there’s usually a new build every day, but the install/uninstall process is lengthy so on average I would upgrade to a newer version once a week)–it’s almost surreal to just be able to Start – Expression – and pick from Design/Blend/Web/Media.

But the thing that ironically i’m most excited to be able to talk about now is actually the recently announced Microsoft Surface!  Surface has been my secret inspiration for the past 2 years, ever since I first saw and played with the demo, i’ve been telling friends and colleagues in the UX space that "we are working on some really incredible/sci-fi like stuff" and it has been frustrating to not be able to show/talk about it.  You see, my stump-speech pitch about "the business opportunity of user experience" is predicated on the "transformational" possibilities that come into play when designers and developers can work together to build rich, compelling, highly usable, habit transforming applications that change the way we approach computing/tasks.  To illustrate just how far UX might go, i always allude to the "Minority Report" concepts that were seen in the Steven Spielberg film… super rich visualizations, very gesture based/tactile interfaces, highly integrated environments that appear logically on walls/tables/cereal-boxes/etc–in effect "surfaces" become the user interface to all kinds of experiences, from highly targeted ads, to media consumption, and all manner of work related apps.

Well, Microsoft Surface is built using the platform and tools that I market, namely, the Windows Presentation Foundation is the underpinnings of the entire UI–providing rich media, 3d, animation, and hardware based rendering for highly interactive/immersive experiences.  In this regard, the Surface is the best example of what is possible from a "future UX" conceptual perspective… and now that the project is public we’ll be able to use/demo the Surface and some of its applications as "reach" inspiration for what Designers and Developers can strive for with Expression/Visual Studio and the .NET Framework.

I’ll get some photos/video together to show what I mean… check out the videos on the Surface website as a starting point…

Microsoft Silverlight & Expression

Silverlight is a better name than “WPF/E”?

I’m in vegas!, and together with some colleagues I had the incredible experience of seeing Prince perform last night at the Rio Casino’s 3121 club.  Prince has definitely still got "it"–incredible presence, virtuouso guitar, and time perfected master showman skills that make everyone have a great time when he is in da house.  As I was contemplating at the end of the show, gazing at the spinning "symbol" that he famously changed his name to, I was reminded of my excitement at our "WPF/E"’s technology’s soon to be new identity.

Yes, the "technology formerly known as" WPF/E can now be known as Microsoft Silverlight

Ok, so the heckling can end (which was well deserved for the WPFE loveliness), as Silverlight is a great brand for this technology–it suggests the attributes of better, richer, more compelling, more productive and satisfying web experiences.  We had a lot of fun testing the name (and the runner ups, none of which were called "Microsoft Media Player", by the way…) and hearing from end user consumers, as well as designers and developers.  What struck me over and over and over again, and has for three years now since my arrival at msft, is how engaged and eager the community is to learn of Microsoft’s entry into this part of the market… it’s going to be a lot easier to have a conversation about Silverlight then it was for "wa-pu-fee" (as we often annunciated the former name).

We are going from a crappy code name to a great product name… but as with the 1980s auteur from Minnesotta, the name is not the real issue.  Silverlight will be measured by how it tranforms the experiences of consumers and businesses in the years ahead, and by the creative and technical capabilities that it puts in the hands of designers and developers.

I’ll be blogging a lot more about Silverlight, this week about Silverlight and it’s very cool features for cost-effective, high quality deliver of media… and in the weeks ahead leading up to our Mix event April 30th and beyond about the broader development story, tooling, and more

Microsoft Silverlight & Expression

My head is going to explode, and my toes hurt!

First my toes–I ran the LA marathon this last weekend.  It was an absolutely amazing, horrible, and wonderous experience all at once.  I have never run a marathon, but have come close to several times in the past–done the training, gotten into shape, but then fallen ill at the last minute and missing the race.  This time I made the race, was fit and charged, but boy did the experience work out very very differently than I expected.  One word — HEAT.  I’ve been training in my hometown of Seattle, where the temperature in the winter is in the low 40s, high hummidity, and overcast pretty much every day.  In January and February I did 6 x 18+ mile runs on the weekends, and while I always hit the "wall" (dark place emotionally, where you start to really go to a negative world where all you want to do is stop running and lay down to die), it was consistently in the 18-21 mile corridor, expected and very much a part of the marathon running lore.

Alas, Sunday race day in LA, i get to mile 14, just past the half-way-mark, and low and behold I’m  starring at a wall unlike any i had ever seen in training–one brought on by severe heat on the course, a balmy 80 degrees in the midst of the concrete jungle that is downtown Los Angeles.  Thus began 2+ hours of absolute shear hell… which culminated in finishing the race in a state of euphroria, with a tremendous sense of accomplishment, and now, a few days later, i’m already starting to get excited about running another marathon–perhaps New York City or Paris, just as soon as my frickin toes stop throbbing! 

Which brings me to my head… which is feeling like it is ready to explode.  At work we are running a different marathon of sorts.  You see, I’ve been at msft for 3 years now, and the course I’ve been on is rapidly approaching a finish line.  The amazing platform and tools that I’ve been working on–WPF, "WPF/E", Expression Studio, various features of Visual Studio related to WPF+/E, are all rapidly approaching the proverbial product finish line.  At this years Mix event, in Las Vegas April 30th, we will be delivering a hole helluva lot of product and news about our platform vision in the area of UX (user experience)… only problem is that we’re at "mile 21" and instead of my toes hurting, my HEAD HURTS from the crazy amount of work we are trying to get done.  My colleagues on the product management and I are already working the insane hours that usually come in the 1-2 weeks before a big event–but we have 7 weeks to go!  That’s the bad news.

Alas, the good news: the finish line is in site.  Mix, Las Vegas, April 30… just 7 weeks to go 🙂

Microsoft Silverlight & Expression

Behind the Scenes Part 3- The Studio

So what exactly goes into the thinking behind a creative suite of tools?  While the “office” suite of products is a well understood concept, there is less of a track record in creating conglomerations of tools for designers that really make sense.  Within many creative disciplines there is a tremendous focus on specific skillsets or mediums.  As a video editor myself back in the mid nineties, I had a need for motion graphics and titling software, but not sound sweetening.  Colleagues of mine who focus on “web design” may or may not have a need for a interactive tool like Flash, as they may focus on standards based site designs with PHP/ASP.NET and raw HTML/CSS on the client.  For that matter, to be honest, as a Office user myself, I increasingly find myself just using Powerpoint and Outlook…  Word and Excel are much more specialized than anything I need on a regular basis.  When we were putting together our plans for Expression Studio, we had many conversations about whether we were building individual products to solve the specific needs of a web or Windows medium, or, a solution/suite that would really be the primary solution for a discipline of design that was much less focused on technology, and much more focused on craft (hmm, in speaking of it in such terms I think I’m glorifying our approach before I’ve explained our decision—oh well).

With Expression Blend and Web we have (effectively) two WYSIWIG tools (Web is a “standards” XHTML tool, Blend a “XAML designer”).  In some ways these two pieces of the studio might thus stand on their own, as the desire to build a XAML interface vs. a XHTML site are today somewhat silo-ed entities.  But if you look at some of the killer “Windows” and “Web” apps that are emerging, particularly in the last year, it is clear that the dividing line between a web/windows app is an increasingly meaningless distinction.  The best Windows apps today incorporate the power of the network and “cloud”, while taking full advantage of the desktop hardware, local storage, connectivity to hardware devices, and a variety of presentation contexts (such as the living room, desktop, or notebook on the road) for optimal end user experience. Similarly, the best “Web” apps today increasingly offer richer, less-latent, more productive experiences—hereto not expected in a “browser”.  Microsoft’s many platform investments, in web and media servers, client and server scripting, and SDKs/APIs for both Windows and ubiquitous browser based runtimes, likewise break down the traditional notion of web vs Windows.  

For Expression Studio v1 we will deliver Blend, Web, Design, and Media—four products with varying degrees of direct integration.  Design and Blend are particularly well integrated, sharing a common UI, and a coupled XAML workflow that really focuses on the staged process of taking “visual design” elements and applying them to interactive interface elements/controls/layout.  Web sits a little astride for now, with a focus on XHTML and ASP.NET website development, while Media is a pure workflow play, offering a kick-ass asset management solution (note: I’ve been a fan of iView Media Pro, the product we acquired in June 2006 explicitly to bring into the Expression Studio; I first started using MediaPro back in 2000, and today have over 30,000 images/files in my catalogs that I keep track of using the tool).  As the “WPF/E” technology comes to market, the natural need for XAML markup will extend across all of the products in the family, forming a common lingua franca for describing the look and behavior of everything from a Windows application control to a interactive video website that runs perfectly on a Mac OS browser such as Safari.

Our vision is that in the same sense that other creative tool suites have focused on Desktop Publishing and Photography, or Apple’s FCP as an all things video/media… the Expression Studio will be an integrated solution of tools for crafting the best User Experiences—whether those be for Windows, the Web, or beyond…  This is very much a still emerging market segment, one that we expect will grow rapidly in the years ahead as the creative designers and developers in the space usher in a new era of rich, compelling experiences for computers, devices, and other “surfaces” (on walls and floors, among others!

Microsoft Silverlight & Expression

Behind the scenes Part 2 – UI

Ahh, what a nice winter break.  So nice in fact that I haven’t posted  the following which I wrote while skiing in Whistler (gorgeous, recommend to anyone who hasn’t been.  Great snow, nice people, and it’s oh-so close to seattle…)

What role does UI play in pro creative tools?

I first started with professional creative tools back in 1986 when I was using all the early era Mac graphics packages; Hypercard, Macromind’s VideoWorks, Pagemaker, and the first crop of digital photo tools such as Digital Darkroom.  I pulled up a screen shot of VideoWorks just now, and it’s actually shocking how little things have changed — core elements of interactive design and animation are there, as they are today–transport controls, the stage, tools for direct drawing, timeline and keyframes, and the resource library full of "actors".  There have clearly been great improvements in the usability of creative pro tools, as well evolving aesthetics in terms of the “chrome” of the interfaces… but it has really been in the much more recent years that the really interesting innovation has come, and I believe that the next 5 years will be more radical still, with amazing evolutions and advancements in UI, driven by new platforms/tools for building UI, and more importantly by a new generation of designers and advancements in the craft.

When I arrived at msft to join the Expression team one of the first things that I took up as a personal ambition for the product was to *radically* rethink the way the product looked, not to mention the way it worked (usability and workflow).  At Siggraph mid-year that first year (2004) I and many others were awed to see Apple’s new Motion product, which sported a radically new and different interface that departed from the traditional Final Cut Pro interface and Adobe After Effects look/feel/behavior.  I and others were so bowled over by the look, that it was lost on us that the tool was actually very much a v1 and not quite ready for primetime… several of my friends in production confessed to me within weeks that “yeah, it looks pretty good, but you can’t actually do anything with it yet”.  I think Apple repeated this mistake in an even bigger way with Aperture 1.0, which was so embarrassingly bad that I and other early adopters actually got a $200 store credit when they lowered the price just a few months later and rushed 1.5 to market—could there ever be a bigger mia-culpa for a 1.0 product?  The lesson to me as a marketer was two-fold: the obvious = good looking innovative UI is something that can immediately set a product apart from a crowded and iterative set of knock-offs within traditional tool segments, and more importantly, you better back up that new UI with some pretty compelling and useful capabilities… because when you fall on chrome-sex appeal you fall *hard*.  I’ve personally been very disappointed with several tools in this regard, initially with Softimage’s DS – equally amazing, if not the most amazing looking thing I’ve seen in a new 1.0 –, and more recently with Motion and Aperture—they all demoed great, but I put them away after a few hours of experimentation and haven’t gone back to them (I hear DS is now excellent, many versions later, and I’m sure Apple will keep at it and bring the motion graphics and digital photo tools to bare on Adobe’s position in those categories).  Alias’ Maya, on the other hand, nailed it all in V1—great UI innovation, with a revolutionary product; wow, what a 1.0!.  So, for Expression, specifically the Blend product (at the time code-named “sparkle”) the question was how to really pack in some gorgeous visuals and to have those drive the actual usability and customer success with the product.  I’ll let our customers tell us how we did as far as the results—but I thought I’d share how we did it from a development perspective.

Building the UI of our UI design products

Alas, for the Blend team we had one incredible rocky and complicated development challenge that I don’t think many products have faced, certainly not to this degree.  Expression Blend is a tool for designing WPF (Windows Presentation Foundation) based applications, which itself is built using WPF.  In this regard, Blend is the most existential app that I know of.. each change to WPF platform required iterative changes to the app itself, from a UI and behavioral perspective, as well as to the functional capabilities.  It would be as if Flash was actually built on the Flash player, or DVD Studio Pro was a DVD player based tool … it’s patently absurd to suggest such a thing of other tools, but in our case, they had to build using the tool/platform that was still being built.  This led to incredibly difficult development challenges, where every week we had massive breaking changes and as the WPF project iterated through different templating, styling, animation, etc. models the entire Blend app would blow up and need massive re-working.  Amidst this relative chaos, how could we really push the envelope on the interface of the tool itself?  The answer was, we couldn’t!  If you looked at Expression Blend in March of 2006, you saw a generic looking app with some massive usability problems.  I dare say, I for one, thought it was a real stinker, and several former colleagues at Macromedia took great relish in pointing that out to me politely whenever I saw them.  This wasn’t lost to anyone on the team—we just couldn’t pull back and focus on that area because there was literally too much going on at the platform level that had to be addressed first.  Fast forward less than 6 months and look at the app we put out in Beta Dec 2006 (effectively only 3-4 months of actual development work, given the testing and locking down that occurred before Beta), it’s really amazing what transpired.  Huge improvements to usability/utility, and a completely new look feel that goes beyond simple color palette changes, and includes new controls/modalities that we didn’t have at our disposal just weeks earlier.  The reason this was possible was because of the nature of WPF—and speaks to the very core promise of the platform. 

Unlike traditional applications where the way a control looks, behaves, and functions are inexorably intertwined in the code that makes up the control… with WPF these concepts are separated and therefore independently editable and just as importantly iterate-able.  A team of “visual designers’ went to work on a series of mood studies and layouts for the interface, which a separate team of interactive designers ingested and applied the concepts to the interface using XAML. In traditional software UI development the next step would be for the designs to be handed off as Photoshop files or flattened PNGs, nay maybe even just a piece of paper!, and a team of developers would begin scratching their heads thinking of how to recreate those visuals using code and user drawn controls.  Not in our case.  Manuel Clement, the Blend product’s first designer, had this demo he would do internally to other msft teams that would absolutely bowl everyone over where he’d actually use an alpha version of the software to make changes to the interface controls that made up the app itself, then he’d check in his changes, rebuild, and voila—“Sparkle Eats Sparkle as he called it.. the ultimate existentialist demo, where a Blend was used to design Blend itself.  It would be nice if we could have really built the entire UI that way—but the truth is that the rapid changes in the platform and the tools always kept the working solution just beyond our reach except for a few scenarios where we got lucky; for the majority of the work we used Expression Design to design the visuals and generate XAML code, but the actual implementation into our UI set required a lot more manual work than we would have liked.  Still—we were using XAML code from end-to-end, and the inherent power of the WPF platform to fully customize the look/behavior without impacting the functionality.  Samuel Wan, a wicked Flash designer/developer and the Program Manager that did much of the actual implementation of the UI designs created by Aaron Jasinksi (visual designer) was able to work with the XAML UI, using Blend features that were working and manually when not, to rapidly implement the designs.  The speed with which the results took shape were amazing—with daily builds in august showing incredible advances each morning at 8:30 as I eagerly arrived to see what wonders the team had accomplished in the last 24 hours.  It reminded me of my days at Industrial Light and Magic, where each morning I looked forward to “dailies” (viewings of the previous day’s work on the film shots we were cooking up)—“Blend UI Dailies” if you will.  Feedback from beta customers has been very positive, particularly from our Windows Vista ISVs who had been using the product for over a year and were delighted to see their feedback incorporated into the new build(s). 

The best part is that now that we have Expression Blend almost finished, we can increasingly use the tool itself as we design the rest of the product family’s UI and iterate on our next releases coming down the pipe.  I’ve been on numerous projects in the past where the idea of changing anything remotely as complex as what we were able to do with Blend v1 would have been an entire product cycle unto itself… the fact that we were able to ship a solid 1.0 product, with tons of usability innovations and a significant breadth of functional capabilities, plus a innovative and modern look/feel… wow, it bodes very well for software design/development in the years ahead and is harbinger of the many exciting innovations that we will be seeing very soon from the ISV community building WPF apps for Windiows.  As we bring “WPFE” to market this year we will aim to bring similar capabilities to the design-development process for rich web applications and beyond… a cornerstone of our vision for the Expression family of tools.

Microsoft Silverlight & Expression

Behind the Scenes : Part 1 – Branding

Ahh.. Microsoft Expression Studio.  Today we announced our final availability, pricing, naming, and key UI innovations for the Expression family.  Expression Web is shipping now, with the rest of the family (Expression Blend, Design, Media, and Web) shipping together within Expression Studio in the second quarter of 2007 (springtime in northern hemisphere).

As the original product manager for this project (there are now 20 or so of us globally) I have had the distinct pleasure of seeing some of the project issues through from the very beginning of the cycle.  As such I thought it might be of interest to folks if I wrote about three aspects of Expression Studio that have only recently fully come to light with today’s news: the names of the products, the new amazing UI of the family (seen in today’s Beta and CTP releases), and the components that make up the suite itself (the specific tools we invested in for V1 of the family).  For today’s entry I’ll cover naming, and will add the other two later this week.

What’s in a name? 

We’ve had a lot of fun naming these products…  and by fun I really am talking about FUN.  Ha!  Laugh out loud fun J  We did the classic marketing thing and went out over 2.5 years ago and did focus groups, worked with a creative agency to generate name candidates, and then ran quant research validation with web surveys etc.  We came back with some great name ideas… but actually getting a name onto the products was a meandering process that I could never have imagined prior to working here at msft.  For those of you that didn’t follow it, we originally announced the Expression family at PDC in September of 2005, with really silly long and complicated names; we then shortened those down a bit 6 months later, and then today, finally unveiled even shorter and different/improved final names.  Along the way we had plenty of customers raising their eyebrows saying “are you serious?” when they first heard the names, but we also had folks saying “yeah, that makes a lot of sense, thank you for giving the products really clear descriptive names as that helps me to understand what you are doing with all of these new products”—which just goes to show you that there’s a range of reactions to everything in this world, including software product names!

It has been fun for me personally because it has been an amazing experience to work at such a large company and to see the demands and concerns that are specific to only a large organization like this.  It’s really easy to look at some of the end results of Microsoft product names and think they are laughably long and bad (my favorite, the way we combine long names with equally long descriptors of release CTP versions (such as “Windows Presentation Foundation Everywhere December 2006 CTP”, which is available today!).  Thing is, if you are here in the hallways in Redmond, and you are part of the process itself, you actually come to understand all the reasons why things end up the way they do.  Don’t think for a second we don’t “get it” ourselves… just look at this self-parody video that our branding group put together for an internal meeting (“if Microsoft designed the iPod packaging”).  In my previous naming assignments (before I was at msft) I was involved in naming interesting software product with names like “Commotion”, “ImageLounge”, and “CineWave”—the first time the Expression names were introduced to market over 18 months ago, we had names that rolled off the tongue like “Microsoft Expression Quartz Web Designer September 2005 Community Technology Preview”.  One of the team’s developers pointed out to me at the time that on a low enough resolution monitor (1024*768) the name actually didn’t fit in the title bar of the window!

So how did we come from where we started to where we are now, with Expression Blend/Design/Web/Media and the all encompassing Expression Studio?  Well, a key part of the journey was actually involving customers.  We’ve had over 500,000 downloads of our CTPs to date, and hundreds and hundreds of customer meetings and interactions, at their studios, at events, online, and in the forums for the products.  Believe it or not, we listened and were able to use “community feedback” to help drive changes in our processes to get to a much happier place with the product names.  For me personally I know that naming these products will always be remembered as one of the most interesting challenges of my professional career, not only to date, but likely (hopefully so as to never have to repeat) in my entire life!  But that is not to say that it was demoralizing or frustrating intellectually—everything that happened transpired for very good reasons, that made complete sense given the business process, logic, etc at any given moment in the process.

In writing this blog entry I guess in some ways I want to apologize personally to the press in particular!  I do lots of briefings with the press throughout the year, either when we have news or when we have time at events/etc. to sit down and talk about the industry.  For almost 18 months now I’ve had to spend a good 5 minutes explaining the names of these products, as they kept changing and we kept adding new products to the suite!  If you take a look at Darryl K. Taft’s story on today you’ll get a sense of what a pain this has been for folks in the press (sorry Darryl and a gold medal for you for being able to keep it straight!!); just look at this paragraph:  “The Microsoft Expression Studio consists of Expression Web (formerly known by the code name Quartz); Expression Blend, the new name for Microsoft Interactive Designer (formerly known by the code name Sparkle); Expression Design, the new name for Expression Graphic Designer (formerly known by the code name Acrylic); and a new tool, Expression Media.”  Arggh!  Ok, no more of that, ever again.  Now we have our real names out there and we can move on to talking about the technology and the work of designers!

As a closing thought: when my wife and I travel on vacation we often discuss during the trip (at the aiport, on the flight, in the rental car) whether travelling is about the “journey” or the “destination”.  On a trip, is it about getting lost on back country roads and stumbling upon the best restaurant of the trip on the way to Positano (Italy), or is it about being there on the beach taking a nap?  Certainly the name of a product is usually entirely about the “destination”–as far as customers are concerned they only know about the gorgeous final product name (Xbox 360, Zune, Dynamics, Live, Windows, Visual Studio, Office… don’t forget, we actually have MANY good ones here at msft!).  Certainly for those involved in naming a product, the journey is also a very important part of the experience… and I guess in the case of Microsoft Expression, you can thank us for sharing some of that “journey” with our customers, the good and the, shall we say, “confusing”.