Requirements for Website Prototypes (and Design Systems)

Published on June 9, 2007 (↻ February 5, 2024), filed under and (RSS feed for all categories).

This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.

The following article provides the outline of the talk I intended to hold at the webinale 07 in Ludwigsburg. It covers best practices for website prototypes based on HTML, CSS, and DOM scripting.


  1. Definitions
  2. Problem
  3. Requirements
    1. Universality
    2. Actuality
    3. Realism
    4. Focus
    5. Accessibility
    6. Availability
    7. Commitment
    8. Continuity
    9. Communication
    10. Documentation
  4. Disadvantages
  5. Advantages
  6. Checklist



A project-related collection of static or dynamic templates made of HTML, CSS, and DOM scripting.

A microcosm of your online investment.

Accordingly, factors like technical foundation, information architecture, or quality assurance—for example, through automated tests—are not covered here since the principles below have to be viewed independently.


Bad (and, even more so, non-existent) prototypes cost money.



Include everything that is used live.

The “What,” meaning page types and elements.


Include everything that is used live.

The “How,” meaning any other changes to the live website.


But: Dummy text is okay.

The use of realistic microcontent more likely means consideration of conceptual aspects as well as a lower risk of “implementation losses.” Different use cases serve visual integrity—do certain teaser constellations work, does the leading of long list entries read well, and so on.


Keep it simple, avoid redundancies.

The goal: A prototype must not become the live website.


Take into account a broad audience:

While web and software developers always belong to the audience of prototypes, other groups are often ignored. This is wasted potential—and wasted money. Furthermore, the “users” group means a change in requirements since it requires more realism and less focus.


Offer a stable URL in order to:

…which isn’t possible with local and temporary prototype installations.


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 will induce changes of the prototype. Make sure to avoid drift.


Continuous maintenance, even after project finish.

Potential jackpot: The next relaunch is just a redesign.


Communicate changes, no matter if related to prototype or implementation.

…as implied by earlier requirements.


Document design principles and characteristics (modules, constraints, snares).

This should be mandatory even though good, working prototypes rarely die of missing documentation.


A good prototype requires:


A good prototype means:

…and thus:

“More fun” through less frustration by fixing errors and bugs that have been caused by differing browser implementations. How many untested “sleeper” elements are there on your website?


Is your prototype (and your design system):

Was this useful or interesting? Share (toot) this post, or maybe treat me to a coffee. Thanks!

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens (long: Jens Oliver Meiert), and I’m a frontend engineering leader and tech author/publisher. I’ve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, I’m close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development (and engineering management), but also in other areas like philosophy. Here on I share some of my views and experiences.

If you want to do me a favor, interpret charitably (I speak three languages, and they can collide), yet be critical and give feedback for me to learn and improve. Thank you!