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, Paint.net, 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.
I’m currently preparing to become “a lawful wedded husband”, which involves buying tons of stuff. I was comparing various offers and one pattern emerged: if a thing X is renamed to “Wedding X” it automatically becomes at least two times as expensive. See for yourself: wedding photography costs 295-1500 GBP while corporate event photography 75-180 GBP for comparable time and effort. Wedding cakes are priced at 250-850 GBP vs event/birthday cake which can be bought for 10-80 GBP. So I decided: from today on I’m charging wedding software engineer rates!
You may ask what is a Wedding Software. I’ve analysed the differences between normal and wedding items and I found some common elements, which I intend to apply to software.
- basic wedding offers are mediocre, so they enforce customizations and add-ons. For cakes you get a plain sponge cake with a white icing. You want some taste, maybe chocolate? No problem – just add +30% to the price :) Do you want some decorations? No problem, 25 milk chocolate stars pressed into the icing – +20 GBP! Or maybe you’d like to write something on the cake? No problem, …
- customizations of wedding items are charge more for. The same text written on a birthday cake costs less than half of the price of the same text on wedding cake. Oh why?
- you get a ribbon with everything. It’s a customization, but everyone is willing to provide you with this one for free.
- you are not allowed to buy non-wedding items for wedding. They may fit, they may suit your needs, you may love it, but still your forced to buy something with a “wedding” tag
- wedding items tell you that they are prepared for “your special day”, “most important day of your life” etc.
So, applying the same rules should improve our margins dramatically. What’s more we it should increase customers satisfaction level. So:
- wedding software should be usable, but ugly and limited as possible. Create a blackAndWhite.css and doNotScaleForMobile.css and apply it to any page you release. Basic version of apps should run up to 800×600 and play sound in mono only. But plan ahead for at least 2 customizations for each feature, including (mostly) irrelevant ones like ALHMMO “Advanced Left-Hand Mouse Movement Optimization”.
- customizations are sometimes called “extras” for a reason, they should be extra pricey. Just remember to tell the user that the extra stands for extraordinary usable and smart.
- excel kills millions of lines of custom code a year, wedding software should not allowed users to use multi purpose tools like that. All data should be exported in unportable formats and all 3rd party imports virtually impossible. Or at least customers should be educated that doing so it a very nasty behavior and they should never do it. Hint: avoid question “why?”.
- software should no longer be commodity or necessity. Wedding software should be luxurious and exclusive. Buying software should be advertised as a transition from the dark times to enlightenment. People live to buy software. It will take some time for them to understand that, the only way is constant repetition.
It worked for wedding industry, it will work for software also!
ps. I still haven’t found what the software counterpart of a free ribbon may be…
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.