
|
|
|
Web 2 site design
by O'Reilly:
In his book,
A Pattern Language, Christopher Alexander prescribes a
format for the concise description of the solution to
architectural problems. He writes: "Each pattern describes a
problem that occurs over and over again in our environment,
and then describes the core of the solution to that problem,
in such a way that you can use this solution a million times
over, without ever doing it the same way twice."
- The Long Tail
Small sites make up the bulk of the internet's content;
narrow niches make up the bulk of internet's the
possible applications. Therefore: Leverage
customer-self service and algorithmic data management to
reach out to the entire web, to the edges and not just
the center, to the long tail and not just the head.
- Data is the Next Intel Inside
Applications are increasingly data-driven. Therefore:
For competitive advantage, seek to own a unique,
hard-to-recreate source of data.
- Users Add Value
The key to competitive advantage in internet
applications is the extent to which users add their own
data to that which you provide. Therefore:
Don't restrict your "architecture of participation" to
software development. Involve your users both implicitly
and explicitly in adding value to your application.
- Network Effects by Default
Only a small percentage of users will go to the trouble
of adding value to your application. Therefore:
Set inclusive defaults for aggregating user data as a
side-effect of their use of the application.
- Some Rights Reserved. Intellectual
property protection limits re-use and prevents
experimentation. Therefore: When benefits come
from collective adoption, not private restriction, make
sure that barriers to adoption are low. Follow existing
standards, and use licenses with as few restrictions as
possible. Design for "hackability" and "remixability."
- The Perpetual Beta
When devices and programs are connected to the internet,
applications are no longer software artifacts, they are
ongoing services. Therefore: Don't package up
new features into monolithic releases, but instead add
them on a regular basis as part of the normal user
experience. Engage your users as real-time testers, and
instrument the service so that you know how people use
the new features.
- Cooperate, Don't Control
Web 2.0 applications are built of a network of
cooperating data services. Therefore: Offer web
services interfaces and content syndication, and re-use
the data services of others. Support lightweight
programming models that allow for loosely-coupled
systems.
- Software Above the Level of a Single Device
The PC is no longer the only access device for internet
applications, and applications that are limited to a
single device are less valuable than those that are
connected. Therefore: Design your application
from the get-go to integrate services across handheld
devices, PCs, and internet servers.
|
|
|
|
|