I recently found out about stikkit and have been thinking about it ever since. It’s premise looks very interesting to me. They take the idea of a post-it note, but start to discover structures in it. For example if you write (it’s all plain text):
Stuff to do
- Go shopping<br>- Feed the dog<br>- Take a shower
Which in viewing mode will appear like this:
Then I can click the bullet and it will mark an item as done:
If I look at the source of the note again it has changed to:
Stuff to do
- Go shopping<br>+ Feed the dog<br>- Take a shower
They established this interaction between a view of the data and the data itself that interact with each other.
If you write down something in a note that looks like a date is being added to the calendar. If you write down something in a note that looks like an address, such as:
Susan Jacobs [sample stikkit]<br>232 First Street<br>Portland, OR 97209<br>503-555-2344<br>firstname.lastname@example.org<br>http://www.valuesofn.com
Stikkit will recognize it as a "peep", change the colour of the note and add it to the address list.
Stikkit currently has three of these special "data types" inside notes: calendar dates, people and todos. This idea intrigued me. Can't it be made more generic? Why just these kinds of notes/kinds of data? Why not let users create these types themselves. This way somebody could start off by just scribbling down some things in notes, and then after a while when "note patterns" start to emerge, new note types can be created, so you essentially get a database of notes.
For example if one would write down this:
Name: Zef<br>Age: 23<br>City: Groningen<br>---<br>Name: Justyna<br>Age: 23<br>City: Poznan
This is probably something I could scribble down in a text document somewhere when I have to take notes quickly. But this is actually quite structured data. In fact it's <a href="http://www.zefhemel.com/archives/2004/10/30/yaml-because-xml-is-for-wussies" target="_blank">YAML data</a>. We could define a new type called Person which will have a name, age and city field. Once this type information is also "scribbled" down, we can start doing very interesting things with that. It just becomes a database. We can create views on the data and so on.
These are just some premature thoughts I thought I'd share. Welcome to my brain dump ;)