Redesigning our internal Team Site
I could have titled this post "The importance of sketching" or "Paper and pencil are still hip". The truth is, I didn't even realize about the fact that I do a lot of sketching on paper, as a matter of fact I just recovered my beautiful drawing from going into the shredder. I think the beauty of sketching on paper is that the ink just flows. Sometimes you don't even know where it will lead you when you start. It keeps you minimalistic, not too much detail can be crafted on a tiny piece of paper (at least I can't).
Once I had the draft in hands, it was just a matter of whipping the right amount of bootstrap with some custom HTML and funky JavaScript, voila, our internal team site came to life... So you could say that prototyping can be done in HTML without the need for wireframes, I still doubt that. Without at least the genius idea on paper I wouldn't be able to code as efficiently as I did.
The coding part was only the cherry on the pie, a quick logo, a menu, a hero unit, some blocks and fancy graphics, tadaaaaa. I used PHP to create a 'controller' with content being included on the fly. Yes, good old content, still working on that piece, but no worries, I got it under control
How do you design? Do you sketch/wireframe? Or straight to code?
Highlights of Week 30/2011
- How To Create a Slick Features Table in HTML & CSS (by Chris Spooner) - very slick
- 10 Absentee UX Features on Top e-Commerce Sites (by Paul Bryan) - co-shopping? en espanol?
- 6 tips to create better one-page websites (by Kendra Gaines)
- 10 Unmissable TED Videos For Designers (by Alvaris Falcon) - love TED, and you should too
- 20 jQuery Tutorials Teaching Super Cool Visual Effects (by Chris Spooner) - that's why you must love jQuery
- Requirements-Driven Software Development Must Die (by Fred Beecher) - nice approach with really good arguments, but with any workflow it seems just a little bit off
- 70+ Awesome Tumblr themes (by Cameron Chapman) - got tumblr? get a theme - and a life
...and follow me on tumblr - Examples of Sites where localStorage should or is being used (by Chris Coyier) - localStorage is to HTML5 what isolated storage is to Silverlight
- jQuery plugin: Chosen (by Harvest) - go check it out, nothing else to say
- Freelance Web Development: 9 Tips for Better Project Management (by Kelli Shaver) - you do freelance work? enhance your productivity with these tips, very nice!
Highlights of Week 36/2010
- 20 HTML Best Practices You Should Follow (by Saqib Sarwar) - yes, we all know, but it's so easy to forget
- 10 Essential Free E-Books for Web Designers (by Grace Smith) - free? freeeeeee!
- Self-Motivating Through Creative Blocks (by Cameron Chapman) - always love the sheer simplicity in which Cameron summarizes complex subjects, must-look.
- The power of brief speeches: World War I and the Four Minute Men (by Richard I. Garber) - Five minutes means a guess; four minutes makes a promise - that's why
- A Complete Guide to Progressive Enhancement (by Cameron Chapman) - expaining why your website does NOT need to look the same in every browser, try to explain that to your client
- Getting to Grips with Content (by Kristina Halvorson) - Prune it, Put it in front of users, Give it purpose - sounds easy? Look around...
- 8 Must-see UX Diagrams (by Andrew Maier) - yes, must-see...
- The GeoServices REST Specification: An open standard for GIS Web services (by Sterling Quinn) - now this is sweet, the full GIS capabilities of ArcGIS Server via REST
- Finding the Balance: Users’ Needs Vs. Clients’ Wants (by Oliver Gitsham) - have a rationale ready behind every decision and design choice that you’ve made!
Integrating Prototyping Into Your Projects
This article was inspired by Integrating Prototyping Into Your Design Process - Using appropriate fidelity for the situation by Fred Beecher which I extend by the following:
Prototyping needs to be iterative throughout the project!
Goal of Prototyping
Prototyping is not only a design tool but a research and communication tool as well.
- It should assist in optimizing the main task (top tasks) and validating its/their efficiency.
- Furthermore this should not add cost to the project but reduce project expenses while increasing ROI.
So the goal is to use different levels of prototype fidelity to incrementally identify and enhance the user's task(s).
Ideally this happens linear (increase visual fidelity as you add functional fidelity) but typically it is bent to either side (see Figure 1) where more emphasize on
- visual fidelity can be beneficial for marketing purposes or
- functional fidelity can assist earlier user feedback trough user testing.
Integration into your project
Regardless of the project approach you take it will boil down into the fundamental project management phases of Requirements, Design, Implementation (and possibly others). Prototyping should not be solely perceived as a method useful during Design, it is essential during all 3 (or more) phases starting as early as Requirements phase.
I suggest the following approach:
-
Low-fidelity prototyping (paper / digital sketch)
- Create paper prototypes or digital sketches
- Design navigation architecture (workflow)
- Review with client
- User testing (optional)
- Iterate (until happy)
- Revise into 2
-
Medium-fidelity prototyping (simple HTML)
- Simple HTML prototyping (maybe even black and white)
- Proof basic workflow and important interactions
- Review with client
- Iterate
- Revise into 3
- High-fidelity prototyping (Enhanced HTML)
- Enhance HTML prototype (links and basic functionality)
- Settle on design (including corporate design, basic artwork)
- Review with client
- Iterate
- Revise into 4
- Start 'real' implementation
Implementation Effort
Each prototype (digital sketch, simple HTML, advanced HTML based on simple) should not take more than 40 hours of pure development (not calculating initial meetings and communication and possible variations based on project size) plus 80 hours reviews and iterating with client. Sounds impossible? Think twice. It is so much easier to modify a sketch than programming HTML. The 'real' implementation will be built upon a solid code foundation with a grown-up design already - voila!
Can I skip a prototype?
Yes, obviously you can. But it comes with a cost later on because you miss crucial information from the earlier phase and it is more expensive to implement modifications.
Technical considerations
The argument I hear most often is that 'prototypes' are wasted time/money because they get trashed anyway. This is absolutely not true! Identifying problems early almost always saves money later on, you don't find anything out until you start showing it to people, enhancing the quality of the product will help money flow into your pocket once deployed and most important, prototypes don't necessarily need to and should not be trashed.
Low fidelity prototypes can be more than just ‘paper’, this could be digital wireframes that look like sketches, e.g. Microsoft offers software that tie sketches (SketchFlow) directly into UI design (Expression Blend) and subsequently into development (Visual Studio) - check out the WebsiteSpark Program for almost free licenses.
Don't bend too much!
Danger! Don't bend the curve from Figure 1 too much otherwise you end up with
- a highly functional 'prototype' but without design, i.e. without visual clues whether your client/users will like it (buy it) and without validation that you got your information architecture right OR
- a highly visual 'prototype' that looks sharp, sexy and slick but cannot be used and lack usability ("we just installed the app and now our users complain they [...]" - substitute the appropriate phrase for yourself
Proof-of-concept
Creating medium- to high-fidelity prototypes can be considered proof-of-concept and can be beneficial to or sometimes even required by your project. Looking at Figure 1 that would mean to move their respective dots from Design/Implementation to an earlier phase.
What are your experiences?
Do you use / re-use multiple prototypes within your projects? Do your project structures support prototyping? To which extent?







