Skip to main content

Can a Mac-Only Shop Do Silverlight Development?

Author: The Mess With Silverlight Team

About the Author:

Mess is a Mac-powered digital lifestyle agency in Chicago. This Is Mess.

In theory, they're a digital design, development and strategy agency; in practice, it's a little more complicated than that. Partially due to the backgrounds and interests of the team, but also because the advertising/marketing/digital spaces are in a pretty complicated state right now.

Follow their ongoing adventures via Twitter: @MessSilverlight

Can a Mac-only shop do Silverlight development?

The evolution of the Mac platform over the last six years has been nothing less than remarkable for developers. The transition away from the PowerPC and towards Intel, as well as the transition from OS 9 to OS X, has opened our machines up to an entire world of tools that were previously kludgy to work with at best, impossible at worst. Virtualization has become something of a second nature to the Mac. We have not one, not two, but three generally great clients that allow us to run a full-blown Windows installation without too many hiccups or tradeoffs, beyond the obvious ones.

That the Expression Studio and Silverlight tools are most assuredly Windows-only doesn't mean we can't run them on our Macs.

That I can jump from Visual Studio, into Illustrator, into Blend, over to TextMate, then into iChat, and finally into Internet Explorer without so much as hiccup is huge. We're no longer confined to a single set of tools. No longer quarantined to a single rich media platform.

We have options, and with Microsoft as our partner, we've been exploring them.

Why would I, though?

For years, Flash has been the only solution to numerous rich interaction problems in web development. No matter what our problems with it were, we were stuck with it: its mind-bogglingly bad IDE; its strange tendency to crash; its ridiculous lack of basic drawing introspection (that one really bugs me). No matter what we thought of it, if you wanted to do deep interaction, you used Flash, and you learned to love it.

But the field is opening up. JavaScript libraries such as my heart-spark-candy jQuery and its ilk have opened the door to rich animation in the browser, without any plug-ins at all. HTML5’s inclusion of native video and audio support in the browser removes the necessity for Flash for video, a fact even YouTube, by all accounts the most-used Flash widget on the web, has noticed. Many of the tasks for which Flash has long been the sole solution now have a plethora of possible paths, with more opening up every day.

Silverlight is just another path.

And as a developer, it behooves me to know every road that leads to Rome.

But is it worth traveling?

Internally, we first started looking at Silverlight after a project which should have been fantastically easy turned out remarkably hard. Flash’s lack of drawing introspection, coupled with its numerous and amazingly pervasive memory leaks, dragged out something we could have accomplished in two weeks in any desktop environment into a month-long affair whose end result we still weren’t happy with. We consulted with numerous Flash experts, hoping one of them would provide us some insight into just why we were banging our heads against walls we couldn’t see, and the answer always came back the same.

“That’s just how Flash works.”

We were angry. We felt scorned, abandoned, mistreated. And like many before us, we went looking for a new mistress.

Silverlight 3 was on the horizon, and after being impressed with how well the previous version had handled numerous large-scale live video events, we began to wonder whether we should be looking internally at Silverlight for future rich interaction problems. We were busy with quite a few projects, but it was on our radar and entered into numerous conversations for a week or so.

Literally two weeks later, we got a call from Microsoft. The Silverlight and Expression Studio launches were around the corner, and they were looking for a few ideas on how to promote it.

It was during the brainstorming when we noticed our art director Nick getting excited about Blend and SketchFlow. “This looks easier than Flash,” was the quote I remember, though I’m sure there were a few choice others. The synapses fired. Could a Mac shop really use these tools? Would anyone be interested in reading about it?

We searched and find very little online about the process, aside from an occasional mention. Numerous developer-heavy posts, but nothing of substance about the real work involved in using a virtual environment to accomplish real creative work. The idea stayed with us. Why should we be limited to a single platform? Why shackle ourselves to one vendor, if there’s a better tool on the other side of the street?

We were excited about the idea, but we never imagined Microsoft would go for it.

Way to prove us wrong, Redmond.

Never underestimate your clients. Microsoft was as interested in the idea as we were.

To keep us honest, we put together some ideas for applications we’d always wanted to see online, plus a few quick and dirty demo apps we could use to get ourselves familiar with the tools without getting too deep into development. We got our marching orders, and we started running.

Ironically, all the things we thought would be hard, such as getting a great development environment set up and bringing Expression into our heavily Adobe-dependent workflow, were easy. Instead, it was the stuff we thought would be easy that soaked up our time: learning to think in Expression’s terms, in XAML and C#. Working outside our comfort zone and using Microsoft tools for everything from writing code to hosting the site in WordPress. It was here we got dragged down, not because the environment, tools or language were bad, but quite the opposite: they were so good we found ourselves just playing. Dreaming. Trying. All the things we remember doing years ago when we first got into web development.

Exploration of a new tool is something a team rarely gets to do. Once you know one tool, you have a tendency to orbit around it, looking at all the world’s nails and sharpening your hammer. Branching out is something you fear. Deadlines may be missed, budgets grown. Things could be less than perfect. And as a service industry, as people who answer to clients, there’s nothing more terrifying.

Microsoft has been amazingly patient with us: open, and willing to hear our gripes and our triumphs. I could not recommend a better partner. They’ve provided us with an army of people behind the scenes who are willing to jump in and get their feet wet, all done with a smile and a nod. It’s a strange feeling to be a Mac shop with such a strong partner in Microsoft. Strange to feel blessed by a client. Normally, we curse them.

And they swear this type of support is available for anyone working with these tools. Amazing.

But we moved forward.

The next two months are where the rubber is really going to hit the road. With the “quick” things out of the way, and a solid grasp of just what it is we’re up to, we’re excited to see how the ideas in our head will take form in Silverlight.

What we’ve learned so far is that Expression, like any tool, has both its flaws and its shiny-shiny. Like any tool, it has limitations and advantages. But it’s a tool we’re using, and one we’ll continue to use. There are bits of it we love so much we couldn’t imagine going back to being a Flash-only shop.

Expression Newsletter

The Expression newsletter contains detailed information, how-to guides, and other resources about the Expression products. Every issue of the Expression newsletter will provide:

  • Exclusive information and articles from design experts.
  • Best practices in the use of the Expression products.
  • Expression event announcements.
  • Step-by-step tutorials, webcasts, samples, and video training.

View the Newsletter!

Microsoft réalise une enquête en ligne pour comprendre votre opinion sur le site Web de. Si vous choisissez de participer, l’enquête en ligne vous sera présentée lorsque vous quitterez le site Web de.

Souhaitez-vous y participer ?