start as simple as possible

(Difference between revisions)

Jump to: navigation, search
Current revision (09:12, 16 December 2014) (view source)
m (Undo revision 64712 by Silinix (Talk))
 
(26 intermediate revisions not shown.)
Line 1: Line 1:
-
= Simple Start (Draft) =
+
<entry-title>start as simple as possible</entry-title>
 +
One of several [[microformats]] [[principles]].
-
The principle of <em>simple start</em> means to focus on solving a specific and immediate problem with your efforts. Very often, the simplest thing that could possibly work turns out to be an entirely effective solution, and no more work is needed.
+
short url: '''http://ufs.cc/w/simple/'''
-
The Microformats [[process]] emphasises the importance of following in the footsteps of previous efforts as much as possible, which enables more effective [[reuse]] of standards and semantics. Starting simple keeps the focus on what can be accomplished immediately, and making this work effectively, rather than spending additional time chasing conceptual or theoretical chimeras - possibilities that <em>might</em> have a general impact when implementing the standard, but then again <em>might not</em>.
+
== solve simpler problems first ==
 +
{{main|solve-simpler-problems-first}}
 +
 
 +
Large problems can often be difficult to solve and seemingly require complex solutions. Instead start with:
 +
 
 +
* '''simpler problems.''' The first step to creating a simple solution is starting with simpler problems.
 +
* '''parts of problems.''' Try to solve part of a larger problem rather than the entire problem.
 +
* '''specific problem.''' Look for a problem to solve in a specific real world domain, rather than a broad set of domains.
 +
* '''immediate problem.''' Prefer addressing an immediate problem over a (often simply hypothetically perceived) longer term problem.
 +
* '''80%''' of [[examples]] of behavior (not syntax). And even then, look at solving perhaps the 80% of instances of real world (see related principle: [[humans-first]]) uses of that specific problem rather than trying to solve 100% of such use-cases.  
 +
 
 +
== start with a simpler solution ==
 +
Start with a simple solution with few features, rather than a complex solution with many features.
 +
 
 +
Often, the simplest possible solution turns out to be the most effective solution. No more work is needed.
 +
 
 +
When given the choice of two solutions to a problems, start with a simpler option, which can be accomplished effectively and immediately, and find any actual shortcomings from experience. Avoid starting with a more complex option which may a priori deem to solve conceptual or theoretical chimeras; possibilities that <em>might</em> have a general impact when implementing the solution, but then again <em>might not</em>.
 +
 
 +
=== minimal vocabulary ===
 +
{{main|minimal-vocabulary}}
 +
One way of keeping a solution simple is to minimize the vocabulary that the solution uses, and certainly of those, minimize any ''new'' vocabulary that are introduced.
 +
 
 +
Minimizing the vocabulary used for properties (and values) of a microformat helps keep the microformat easier to understand.
 +
 
 +
Minimizing the introduction of new vocabulary is particularly important. Doing so:
 +
* Keeps microformats as a whole easier to understand (the smaller the total vocabulary of all microformats).
 +
* Reduces confusion with the re-use of existing technologies.  See [[minimal-vocabulary]] for more.
 +
 
 +
== make evolutionary improvements ==
 +
When any solution is designed and implemented, it is inevitable that some shortcomings will be found in practice.
 +
 
 +
It is better to find a few shortcomings, which can be addressed  through iterative improvements, than find out that you have spent time designing features which few if anyone uses in practice (but may have already cost developers time to implement, nevermind the hours/days/weeks of design-time debate).
Microformats should remain as simple as possible for as long as possible, collecting additional element semantics <em>only</em> when a significant practical need has been demonstrated for such additions.
Microformats should remain as simple as possible for as long as possible, collecting additional element semantics <em>only</em> when a significant practical need has been demonstrated for such additions.
-
=== Case Study - hAtom ===
+
When such shortcomings/needs are found in practice, they should be documented, along with the practical instances.
 +
 
 +
If there are sufficient instances (say, near ~80% as mentioned previously), then add improvements that address the ''specific'' shortcoming (avoid the temptation to add more ''generic'' improvements unless a need is demonstrated for such a broader improvement), and iterate as necessary.
 +
 
 +
== similar and related principles ==
 +
* [[humans-first]]
 +
* [[reuse]]
 +
* [[minimal-vocabulary]]
 +
* [[naming-principles]]
 +
* [http://en.wikipedia.org/wiki/Occam's_razor Occam's razor]
 +
 
 +
== case study hAtom ==
 +
* Atom specific person/author constructs were replaced by simple reuse of the existing [[hCard]] microformat
 +
* [[hAtom]] 0.1 omitted anything dealing with feed level metadata, leaving such information to the web page context.
-
* Removing Atom specific person/author constructs in favour of hCards
+
== loosely related at best ==
-
* Not dealing with feed level metadata - leave this to the web page context
+
The [http://www.startsimple.com/ Start Simple consultancy service], presumably makes use of the pre-existing and broader generic principle of "start simple" which can be [http://www.google.com/search?q=%22Start+Simple%22&start=10 found referenced on numerous websites].

Current revision

One of several microformats principles.

short url: http://ufs.cc/w/simple/

Contents

solve simpler problems first

Main article: solve-simpler-problems-first

Large problems can often be difficult to solve and seemingly require complex solutions. Instead start with:

start with a simpler solution

Start with a simple solution with few features, rather than a complex solution with many features.

Often, the simplest possible solution turns out to be the most effective solution. No more work is needed.

When given the choice of two solutions to a problems, start with a simpler option, which can be accomplished effectively and immediately, and find any actual shortcomings from experience. Avoid starting with a more complex option which may a priori deem to solve conceptual or theoretical chimeras; possibilities that might have a general impact when implementing the solution, but then again might not.

minimal vocabulary

Main article: minimal-vocabulary

One way of keeping a solution simple is to minimize the vocabulary that the solution uses, and certainly of those, minimize any new vocabulary that are introduced.

Minimizing the vocabulary used for properties (and values) of a microformat helps keep the microformat easier to understand.

Minimizing the introduction of new vocabulary is particularly important. Doing so:

make evolutionary improvements

When any solution is designed and implemented, it is inevitable that some shortcomings will be found in practice.

It is better to find a few shortcomings, which can be addressed through iterative improvements, than find out that you have spent time designing features which few if anyone uses in practice (but may have already cost developers time to implement, nevermind the hours/days/weeks of design-time debate).

Microformats should remain as simple as possible for as long as possible, collecting additional element semantics only when a significant practical need has been demonstrated for such additions.

When such shortcomings/needs are found in practice, they should be documented, along with the practical instances.

If there are sufficient instances (say, near ~80% as mentioned previously), then add improvements that address the specific shortcoming (avoid the temptation to add more generic improvements unless a need is demonstrated for such a broader improvement), and iterate as necessary.

similar and related principles

case study hAtom

loosely related at best

The Start Simple consultancy service, presumably makes use of the pre-existing and broader generic principle of "start simple" which can be found referenced on numerous websites.

start as simple as possible was last modified: Tuesday, December 16th, 2014

Views