The Nooron Pattern Language
Nooron is a comprehensive approach to working with information.
It is built to simplify reuse.
It accelerates software creation and distribution.
It can be understood as the interaction of the following patterns.
- Agile Software Development
- Individuals and interactions over processes and tools.
Working software over comprehensive documentation.
Customer collaboration over contract negotiation.
Responding to change over following a plan.
- Fully Automatic
- For new or casual users the utility of
software is grounded in its clarity,
predictability and reliability. Making
every aspect of a system 'good enough'
makes it easy for new users to get started.
Having 'good enough' features trickle down
from power users automatically is one
way to provide usability for everyone.
- Peer To Peer
- Facilitate system scalability
and self-organization
by permitting or requiring that
the computing resources of the users
are contributed to the overall system.
- Extensible Architecture
- Build flexibility into
the very nature of a system by basing it on
well-defined interfaces and simple interactions.
- Radical Openness
- Permit a system to benefit from the
contributions of all comers by erring
in the direction of open write permissions
and relying on trust, peer review,
and ratings to put control over
the signal to noise ratio into the
hands of the viewer rather than having
to be the responsibility of a moderator
or administrator.
- Not So Basic Authentication
- Users own and maintain
their identity and preference information at a location
of their choosing and minimize registration effort at
sites they visit.
- Criteria and Evaluations
- The implicit criterion in most rating systems is
'goodness'. Every adjectival phrase is a potential
criterion and hence a potential dimension along which
evaluations may occur. This infinitely extensible
space is the space of human opinions. Criteria and
evaluations can be used to filter, order, improve
and inform rich representations of information.
Goodness is not enough.
- Knowledge Representation
- Represent knowledge in the form of
conceptual categories (called classes) and
instances of those classes (called individuals)
in such a way that computers can manipulate the
knowledge by storing it, retrieving it and
performing inferences on it.
- URLs Have Meaning
- Enable users to request output in
particular file formats simply by
tacking appropriate sequences of file
extensions onto the ends of URLs.
- Collective Intelligence
- Maybe together we have enough
intelligence to solve some of the really
big problems.
- World Views
- An information system
which specifically supports the creation and
improvement of caricatured 'Points of View',
'Perspectives' or 'World Views' makes possible
a new kind of intellectual tourism where we
view the familiar in new ways or find new things
which are invisible from our habitual perspectives.
These every-colored-glasses may
accelerate the evolution of the traveller just as
they may accelerate the evolution of knowledge,
the identification of the roots of conflict and the
creation of consensus.
- Don't Repeat Yourself
- Every piece of knowledge must
have a single, unambiguous,
authoritative representation within a
system.
- Semantic Web
- Transform the experience of users
of the World Wide Web from
surfing-between-interlinked-statically-formatted-pages,
to
interacting-meaningfully-with-meaning.
- Recombinatory Knowledge
- Keep different kinds of
knowledge properly separated into containers
which can be 'composed' with other knowledge
to support multiple uses, and diverse
purposes unimagined by their creators.
- REpresentational State Transfer
- Make URLs a powerful part of the user
interface for a web-based application by
ensuring that clearly understandable
parts of the URL are equivalent to subject,
verb and object.
- Versioning
- Keep track of the distinct, successive
(possibly branching) states that information
goes through.
- Self Organization
- Self-organization is the
basis for the most complex, powerful systems
known. Brains, life, and the universe
itself exhibit the properties of spontaneous
complexity generation, information
manipulation and replication which underlie
self-organization. Software systems which
embrace these design principles can similarly
be sources of surprising novelty.
- Peer Review
- Filter and improve human intellectual
efforts by having fellow lovers of quality
provide feedback and rating.
- Fully Configurable
- For technical or 'power' users
the utility of software is grounded in its
openness, automatability, and
customizability. Making every aspect
of a system understandable, configurable
and replaceable makes it possible for
the needs of serious users to be satisfied
indefinitely. People who are 'power users'
in some contexts can still appreciate
simplicity during more mundane tasks.
- Literate Programming
- Generate the documentation
for a system from the source code for the system
so programmers are supported by
their tools to create and learn from better
documentation, and probably create better and
more understandable code.
- Aggressively Free Software
- Free Software (ala the GPL)
as opposed to narrowly
Open Source Software is unambiguous about
its availability and clearly committed to the
creation of a digital commons.
- Citizen Scientist
- The professionalization
of science interposes scientists
between us and our participation in
the improvement of knowledge. Citizen
Scientists take an active role in
creating their understanding of the
world.
- Text Considered Harmful
- When people make the effort to
express themselves in knowledge rather than
text, they make it easier for machines
(without AI) to process their utterences
usefully. In turn, this means computers
can do a much better job of helping us
reuse, improve and
(through richly 'typed' representations)
understand our collected knowledge.
Writing text is a
form of expression whose usefullness lies
somewhere on the spectrum between screaming
incoherently in the wilderness and
crafting fully machine-understandable
knowledge in Cyc.
$Id: pattern_language_intents.html,v 1.10 2003/07/09 16:35:13 smurp Exp $
Show Source
|
available garments:
pattern_language_app
pattern_language_graph: dot ps png svg pdf
pattern_language_article: dbk rtf pdf tex txt
pattern_language_intents: html
pattern_language: html
nooron_app_instance
nooron_app: html
generic_article: dbk rtf pdf tex txt
:KB
entity_relationship: dot ps png svg pdf
classes_in_kb: dot ps png svg pdf
class_hierarchy: dot ps png svg pdf
kb_ancestry: dot ps png svg pdf
kb: html
:THING
frame: html
frame_details: html
available actions:
put_frame_details.html
save_data.html
|