Requirements for Website Prototypes (and Design Systems)
Post from June 9, 2007 (↻ September 28, 2020), filed under Web Development and Art and Design.
This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.
The following article is derivative of the speech I intended to hold on the webinale 07 in Ludwigsburg. It covers best practices for website prototypes based on HTML, CSS, and DOM scripting.
Contents
Definitions
- Prototype:
-
A project-related collection of static or dynamic templates made of HTML, CSS, and DOM scripting.
-
A microcosm of your online investment.
Consequently, factors like technical basis, information architecture, or quality assurance—by e.g. automated tests—are not covered here since the principles below have to be seen independently.
Problem
Bad (or even nonexistent) prototypes cost money.
Requirements
Universality
Include everything that is used live.
The “What”, related to page types and elements.
Actuality
Include everything that is used live.
The ”How“, related to possible nova on the live website.
Realism
- Use “real” keywords and “real” microcontent.
- Address different use cases.
But: Dummy text is okay.
The use of realistic microcontent more likely means consideration of conceptual aspects as well as less risk of “implementation losses”. “Different use cases” serve “visual integrity”—do certain teaser constellations work, does the leading of long list entries fit, and so on.
Focus
Keep it simple, avoid redundancies.
The goal: A prototype must never become the live website.
Accessibility
Take into account a broad audience:
- developers (for developing and testing),
- project managers (for inspection at the inside),
- clients (for inspection at the outside),
- users (for usability tests).
While frontend and software developers always belong to the audience of prototypes, other groups are often ignored. This equals wasted potential—and wasted money. Please also note that the “users” group slightly induces a change in requirements since it generally requires more realism and less focus.
Availability
Offer a stable URL in order to:
- enable ongoing use,
- emphasize the importance of the prototype.
…as opposed to “local” prototypes.
Commitment
- Requirements and changes in the prototype induce changes in the implementation, meaning the live website.
- Requirements and changes in the implementation induce changes in the prototype.
You will usually observe a “shift” as soon as a prototype-based website goes online—at first, the prototype is authoritative, but changes after the launch might rather induce changes of the prototype.
Continuity
Continuous maintenance, even after project finish.
Potential jackpot: The next relaunch is just a redesign.
Communication
Communicate changes, no matter if related to prototype or implementation.
…understandably, implied by former requirements.
Documentation
Document design principles and characteristics (modules, constraints, snares).
This should be mandatory even though good, working prototypes have never died of missing documentation.
Disadvantages
A good prototype requires:
- discipline.
Advantages
A good prototype means:
- easier frontend development and testing,
- easier and more unapologetic implementation,
- easier maintenance,
- a “real life” showroom.
…and thus:
- better quality,
- less costs,
- more fun.
“More fun” by the quite more unlikely frustration that occurs when frontend or web developers fix errors and bugs that have been caused by differing implementations, be they bred by careless adoption or by missing communication. How many “sleeper” elements are there on your website?
Checklist
Is the prototype:
- comprehensive?
- up-to-date?
- available, now?
About Me

I’m Jens Oliver Meiert, and I’m a web developer (engineering manager) and author. I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have a question or suggestion about what I write, please leave a comment (if available) or a message.
Comments (Closed)
-
On June 12, 2007, 13:51 CEST, Mike Padilla said:
To further enhance your hi-fidelity prototypes as a requirements collaboration tool, consider using Protonotes - http://www.protonotes.com/
Protonotes are notes that you add to your prototype that allow project team members to discuss system functionality , design, and requirements directly on the prototype. You can think of it like a discussion board/wiki in direct context of your prototype. Once you have signed up with Protonotes, all you have to do is share your unique Protonotes url with your project team members and they can begin adding notes to the prototype - they do not have to sign up.
Read More
Have a look at the most popular posts, possibly including:

Perhaps my most relevant book: CSS Optimization Basics (2018). Writing CSS is a craft. As craftspeople we strive to write high quality CSS. In CSS Optimization Basics I lay out some of the most important aspects of such CSS. (Also available in a bundle with Upgrade Your HTML and The Web Development Glossary.)
Looking for a way to comment? Comments have been disabled, unfortunately.