From: rubyhacker@... Date: 2005-07-20T05:55:56+09:00 Subject: Re: Refactoring Tycho API - Opinions wanted > 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. Sure, could be anything -- addresses, URLs, quotes, code snippets, lists, etc. > http://handhelds.org/cgi-bin/cvsweb.cgi/rb-pim/ You're eventually targeting the handheld? Coolness. I also want to integrate outside apps with Tycho. Let them share data and let Tycho be a browswer for all of them. > app.find_note vs app.find_topic vs topic.find_note > this distinction necessary? isn't it 'just' an additional > lter? (you probably have a reason for this, I'd like to know) The distinction between notes and topics is necessary. Think of the Unix find, how it can do "-type d" or "-type f" for an analogy. There is some redundancy in the API. Most of it is just for convenience or readability or conciseness. > 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) I'm uncertain how much mind-reading I want the app to do. Someone once looked at it and said, "Oh, it's a file manager." No, it isn't. :) But I do like the idea of being able to refer to files and launch (various) applications on those files with single button presses. Maybe even add a feature that would import whole directories into topics, and add action buttons for each file based on its type (and the apps available on the system). > 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.) Maybe optionally make certain terms clickable in the GUI on a per- note per-term basis. > Allow hidden topics/notes? > What for? (or, hidden for whom?) Possibly just to get them out of the way (like dot-files in Unix). Possibly to disallow copying them when info is published (e.g. on the web) or shared (with another person running his own app). > Allow password protection or security on topics/notes? > don't we have multi-user computers for that? or private computers > (handhelds, phones)? It might conceivably be run in a "repository-like" fashion, i.e., multiple remote users. Could be "readable" by everyone, "writable" only when logged in, or whatever. > 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). That is an example of where you would write a little script using the API. The script itself could be stored in a note, perhaps with a "Run me" button or the equivalent. It could then find all its siblings and treat them as data. > I don't understand the implementation notes about dir001/dir001 vs > 1:13:135; where do the numbers come from? (what key?) The numbers are meaningless, assigned sequentially within each level. "1" is root; "1:1" would be the first topic under root and "1.1" would be the first note under root. (They may be sorted or rearranged in many different ways when they are presented, of course.) > Dunno whether I "get it". Part of it, at least :) The version on rubyforge *should* work -- it's just old and not full- featured by any means. But you can do searching and sorting and add/delete notes and such. And it comes with several hundred notes already -- all the 'ri' data, a snapshot of rubyforge, and the TOC for _The Ruby Way_. Also a few little demo notes. > See some 'find' CLI session example below. This is the sort of thing Tycho would be good for, *except* that you would either have to enter the addresses free-form or wait for some kind of "template" or "field-oriented" feature to be added (which is on my list). Hal