Three smart UI prototyping techniques

When designing a solution usually we need to show some slick and simple pictures showing user interface we plan to implement. This seems to be the only language both developers and customers seem to understand. Or maybe let me rephrase it to be more specific – screenshot has the highest likelihood that its interpretation by all parties will be similar. Preparing such images takes a long time – the most popular approaches I’ve seen so far are:

  • use your favorite graphic editor – e.q. Gimp,, Photoshop, Illustrator, etc. The result usually looks good, but is a nightmare to maintain, especially when you need big chunk of text or new large field.
  • mock the UI in Word – get a ugly wire-frame of the window only to forget to group the boxes and see them flying around the document after any change
  • … or Excel – Excel is good for everything, isn’t it?
  • create a form in html – happy styling, call me next week when you’re done!

The process was usually time consuming, but not any more! This week I’ve seen three smart prototyping approaches:

  • Balsamiq UI modeler – application to create any UI layout using drag&drop. The web-based demo (functional!) version is available
  • Microsoft Visual Studio Express – free, fully drag&drop RAD environment. It seems like an overkill to use it only for this reason, but consider the price tag!
  • Microsoft Visio – especially 2010 edition – nice, easy and integrated with Microsoft Office Suite

All above applications let you create both static window images and interactive UI prototypes. Next time you talk with your customer show him a “working” demo next day after you got first requirements – he will love you! And hopefully he will understand what you are actually trying to achieve.

Aim high and then aim higher!

Good, great and beyond

Nearly a hundred years ago Konstantin Eduardovich Tsiolkovsky said his famous words “The Earth is the cradle of mankind, but one cannot stay in the cradle for ever”.

It’s easy to get carried away by such statement to think about the final frontier for human race. Imagine all the worlds that lay out there. But the sentence can also be used more metaphorically as a guideline for moving projects up to the next level – from good to great.

Good projects are those which work as planned, while great project evolve further and further. Good project can make you a decent living, but only the great projects can change the world.

In the cradle of Vision

Each project starts with a vision. The vision should be then kept in mind during whole project live, otherwise the project will become stale and fail in the result. Good vision is what drives the team in common direction, let people focus on what is important. The main goal of the project is to fulfil its vision.

Image you want to create an online book store, so you define your vision in a simple statement “Let’s create a book store”. You gather your team and assign tasks (even if your enterprise consist only of you, you will still form many functional teams!) – define logistics chain, define IT solutions, define marketing plan etc. You start working on details and implementation and sooner of later you end up with working solution.

You’re now selling books. You have a steady flow of orders, you have managed to build a good project. It works, it generates you income, it is predictable and utterly boring. Soon you will realize that your competitors start to run in front of you.

Evolving Vision Statement

What happened? You’ve achieved your main goal, but you failed to evolve your vision further. You sit comfortably in your cradle and capitalize on your hard work. You can grow up to the size of your market and compete hard, but unless you redefine your Vision, you are basically stuck.

Here’s where all the fun starts – you can move in many directions (be careful not to bite more that you can chew at once or you’ll choke), just give your teams more breathing space and you’re on the best way to creating a great project.

Can you imagine the world in which some of the greatest companies in evolving their vision would fail to do so and
* Google is maintaining only a web engine
* Microsoft is releasing only new versions of Basic and operating systems
* Facebook is a signle university only portal
* Walmart runs only one grocery shop
* Amazon still sells only books

Does Agile really suck?

I just got a link to a digital edition of NT Insider, paper I used to read during my university studies (it seems pretty hard core stuff now…). Since then I forgot all about IRQs and kernel level debugging, but I remember I always loved “Peter Pontificates”.

See “Pros & Cons of Agile SW Development Methodology” to understand why agile is a temple of stupidity and was designed strictly for idiots, who wouldn’t do anything properly anyhow. Or maybe not? Peter at his best ;)
Here’s a direct link to pdf file.