Bystroushaak's blog / English section / Programming / objWiki / Inspiration for objWiki

Inspiration for objWiki

I've collected countless inspirational ideas, posts, and quotes over the years. Here is the info dump, just so that you can see where I am coming from.

Note: this page will be updated.

Wikipedia

Relevant pages:

Random link dump

Dataspace 0: Those Memex Dreams Again (link)

Interesting articles from a person who has the same problems as I have.

A Gentle Introduction to Ted Nelson's ZigZag Structure (link)

ZigZag is an interesting data structure, usable for personal wikis.

Saturday morning hacks: Revisiting the notes app (link)

Interesting and pretty simple note-taking experiment in python.

What is still missing (archive)

Since the link is dead, I'll quote it here:

Basic innovations which is still not in general use, or even in use at all, which are all powerful aspects of a DKR which we can really benefit from:
  • A Journal which is a repository to which documents can be posted but cannot be deleted, only increased in version number if a new version is submitted. A basic and robust versioning system
  • xFiles. a data container, a format, conventions and structure for data storage for the DKR
  • Chorded Keyset. Doug invented more than the mouse and showed the power in having more opportunities to translate hand and finger movements to computer commands
  • Advanced Linking:
  • High Resolution Linking, so that a link can point to a specific sentence, paragraph or any other object within a document, not just to the document as a whole
  • Implicit Links through which the user can choose to view any corpus entry the text is implicitly linked to, such as a dictionary entry or a glossary entry
  • Basic โ€˜Hyperโ€™ Characteristics where embedded objects called links can point to any arbitrary object within the document, or within another document in a specified domain of documents - and the link can be actuated by a user or an automatic process to "go see what is at the other end," or "bring the other-end object to this location," or "execute the process identified at the other end." (These executable processes may control peripheral devices such as CD ROM, video-disk players, etc.)
  • Multiple Links from one place to allow the user to choose what aspect to follow
  • Link Types to specify what the link points to, such as supplemental information and so on
  • Backlinks & Link Databases so that the a document is aware of incoming links as well as outgoing links
  • Links in Images. It is of course possible to create image maps but the current tools do not support this for non-graphics people. Doug had the example of showing a basic map where each location name could be clicked on to jump to its corresponding document. This is not quick to do today. https://youtu.be/a11JDLBXtPQ?t=395
  • Rich ViewSpecs (View Specifications) Allows the user to decide how to view a document, including options to show only the first sentence of every paragraph and so on:
  • Structure Cutoff. Show only the statements that lie โ€œbelowโ€ this statement in the structure (i.e., this โ€œbranchโ€); or show only those following statements that are at this level or deeper; or show all of the following statements that will fit in this windowLevel Clipping. For the designated structure cutoff, show only the statements down to a specified level. Lower-level statements are โ€œclippedโ€ from the view; the worker can thus view just a selected number of the upper levels of his document/fileStatement Truncation. For those statements brought into view (as selected by other view specifications), show only their first n lines. Truncation to one line is often used, along with level clipping, in order to get an effective overview.Inter-Statement Separation. For viewing ease -- blank lines can be optionally installed between statements. (Note: The foregoing view controls are extremely helpful when studying and modifying a document's structural organization.)Statement Numbers and Names. Optionally, for a given window, show the Statement Number (or the SID) of each statement -- with an option for showing them at either the right or at the left margin. Independently, the showing of statement names may be turned on or offFrozen Statements. A worker may select a number of statements, in random order, and designate them as "frozen." One of the view-specification options is to have the frozen statements appear at the top of the frame, with the rest of that window left for normal viewing and editing. The frozen statements may be edited, or even cross-edited between any other displayed (or addressable) statementsUser-Specified Content Filters. A simple content-analysis language may be used in a โ€˜Set Content Patternโ€™ command, which compiles a little content-checking program. One of the view-specification options will cause the system to display only those statements which satisfy both the structure and level conditions imposed by other viewspecs, and which also pass the content-analysis test applied by this program. Where desired, very sophisticated content-analysis programs may be written, using a full-blown programming language, and placed on call for any user

Relevant link: Doug Engelbart.

A few words on Doug Engelbart (link)

Interesting quotes:

Christopher Alexander is the Douglas Engelbart of architecture. Both were so far ahead of their time that their work was like a UFO landing on the White House lawn. Alexander's Order of Nature is well worth the time to read -- and it took me the better of two months to get through all four volumes. A Timeless Way of Building and A Pattern Language were accessible to a lot of people, but it didn't result in the changes that Alexander was trying to spark. Order of Nature put's all of his ideas on a solid rational footing and almost painful detail. You can feel it when you read it, the intensity of his vision, the fear that people won't get it or dismiss it because they don't get it and the fear that it will never catch on.
The last time I was in the States, I presented a paper that was based on a lot of Engelbart's work which never really made it into the mainstream. I was at a conference and I had showed the paper to a couple of people before the conference and wanted their feedback. I was taken aside at one point, and in hushed tones was told to be very careful of becoming associated with Engelbart and that it could threaten my career in the field. I could see the same thing happening time and again to people in academia who try to teach Alexandar's ideas.

Also interesting: https://www.reddit.com/r/slatestarcodex/comments/8jqwdf/the_forbidden_classes_of_christopher_alexander/dz7xzmk/

Literate Programming Considered Harmful (archive)

When I imagine reading my fantasy ACCRETE book online, I picture something like a fractal document. At first, you get a one-sentence summary of the system. You can then zoom in and get one paragraph, then one page. Each section, you can expand, at first from a very high-level English description, to pseudocode elaborated with technical language, finally to the actual source code. But this sounds like a very labor-intensive production. You would begin with the completed code and then invest significant additional time into it.

Dynabook concept (link)

Quote:

Therefore the Dynabook concept stands on three feet:
  1. User engagement in producing his own tools;
  1. User support to ease his effort in editing or creating tools suited to histasks. These supports take the form of tools editor, likely some sort ofdocumentation, knowledge base in the form of an existing and embarked pool oftools the user can edit, duplicate, etc. A. Kay does not give much detail onthis point;
  1. A user language to both describe and glue together the user tools. Smalltalk was specifically designed with this task in mind: written in itself to let the user to learn from it -- part of the knowledge base, late binding to ease gluing, encapsulation in objects and communication between objects with messages, live development and debugging.

Hypermedia: How the WWW fell short (link)

Interesting post about what we are still missing on the web, but also in general in our apps.

Examples:

Ask HN: How to organize personal knowledge? (link)

Discussion on topic of personal wiki, note organization and so on.

If nothing else, you can see that for most of the people, this is a complete mess and pain.

Does anyone else keep their own knowledge wiki? (link)

Similar discussion, this time on lobste.rs.

Ask HN: Organizing company knowledge? (link)

And this time about company knowledge. Some good points about required features.

Notion โ€“ Document Reimagined (link)

Some interesting points about what people want.

Random hackernews post by miguelrochefort (link)

Interesting quote:

Stop thinking that software should be tailored to its users. People don't know what they want. People have a tendency to under-generalize. They think that because two things look different, they're different. They're wrong.

There is not as much difference between hailing a cab, ordering a pizza, sharing a video, shipping a package, flying to Hawaii, renting a room, sending money, taking an elevator, and selling your couch, as people are lead to believe. They're essentially the same things, and software should treat them as such.

We need a general purpose communication platform. Not one monolithic app to which all possible features were added, but something that can be extended to a wide array of use cases. I'm not talking about plugins, micro-apps, or a web browser. These usually give too much freedom to developers, which once again results in fragmentation. I'm talking about a language, English on computer-steroids.

By communicating through a computer, this language gains access to the world's knowledge. This language can challenge your thoughts. This language can predict your thoughts. You only need to be as verbose as what the language doesn't already know about you. With time, the language becomes more like a to-do list a la Google Now (i.e., tells you what to do next) than a notepad. This language is your interface with the past, present and future world.

English is text-based and linear. You start from nothing, then a word, then a sentence. I don't want a language where you start with nothing. Start with the entire state of the entire world (as some sort of hyper-graph), communicate by editing it. Edit edges, introduce new nodes. One place for every idea. Never repeat, support instead. Invest your social credit to augment the credibility/value of facts. Use it as a way to describe both the past, present, and future (prediction and/or wish). Follow the path of PROLOG, RDF and lojban.

Graph-oriented communication is what the world needs. I believe we can make it accessible, not without a learning curve, by the use of inference and custom renderers. I'm not saying it's going to be easy, but I can't foresee it not being done.

The true promise of Interactive Computing: Leveraging our Collective IQ (link)

Some interesting points about the app we all need, but don't know it yet.

Interesting keywords:

Interesting quotes:

We need more facile ways to traverse our knowledge ecosystem, as if we are flying around in the information space. We need to be able to quickly skim across the landscapes, and dive down into whatever detail suits our needs in the moment, zooming in and out of detail as desired. In a landscape of interrelated documents, commentary, scratch notes, articles, dialog records, research intelligence, todo lists, videos, manuscripts, reports, images, calendars, source code, etc., we need to be able to glance across with a variety of visual cues about whatโ€™s there and how it all relates. We need a GPS.

Everything I know wiki (link)

This guy publishes his wiki for the whole world to see. Really inspirational, if you have some time, go skim through it to inspire yourself.

The lost medium (link, archive)

Excellent long post about our inability to use computers to their full potential.

Quotes:

Everyone takes the structure of the computer world as god-given but the computer world deals with arbitrary stuff that all was made up by somebody. Everything you see on your computer, smartphone and any other device was made up by someone.

And the computer world is not yet finished.

Yet everyone is behaving as though everything was known. At 50 years into the computer revolution, it feels like our moment of greatest progress.

This is not true.

Todayโ€™s omnipresent graphical user interface has its roots in Doug Engelbartโ€™s ground shattering research of the mid-โ€™60s. The concepts he invented were further developed at XEROX Parc in the โ€™70s, and successfully commercialized in the Apple Macintosh in the early โ€™80s, whereupon they essentially froze. Thirty years later, despite thousand-fold improvements along every technological dimension, the concepts behind todayโ€™s interfaces are almost identical to those in the initial Mac.

Our interface is based on metaphors with the familiar non-computer world around us. Files are represented as documents in paper folders that are placed on a desktop. They are deleted by dragging them to the trash. Nevertheless some metaphors and features work very differently in the real world. Our adaptations constrain and mislead users, and limit designersโ€™ ability to invent more powerful interface mechanisms.

Analogies of the real world go on. Documents get written and read in sheet of paper-akin programs. Computer code is drafted line by line. Almost all of todayโ€™s representations were designed for the medium of paper. This limits us to pencil-and-paper thinking.

and

It would be a shame if going into the future weโ€™re still using outdated metaphors, pencil-and-paper thinking, code in text files or collaborating manually. When I look at people using digital devices, I see them adjusting to the limitations of the computer. They are sharing instead of collaborating, consuming instead of producing, following instructions instead of experimenting, searching instead of thinking. Have we learned anything from this fertile recent period, and from these great ideas and visions?

If we donโ€™t implement what we learn, it suggests we donโ€™t care about how it will change our society for the better โ€” or for the worse. It will show we donโ€™t care what the medium computer will look like. That we donโ€™t care how to make use of computers to augment our most human capabilities.

Our history shows if you free yourself from the idea that the current state of the computer world is the climax of our great progress we can almost magically give rise to new technologies, ideas and visions that do not only amplify humans, but also produce tremendous wealth for our society.

Recommended reading list (from the same post)

Technology is heroin post (link)

Post in the discussion about a book Tools for Conviviality and our relationship to technology.

For me, the more interesting point is about our inability to take control.

Interesting quote:

The book was influential in the development of the personal computer, especially through Lee Felsenstein. Alan Kay seems to have had a similar perspective, and you also see it in old school โ€œbicycle for the mindโ€ Apple. But something changed, I guess. Maybe mostly with the combination of 3G smartphones and mainstream social media.

We deserve better than Confluence and Notion (link)

Some interesting points on the topic of organization of information inside companies.

Interesting quotes:

But it is also too difficult to search in the raw data. That means it needs to be indexed, which can be achieved in many different ways:
  1. Put data in tree structures.
  1. Assign tags to data.
  1. Assign metadata to data.
  1. Group data by similarity.
A typical user of any knowledge management solution must be able to execute a few actions:
  • Create new content.
  • Collaborate with peers on a document.
  • Quickly retrieved a previous document deemed useful.
  • Explore and find specific content.
  • Be notified when content is updated.

Subpages

Become a Patron