In another thread, mouser mentioned that discussion needed to happen regarding CHS' interface. As I was thinking about this, I realized that the interface would be highly contingent on "what" CHS is supposed to do. Therefore, before discussion on interface can begin, the overall function of CHS should be defined.
As far as I'm aware (correct me if I'm wrong, mouser) CHS is going to be branching out into more of a shell program containing different plugins. Each plugin will use a database to perform a specific job. Currently, CHS supports a clipboard plugin, where every bit of text from the clipboard is kept in a database. Another idea for a plugin would be a "notes manager" or "miscillaneous information organizer" (ahhhh spelling!). The reason for the plugin system is so users could determine how in-dpeth they wanted to get: if they just need a clipboard tool, they can have it. If they want a notes manager they can have it. If they think of something entirely new, they can have it (maybe).
In thinking about this concept, there are things that any program supporting these two functions should have:
1. Filtered database - for fast searching/organization (sort of like what is currently implemented for CHS). I imagine a database backend where all data is stored. Treeviews, table views, and text views would be a way to organize that data. Further I think it would be cool (though difficult) to allow limited mind mapping type support. Basically, CHS stores data in a file and allows users to organize it the way they want!
2. Format support - plain text for those who want it, RTF for those who what formatting, and HTML and XML would be nice. This would also allow people to store information in table form, hyperlinks, etc. (Keynote was going to use TRichView (www.trichview.com
) as it's richedit component... just to give an idea of what is implied here).
3. Import/Export - This is a huge deal to me... data is no good if the program you are using cannot get it out to be used by other programs! Once again, plain text, RTF, HTML, XML, XLS, LOL, BRB, ETC would be nice.
4. Scripting support - allows people to automate routine tasks!
These are things I think are important. I have no idea how easy they are to implement and there are probably some things I have overlooked. This topic is for the discussion of general ideas for CHS. Suggestions should be applicable to multiple plugin ideas (particularly to the Clipboard and notes ones mentioned above), or can be other plugin ideas. Basically, what should CHS do and what big pieces are required to get the job done. Once this has been discussed, interface design can be discussed.
Finally, since mouser is the one doing the coding, any feature suggested by anyone else is not guaranteed! I will try to keep this post updated with new requests so you dont have to scroll down to see new ones all the time (this also is not gauranteed!!). So let's discuss!