Now before you go run off and start hugging the graphic artist down the hall, please finish reading this post. We don’t want any HR issues, now do we?
I tend to agree with what Michael is saying in his post (Silverlight: Why I feel “Design Is The Most Important Thing”), and think that it deserves some serious consideration by any professional developer. Far too long have we (developers) under valued how much a good “design” plays a part in good software. However, the designer I am referring to in this article spans graphic artists, UI designers, developers, machinist, architects, civil engineers… and on and on. This “designer” is the one that lives in all of us (yes you can now hug yourself if you like, but still not exactly what I’m talking about either). What I am trying to illustrate in this article is that we all have the ability to evaluate a good design or a poor design, granted this ability has varying degrees. Additionally, a lot of us are able to say “something about this just isn’t right” or “I love this… but I can’t say why exactly” but have not sharpened the skills to what our intuition is telling us.
(Image taken from the book The Design of Everyday Things which illustrates the idea that many times throughout history people have not listened or acknowledged their inner designer and in turn have caused poor design to take root in our world)
Now this is where a few feathers are going to get ruffled, and honestly I kind of hope they do because I feel that they need to be. We developers are some of the biggest offenders when it comes to introducing poor design into the world and therefore the lives of others. Let’s be honest (this includes me and maybe this article is a form of confession), we know that our grey squares and white backgrounds are hideous! We know that the “Save Changes” button that is enabled even though there are no changes(!!!) confuses and frustrates users. We know that sticking the cool little animated gif on the page to tell the user something is “Loading” or even better the one that lets the user know that something is “Processing” (seriously do we even know what is processing?) for minutes doesn’t really cut it. The only feature that these poor designs provide is user frustration and calls to our typically over worked support teams. The list could go on and on, and we can come up for an excuse for each example. Like “when I started doing development it was so hard to make things look pretty” or “it takes too long to style an entire application and clients really don’t want to pay for that.”
While some of these excuses may contain a bit of truth, they no longer provide the shelter we used to hide under. The truth is clients no longer care if the software simply works. It must provide an intuitive and enjoyable experience! I believe the world is transitioning from the “Information Age” into the “Innovation Age” and we have to grab a board and surf the wave or be swallowed by the undertow. Technology has moved us past the “wow I can actually get real-time stock information from the web” to “this has to feel like we are really interacting with this data.” Things like multi-touch and accelerometers have given us the ability to “get our hands” into the digital world! Seriously, who doesn’t want that awesome interface from Minority Report?!?!
Each day brings us closer to that reality in our homes, offices and even pockets. However, it is up to us the developers, architects and designers to make this reality happen. So, I suppose this is a call to arms of sorts. It is time for us to tear down the wall between the technological specialties (developers, graphic designers, interactive designers, solution architects, etc.) and realize we ALL play a part in the overall design of our digital world. Each of us needs to open our eyes a little wider and look around. We need to focus on questions like: What in our world is enjoyable to use? Why does it feel that way? What can we do to make our software/solutions feel this way?
The revolution begun in my mind thanks to a series of books that I have read over the last few months. I credit my director for starting me on this journey by discussing the innovation firm IDEO with our team at work and showing us the television special showing how the successfully redesign the shopping cart is a week. Below is part one of the special, there are three parts to the episode. The other two videos should show up in the related videos once part one completes. I highly recommend watching the entire series!
One of the interesting pieces of information in these videos is that their “design team” is made up of people from drastically different backgrounds. For example, there is a anthropologist, a biologist, an engineer, a linguist etc. Each of these individuals provide a unique perspective to the concepts explored by the team allowing for a more holistic vision of the “problem domain” or “design challenge.” The idea that we are all designers started here for me and the was further affirmed while reading the Purple Cow book recommended to me by my teammate Ken. This book as well as the book Innovate the Pixar Way really started the process of questioning my internal design processes and the way I view innovation and what is remarkable. Another great book that helped to inspire and clarify a refinement of the design process I will be using from now on is Dynamic Prototyping with SketchFlow in Expression Blend: Sketch Your Ideas...And Bring Them to Life! This book made me realize that I was insulting SketchFlow with my half hearted attempts to use the tool. It is so much more powerful than I gave it credit for! However, the power is not the tool in and of itself but how the tool allows us to change the way we design our applications. The relationship and feedback that is created when it is used properly is priceless!
So I know this post may seem a bit too abstract and/or sporadic when compared to other content on this site that focuses on “how to” do things. However, I have found a new way of seeing the world and feel inspired to make better designs and encourage you to do so. Michael has definitely caught the design bug and is learning to surf the new wave. Many of the topics he discussed in his article are the more practical examples of the underlying concepts I have been trying to bring to light. Believe me, I agree 100% that we need the artistic folks ( I AM NOT ONE OF THEM NO MATTER HOW MUCH I WISH I WAS ) such as the graphic designers and UI specialists! We are not all that kind of designer, but we all design what we are specialists at. For example, the graphic artist that make the amazing visual artifacts for the application typically has no idea how to “design” the service that the application is going to need to fill that visual with useful data. For a developer or application architect it is our job to design a great experience by building a great service to return that data in a way that allows the visual designers work to really be appreciated. No more three minutes of watching a progress bar as we retrieve data! Design your service to be responsive, otherwise no matter how great the application looks it will still “feel” clunky. (Michael has another post that give some good information about new tools to help design a more responsive application: Simple Silverlight 4 Example Using oData and RX Extensions)
To wrap up this rant, there are a lot of resources out about what good design is, processes used to create good designs and tools to help you implement the designs. I encourage, maybe even beg, you to check out some of the books, videos and articles I mentioned here. I truly hope you find inspiration to take your “designing” to the next level and to push those around you to do the same. We are all victims of bad design, but we have the power to change that… it is our world that we are creating.
So now that you have read this, there is only one question that needs to be answered to determine the direction of our collective future:
“You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goes.”
I am really trying to work on my "design" :) And I agree the feedback you get when you create a SketchFlow and then show it to people is priceless. It is a must for me now.