> 1. Start with the API, test it heavily, worry about GUI later > 2. Learn from my mistakes over the last two iterations :) > 3. Use KirbyBase for storage (for now), as it is simple, Rubyish, > and runs everywhere wil have to check that, I'm using ruby itself, running eval(buf) to load a database. Faster than xml or yaml stuff :P > In short: Tycho is a tool for managing random information > in the form of "notes" arranged in a hierarchy of "topics." Could be addresses? Which is what I coded in the past few days. with a simple CLI interface, snippet below, no API, yet. And I don't want to stop at mere contacts/addresses. http://handhelds.org/cgi-bin/cvsweb.cgi/rb-pim/ common/hash.rb common/array.rb address/ # almost all files > Example uses of API: > - grab certain RSS feeds and store them > - scan the latest 'ri' data and store it > - write alternate interfaces (web, etc.) Yeah, would be nice. iPAQ doesn't work for a CLI. > - perform ad hoc analyses of all content If you wish :) > ==================================================== > NOTE: My latest scribblings on the API are really > where I'd like feedback at the moment. > > See: http://rubyhacker.com/tycho/apinotes.txt > ==================================================== app.find_note vs app.find_topic vs topic.find_note is this distinction necessary? isn't it 'just' an additional filter? (you probably have a reason for this, I'd like to know) Possible future standard metadata uses: Which user/instance of the program initiated this add/change/delete? Make topics or notes read-only? Protect topics/notes from being deleted? Allow a note to refer to an external file rather than storing the data? Sure, why not? I can give an URI, either way. So why not accept it and be able to show it (start another program to show it). This could include email addresses to start an email client; phone numbers to dial someone (for a smartphone, or using whats-the-open-alternative-for-skype-again) and implicitely cross linking in the notes themselves. a note saying "Ask Hal about Tycho" should enable me to search the contact of a certain "Hal" and other notes about "tycho". (myeah, that's working with the content, not the metadata.) Allow hidden topics/notes? What for? (or, hidden for whom?) Allow password protection or security on topics/notes? don't we have multi-user computers for that? or private computers (handhelds, phones)? What I'm also interested in, is exporting a set of notes or parts of notes to other files (specifically, I want to print addresses of my contacts; but maybe that's too specific for a general function). I don't understand the implementation notes about dir001/dir001 vs 1:13:135; where do the numbers come from? (what key?) > Obviously you're free to say things like "I just don't > get it." I'm hoping however that you *will* "get it" and > will have some high-level comments about the API. Dunno whether I "get it". Part of it, at least :) See some 'find' CLI session example below. +--- Kero ------------------------- kero@chello@nl ---+ | all the meaningless and empty words I spoke | | Promises -- The Cranberries | +--- M38c --- http://members.chello.nl/k.vangelder ---+ ## PIM/address> search K 1: Kero van Gelder 2: Mr. X (with a capital k somewhere else in his record) ## PIM/address> show 1 name: Kero van Gelder born: 30 Aug 1974 [locations: old-home2, dummy, old-home, home, work] ## PIM/address> location dummy address: For demo purposes only code: city: phone: mobile: 06-beepbeep email: kero@chello@nl url: http://chmeee.dyndns.org/ ## PIM/address>