Welcome to the Single-Page-Book Project
* Get a global picture from minute one!
* Zoom into the detail with one click!
* Zettlekasten your notes
* 100% web-friendly
(For the impatients: Take a tour at the [demo] or
[some real books].
A brief introduction
The Single-Page-Book format (SPB) try to fix those shortcomings providing the
best of all worlds.
- Mind maps are great at displaying
related topics toghether ("bird's eye view") but they fail to provide concrete information
about the topics themself
- Cheat-sheets are great at providing
daily-usage for a given tool, procedure, task, ... but fail to provide the global mind-map picture
in a bigger context
- Books are great for learning purposes but they are "bloated" with educational content
that is not very useful in repeated reads ("experts consults") and not very comfortable to
work with for daily use, specially when we just want to query some "how-to" time-to-time.
This is worse with electronic book formats like PDFs, WORDs or e-books since moving around is quite
un-comfortable on computer screens when compared to printed paper.
The SPB format can also be used for many other purposes that I did not contemplated
when starting the project.
- A (properly written) single-page-book will offer all the advantages of mind-maps,
cheat-sheets and books.
- The SPB "dynamically" allows to zoom into details or orbit around the
content with easy "a la Google Maps" and search/filter content quickly.
Most importantly it allows to inspect related content by browsing the
that important neighborhood-content
👉we will not search for, not even
because its part of the "unknown-unknowns".
- SPBs will allow to store as much information as possible no more than one click away
avoiding random searchs in Google/cheat-seats/emails/blogs/crystal balls/...
As an example I'm using a SPB formated page as my browser home-page to store all sort
of "random" things like contacts, bookmarks, projects and project canvas, work-in-progress, task-lists,
pending payments, home accountancy, travel-management, medical data, project-management,
resource-planning, english and french vocabulary, secret-key-store, etc ...
A moderm text-editor is all that needed to keep the info up-to-date
and accesible with one click. vim, notepad++, ultraedit, ... or any other
with support for macros is all that needed (and of course web browser).
Indirectly SPB promote "best-pattern" approach to documentation by:
- 👊Putting related info close to each other. Actually a single html text file will be used.
- 👊Don't repeat twice. This is easier once the previously spread information is
located in a single file.
- 👊Don't keep notes spread(hidden) amongst hundred of emails.
- 👊Don't hide important information digged behind random menus paths
and children pages:
Again, the risk of the Unknown Unknowns
can also be applied to documentation:
People will not search for important information until they are aware that such important
information exists, so we better place important information right into the main page.
- 👊Don't use proprietary formats for important documentation:
HTML will be well supported in any electronic platform and by many
different working groups for always, propriertary formats will not.
The tag language used by HTML is plain human-readable text, which make of it
an even better standard.
- 👊Check quickly what rest to be documented.This will automatically save many
disputes at work:
""You know it was not documented and everybody knows that you knew it, and
you know that everyone else knew that you knew it, ..."""
What the SPB IS NOT:
How does it Compares to:
- Note taking apps like Evernote:
Evernote (and others) are high-level user visual apps.
They use some form of propietary database format
to store the content and propietary services to synchronize the
On the other side SPB follows the philosophy that the database formal
must be as simple as possible. Actually is plain HTML (that's, text files).
This makes of it a much less friendly app for newcomers, but allows
to reuse many powerful tools like existing text editors, or
It also allows for "complex" things like embedding SVG images,
videos, iframes or any other technology supported by modern browsers,
SPBs can be embedded/integrated with easy in existing Web sites, Evernotes can NOT.
Since version 1.1 SPBs allows to create printed books (or sub-books) of the content,
again by just profiting from standard CSS technology in any modern browser.
SPBs allows for collaborative work and version control through systems like
Git, Evernotes doesn't.
Probably "normal" users will be happy enough with Evernote while
advanced users who feel comfortable with text editors and git
and/or wants to enhance the power of their web-sites will prefer the
- PowerPoint presentations
Metaphorically speaking, if Power Point is an Apple Store of documentation
in Fifth Avenue where iphones are sold, the SPB is the Apple
factory in Asia where document information is stored, assembled and tested.
- Learn X in Y Minutes
Learn X in Y minutes (and others like cheat.sh)
have surged to create a "learn-fast" path for newcomers. They make a great
job for what they have been designed. Still they will fail once we try
to get deeper into any complex technology and they don't provide tooling
like "search-by-topic" in SPB. Learning data-science or IA or modern
language programming is not about one cheat-sheet, but about many
SPB can be used to create a better "learn X in Y minutes".
This is how learn x in y minutes :
presents java to newcomers and this is how SPB
presents java to newcomers and seniors developers
- Zettelkasten knowledge and info management.
Zettlekasten follows a set of
patterns for advanced documentation and note-taking.
Actually SPB do not compares to, but can be used as a way for "Zettelkasten"ing.
Some tools have been developed for Zettelkasten. With SPB, the tool is your browser!.
Actually "Zettelkasten"ers looks to like the SPB format according to
some comments in reddit.
- Content Management Systems (CMS).
A CMS is an application running 24x7 in a server "somewhere in the Internet".
The SPB is NOT a server or any other type of software, just plain HTML (OK, and
The content on a CMS is stored in a central database running also "somewhere in the Internet"
The content on a SPB is the HTML file in your local hard-disk. Since it's HTML (plain text)
you can use some tool like git to put on a central or distributed system (and branch, fork or
collaborate with your team).
CMS is more user-friendly ... once you have a server running 24x7, and some CMS
admin is out there to "keep it alive" and the network is up and there are backups in
place and users agree of common usage pattern, and someone/somebody takes charge of
cleaning repeated information and same topics are used by anyone, and users are notified
of other users changes ... and users don't get used to think that the CMS is a place
to "pile" random word and powerpoint files and care is taken to avoid repeated content
in different places (or even worse, different versions of the same content anywhere)
OK, you know, CMS most of the times does not work as planned.
It requires lot of attention and discipline by end users (and CMS administrators).
SPB can be seen as a lightweight Wiki. Actually Wikis can be seen as lightweight CMSs.
A Wiki usually also need a server running 24x7 and Wiki operators to maintain it.
Similar advantages / disadvantages than in the CMS should apply. Actually the Wikipedia
is the only Wiki/CMS I'm aware that run as expected once they managed to have
a server running 24x7, and some CMS admin is out there to "keep it
alive" and the network is up and there are backups in place and users agree of
common usage pattern, and someone/somebody takes charge of cleaning repeated
information and same topics are used by anyone,
- Plain TXT and "Notepad" note taking
Important things (those that affects thousands of millions of people every day)
are written down in txt.
HTML and by extension SPB, also likes txt. Just put your important staft inside
<pre zoom> tags (pre: pre-formatted).
- Canvas like boards
With some minor training on how to layout elements, SPB can also be used as a
simple canvas-like application (and again, being pure HTML/txt, you can profit from
all the "goodies" of git to version or branch your project canvas).
With good programming skills it can also be used as a complex canvas-like board,
by just rendering the HTML "somehow" from a remote server.
Digging into SPB
SPB profits from all the excellent work invested in modern
Web Browsers to provide static and dynamic content:
A modern browser can parse and render tens of megabytes of HTML per second,
and Internet connection is fast enough to play video, so loading page-by-page
does not make sense anymore. The cost of a new page requests is much higher
than the cost of keeping everything in memory. Also offline navigation comes for
Current web sites (and electronic book formats) follow the page-by-page
inherited from printed-paper. Actually being able to zoom in/out "a la Google
Maps" provides a much comfortable UI in electronic devices. Starting from a zoom-out
and arranging content properly provides a mind-map of the information for free.
In practice a SPB book is just a single web page profiting from a thoroughly
Current list of Single Page Books:
- a list of example single-page-books I've created while working on different topics can be browsed
Pull-request and bug-reporting contributions welcome!