|
OOFILE | Downloads | Purchasing | Press | Services | Company Information | Soapbox | References | F.A.Q. | HOME |
|
I PIMLite User Interface Round 4 |
|
Greetings, or hello again! It's been a long time since the original Human Interface beta. The responses have been fantastic and have sent me on many a wandering path exploring concepts of human interface design and managing information. If you're new, this collection of documents describes a new information organizer called Write Ideas (the internal project name is PIMLite). Write Ideas is a "spiritual successor" to a commercial product ThoughtPattern (nothing to do with me). Write Ideas allows you to edit notes with full word-processor formatting features, and cross-reference and retrieve your notes in a variety of ways. These beta documents will be the last formal HI beta. I may contact some of you again to clarify your responses or discuss issues you raise, but the coding will start within a few weeks of you receiving this beta - it all depends on how fast the responses come in. (Note: that a lot of the basics are already written — the major job is just coding up the interface - I'm NOT starting from scratch.) If you haven't received all or any of the previous HI betas, don't worry too much. Have a look at the "Questions - Old, still relevant" document. The "Questions - NEW!" document is IMPORTANT! as it contains the remaining formal questions I'd like answered. Other than that, feel free to comment on any aspect of the design, or ask as many "silly" questions as you like. To help with this, I've written all the documentation in plain TEXT files, and only used PICT files for screen shots. You can use TeachText or any drawing program to view the PICT files. You may want to start with the "Example users" document (and some of you star here!) to get an idea of the product's capabilities in terms of specific people's problems and how they can solve them with PIMLite. The "Menu choice details" document provides a good list of the functions of PIMLite as it explains all the menu items (other than absolutely standard Mac menus). The thrust of the redesign has been towards simplicity - more direct manipulation, and simpler concepts. As a parent who's often a one-handed Mac user I've tried to make the program usable with plain mouse gestures or keyboard commands. Throughout these documents, the codename PIMLite will be used for the product. "Write Ideas" is currently the preferred release name, and trademark registration is proceeding. You may find some of these sample screens a trifle "rough" looking. The aesthetics of exact sizes and positions of fields will be cleaned up later, and nice color versions produced. I will try to do something about the infamous "color crawl" where many word processors are umpteem times faster when running in black and white (MS Word is an example of this). Note: if you are a commercial venture looking for something beyond the facilities offered in the PIMLite product, custom versions can be arranged. This includes multi-user capabilities and many of the other features described for future versions. The system on which PIMLite will be based is a multi-user classified advertisements publishing program. It runs on Classics, in about 900kb, for the WYSIWIG entry and editing of ads. A more powerful Mac is used to image the entire pages of ads and print them. The database engine used in PIMLite (c-tree) is used in over 360 000 user sites around the world, in products such as Great Plains Accounting. |
Basic conceptsDOCUMENT TYPES PIMLite uses two kinds of documents. One is a single word processing document, much like any other word processor. This includes TEXT files and, if you save an unformatted document, it will be saved as TEXT. The second kind of document is more interesting: a PIMLite database which allows many sets of notes to be stored, and comprehensively indexed. NOTES Information in a PIMLite database is stored in Notes. These Notes can be effectively unlimited in length and can either be left as plain text, or word processing formats applied. Each Note has a Title which is used for list displays and sorting purposes. In some cases (eg: names and phones) you may not even bother with a Note, and just have the information in the title. Titles can be up to 63 characters long. TAGS The indexing and cross-linking of Notes is by means of Tags. Tags are applied to notes in a number of ways, including manually entering a Tag or automatically cross-indexing to create Tags. Tag names are also up to 63 characters long. A tag can have contents, which are either: - a list of other tags, or Aliases of tags (more on this later) - a date/time combination - a number Tag names are UNIQUE! A tag can however appear in multiple places using the Alias mechanism (like files under System 7). TAG VALUES If a tag contains a value such as a number or date/time then the actual value varies for each note that's tagged. For example, there is an automatic date/time tag called "Date Created" that is set to the date and time that you added the note. To illustrate storing a number; you could have a "Car Fuel Expenses" tag and enter a different amount for each note tagged. Number values can be summarised in the Value Report option on the View menu. TAG HIERARCHIES Tags are organised into a hierarchical relationship by dragging tags into other tags. The destination tag can NOT be a number or date/time value tag. Tags can appear in multiple places by placing an Alias of the tag in other places, exactly as you can have file aliases in System 7. |
Example UsersThe following are descriptions of a few theoretical user situations, and some real requests. I've tried to show how different aspects of PIMLite can be used by these widely varied users. Note that some of the facilities mentioned below (eg: Links and Calendars) will not be in the v1.0 release, purely for the sake of getting the wretched thing out the door. Sally Secretary Answer: Sally types all her letters into a PIMLite database. She occasionally imports letters written by her juniors using the XTND import facility. These letters are cross-indexed when imported. Sally uses the Calendar view to manage appointments and uses a custom sort order that combines two tags - Date Due and Priority. (Sally's Priority tag contains a list of tags: "A. Panic", "B. Yesterday", "C. Someone else can do it" and "D. Bury this"). Occasionally, Sally has to summarise all correspondence relating to a client or a given issue. This is done using the Save As… menu item on the File menu. She often produces two reports — one by client and one "lateral" report covering all issues on certain key tags. Sally has set up a number of tags containing aliases of key tags. She can use these tag lists to quickly search across topics.
George Graphicdesigner Answer: George keeps several PIMLite databases. He has a master correspondence database for client letters as well as a new database for every project. The project databases are used to keep track of miscellaneous expenses as well as George's ideas on the project. He often pastes low-resolution copies of the work into the database as a reminder of a concept. He also uses the Links facility of PIMLite to link all CAD documents into the project database. Fred Computernerd Answer: Fred keeps a PIMLite database of all his email contacts around the world and stores the correspondence with them in very long, growing notes. He doesn't cross index but has a fixed set of tags which are used for indexing. His projects are managed by a PIMLite database each, where he uses a "Date of version" tag to organise the lists of program changes, which are cross-indexed. He often uses complex searches with combinations of tags to see what routines have been changed. Fred recently became interested in Quality Assurance and has started experimenting with the "Sort by frequency…" option to analyse change patterns. dx Answer: dx can easily enter his notes and tag them with any arbitrary tags he likes (remembering the 63 character limit on tag names). When he wants to organize the notes, he can create master tags to group them by, and drag aliases of his tags into those masters. A simple Search by Tag on a master tag will find all notes tagged with the master, or any of the tag aliases contained in the master. Don Answer Don can keep all his rough ideas and notes in one PIMLite database, and use the tags to sort them out later. Using the "Combine…" option he can create documents containing a number of notes, with the chosen tag(s) as headings. Robert When I have this hypertext outline set up, I want to build threads which arbitrarily link entries together, serializing them. I want support for multiple different threads, possibly with shared subthreads, possibly with different versions of the shared subthreads. I want it to run on a Mac. Answer: Robert can create his associated text entries by using common tags. If he double-clicks any one of these tags with list view frontmost (or selects a tag and presses the Search button) then he will see the list change to the tagged items. Robert can use the "Sort by Tag" option to serialize his threads. He can set the order in two ways: 1) assign a number tag to all the entries in the thread and enter numbers to set the order, or 2) use a tag containing a list of tags, and have the thread sorted alphabetically by the tags in the list. Either of these approaches will allow him to have the same note belong to different threads, and appear in a different order in those threads. If he builds these "thread tags" into a hierarchy then he can even have the shared subthreads he desires. In the future, the standalone hypertext generator will let Robert create even simpler interfaces to run his hypertext outline. Andres 1. be able to take notes on these guys as well as quote them, having a way to distinguish which is which: in other words, I want to be able to have switches to look just at primary sources --their words--and also only at what I have to say about them. 2. be able to link cards together, but it would be nice to: a. be able to link a word in a card with another card. b. be able to link all cards that have a given word. c. define keywords for establishing links 3. be able to navigate my text easily (say through labels on the cards) I shall be using this day or night. (If I can get anything better, I am ready to write a database program to accomplish at least some of these things). Answer: Andres can use tags to distinguish between notes on people vs their quotations. His linking and navigation can be setup by cross-indexing the notes to create his tags. After generating all the tags, he can organise them into a hierarchy. To navigate from one note to another, Andres can click on the tags in the "tag area" of the note and press one of the navigation buttons to either go to the next or previous note with that tag, or see a list of all tags with that note. |
Features and Version PlanningThe following list of features planned for the versions is partly to prevent any further blow-out in the feature list. There are a lot of you waiting for basic note management, so I want to get v1.0 out as soon as possible. Depending on your feedback, some features planned for v1.1 and v1.2 may move around. Some of my favourite ideas are in those releases and they WILL happen, I just have to restrain myself in order to get out of the design phase! Version 1.0
Version 1.1
Version 1.2
The following features may be part of the v1.1 or 1.2 release, or may be reserved for the retail version. To some extent this depends on you — if shareware sales justify it then more features will "trickle down". Multi-user support
Views
Import - plug-in import filters Recompiled for PowerPC, to give better performance on PowerMacs machines Support Apple's new Drag Manager, so you can drag portions of notes between windows, and drag between PIMLite and other products. Scripts menu (Frontier menu-sharing). Create standalone hypertext viewers, similar to Think Reference. "Base reference" ideas, for hypertext support: If you have a note which has the same name as a tag, then the note is called the "Base Reference" for that tag. In terms of a hypertext viewer, the other notes tagged with a given tag will show that phrase highlighted in some way. If you click on the highlighted area, the Base Reference note will be displayed. When looking at the Base Reference, the other notes that are tagged with its referring tag are listed on a "See Also" list. |
|
Indexing detailsThis is a description of the concepts of how tags are used to index the database's Notes. Tags are the sole means of cross-indexing information and so have been made very flexible. There are basically three ways for tags to become assigned to documents: 1) Manually, in either the Tags or a Note window 2) Cross-indexing to apply or create tags 3) Auto-matching to apply a set of tags to any notes that match (a restricted form of Cross-indexing). 1) Manual assignment If a Note window is uppermost, then a tag can be created by choosing Tag Selection, and the tag will be created with the name of the currently selected area. This creates Text Tags, rather than Value Tags (ie: not date/time or numbers). The tag is created in the same position in the hierarchy as the last tag you created. This gives you a good shortcut for entering a number of tags without having to assign each its position one-by-one. Remember that you can move tags around within the hierarchy later. 2) Cross-indexing Cross-indexing is an automatic procedure that converts every single word in the note into a tag. The exception is for words that are on the "stop list". The "stop list" lists words (one per line) that are to be skipped when cross-indexing. The initial stop list is contained in the PIMLite Preferences file and is edited through the Preferences command on the File menu. When you create a new database document, the stop list is copied from the preferences, to a number of tags contained in the tag Stop List. You can then add any other tags you like to this tag. This gives the flexibility of a standard stop list, with local flavouring for specific databases. The tags that are created by the cross-indexing process are all put in a tag named "Cross-index", unless they alread exist. In that case the existing tags are left in their current position in the hierarchy and the relevant notes are just tagged with the existing tag. 3) Auto-matching Auto-matching allows you to cross-index, but with the list of possible tags preset. It saves having a lot of single word tags generated. It is also very useful if you tend to use phrases of several words in your tags. When you auto-match, you specify a tag containing the list of candidates (or All Tags). If any of the tags in that list match words or phrases in the notes being indexed, then they are applied to those notes. There is no restriction on the number of tags you can test when auto-matching, but obviously the more used the slower the checking, as each note is scanned for multiple tags. |
List Window DetailsThe list window is fairly self explanatory. There are a few icons at the top and a status area that displays: - the number of entries found and the sort order - the search type The icon buttons at the top of the list allow you to - delete a note or set of notes - display the Tags window - add a link or display a linked file (if the link already exists) - remove a link There is also a checkbox to allow you to edit titles directly in the list. With the box checked, you can simply click on a title and change it, without having to bring up a Note window. This will be very useful for people keeping names and addresses - they may well have both the name of a person and their phone number in the title. Closing the window: Closing the List window is considered to close the document. It closes any Note windows that are open (saving them in the process) and closes the Tags window, or any other Tag views that are also open. Double-clicking: Double-clicking on a title in the list will vary, depending on the Edit In List checkbox. If the box is checked then double-clicking will just select a word in that title, like any editing situtation. If the box is not clicked then double-clicking will display that Note in its own window. |
|
Menu Choice DetailsThe following is a brief description of each of the non-standard menu items. All items not mentioned may be assumed to follow standard Macintosh behaviour.
File menu
List menu
The remainder of the Windows menu shows a list of all the open windows. If you have multiple windows for a database (ie: List, Tags and several Note windows) then they are grouped with a dividing line from the rest of the menu. |
Note window details
|
Details about the Tag Entry window.This window allows you to combine the operations of entering new tags, renaming tags and moving tags around in the hierarchy. The two lists on either side of the window have no significance - either can display any part of the hierarchy. You can rearrange tags in the hierarchy by dragging the tag within its own list, or dragging across to the other list.
The Tag Notes buttons also allow you to apply or remove a tag to/from the current note, or selection of notes in the list.
The triangles next to tag names indicate that a tag contains a list of other tags. If you click on a triangle and it rotates, you see the indented list just like the System 7 "View by Name". However, this has been enhanced to cope with thousands of nested entries. If you rotate a triangle to reveal a very large list of tags (threshold set in Preferences) then the scrolling list is broken just above the bottom, with a draggable divider. Below the divider is shown the tag immediately following the one you just opened out. (See "PICT - Tags Window" for an example, in the rightmost list.) |