50 Caleaxioms for Webapp Development
- 1. If you choose your technology before your application you'll need to re-invent some wheels.
- 2. If you decide how your application will look before you decide what it will do you're not building an application for users.
- 3. You need Personas, Workflows and Use-Cases.
- 4. Don't let your engineering team define the features.
- 5. Framework and Feature set can be different.
- 6. Hire a real project manager.
- 7. When real users can't be found, talk to Professional Services or Sales. Not marketing or Engineering.
- 8. Nobody thinks like users – except users.
- 9. Extra clicks aren't bad if the path is helpful.
- 10. Wizards are good once – make sure you build a tool that can use them and turn them off.
- 11. People like MS Office, and it works.
- 12. Write proper contextual error messages.
- 13. Build multiple messaging systems.
- 14. Sometimes webapps need a training system.
- 15. AJAX won't save you.
- 16. AJAX won't scale.
- 17. Hire a proper DBA.
- 18. Fully addressable apps are better than not. (Multiple access points)
- 19. Make sure you have someone on your team that knows about session management.
- 20. Single Sign-on.
- 21. If your search is broken, fix that first. Then your filtering. Then your navigation.
- 22. Data grids are a pain in the ass. Everyone wants one and none of the pre-built ones are any good.
- 23. Nobody wants to Drag-and-fucking-Drop except for sales guys.
- 24. Spend as much time as you can with the team that is building you app – they will make it or break it
- 25. Group consensus will kill you and the project.
- 26. If anyone tells you they need an icon for something and they can't tell you what that something is – punch them in the eye.
- 27. Feature creep will happen – this is why you need to have a good relationship with the people building your app. (see #24)
- 28. Don't ignore your Log-in page, error pages, 404′s or anything else.
- 29. If your app takes more then 2 seconds to do something and you can't make it faster, you need to add a status message, bar, throbber etc.
- 30. Separate From from Function in the beginning and you can work on them in parallel the whole time.
- 31. Keyboard controls are sweet as.
- 32. Users will want to print complex pages – let them and provide them with the right tools to do so. (I like pdfs)
- 33. If you're going to let your users customize you app, you have to provide support to them.
- 34. Inline help is awesome, but if you can't support it fully you're better off not having it.
- 35. Images will need to be localized – make sure your designers have done this before. You do not want to make a "submit" button for every language.
- 36. German has some very very long words and will ruin your carefully constructed layout.
- 37. Vertical scrolling isn't bad – Horizontal scrolling looks like a mistake. Always.
- 38. Your app should use the same language and abbreviations as your users.
- 39. Business logic doesn't always make sense, but it's what your users are accustomed too.
- 40. Don't put the "United States" at the bottom of the damn drop down list just to keep it in alphabetical order if 95% of your users will select it.
- 41. Auto format my telephone numbers, dates and zip/province codes for me. I don't care what the database looks like.
- 42. Metadata.
- 43. Prototype everything you can every-time you can.
- 44. Internal surveys will tell you nothing.
- 45. Jacob Nielsen and the "Tog" are tools but they are occasionally correct. Although frankly, they've done more harm than good.
- 46. The Five Hat Racks will save your ass. (Category, Time, Location, Alphabet and Continuum)
- 47. If you can't draw it on the whiteboard then write it down. If you can't do either you're a manager not a do-er.
- 48. You need to have a multiple phase and release plan.
- 49. Testing in the real world is time consuming, expensive and frustrating, but ignore it at your own risk. If you're committed to doing it, hire a professional.
- 50. Agile development is cool but it runs the risk of becoming too focused too fast and losing sight of the larger picture.
- 51. Don't read lists. Write your own.
It all started pretty simply… I guess it usually does.
9:16:53 AM goatiki: Any genius thoughts on the right "approach" to application interface design? Any good sources you've seen? We've got a potential project in that vein a'comin', and admittedly, after all of my marketing design years, hard core app interfaces are a little outside my realm of day to day knowledge. 9:17:55 AM calepeeples: throw away the first two and don't let graphic designers on the project 9:18:07 AM goatiki: nice. 9:18:41 AM calepeeples: talk to customers not marketers and engineers are not good project planners 9:19:04 AM calepeeples: I'm gonna write a book 9:20:15 AM calepeeples: Seriously, I follow a UCD approach and it's worked pretty well. the most important thing you need to know is how the users will use the product day-to-day and make those tasks simpler for them. 9:21:16 AM goatiki: okay… sounds like the usual, expected blah blah of good design, but i apprecaite the validation… 9:21:40 AM goatiki: "make it red" was usually enough at the ol' target. 9:21:41 AM calepeeples: it's really that simple – the trick is getting it done
7 Comments
Jump to comment form | comments rss [?] | trackback uri [?]