Matt Gemmell

My new book CHANGER is out now!

An action-adventure novel — book 1 in the KESTREL series.

★★★★★ — Amazon

Memoir design questions

Source 2 min read

I'm currently pondering a few questions regarding Memoir's design and 
implementation. Now's your chance to exert some creative influence.
In no particular order, these are the issues I'm fretting over right now, 
numbered for ease of reference. As you read these, you might find it helpful 
to refer to the <a href="http://mattgemmell.com/images/memoir.gif">screenshot I posted</a> previously.
  1. Entry titles
    Should diary entries have titles at all, as they do in the screenshot ("Just another day...")? Writing titles for blog-posts is something I find difficult, and often a stalling point. Also, real-world diaries don't often ask you to write a title; you simply get on with the content.

    Bonus question, if you think there shouldn't be titles: should the entries list at the top just show the first few words of an entry for identification purposes?
  2. Encryption of titles
    Obviously, entries need to be encrypted, with a master password to unlock the diaries. I envision metadata being stored in a property-list file for each entry, with the entry itself being an RTFD. The question is, if we're having separate titles, should they be encrypted too? My answer would be "probably, yes".
  3. Encryption of diary-names
    From the screenshot, you can see that Memoir follows iCal's idea of multiple calendars with its own multiple diaries. Each diary will have a unique ID, with a master list associating IDs with colours and names. Should the names themselves be encrypted, or is that overkill? I'm thinking simultaneously that it wouldn't be at all hard to do, but might be overkill in design terms.
  4. Exporters
    My current intention is to provide a plugins API for exporters, so that I or other developers can add more export formats quite easily. I'm thinking that a raw, unencrypted multi-file RTFD export should be built-in, but good candidates for plugins would be static HTML web site export, dynamic export to a blog using the metaWeblogs or maybe Blogger APIs, maybe wiki export via Gus' vpwiki API, and whatever else you can think of.

    I'd like to add functionality such that the user would be shown a standard UI for limiting the number of entries and/or date-range and/or set of included diaries from which to export entries, and then hand-off appropriate data to the chosen exporter. I'd also like to include some means for the user to specify that certain exporters should be run after making a new post, or otherwise periodically. Need to think a bit more about the actual details of that.
  5. Demo constraints
    Memoir will be shareware. This is a first for me in the realm of Mac OS X software, but it's not before time. Regarding price, I envision something in the usual shareware bracket, perhaps $10-$25. The question is, how do I constrain the demo version? I'm very wary of time-limited trials, because I don't think they work particularly well with the way that people try out applications, even though it may seem that a diary application (near-daily use) would be ideally suited to such a limitation method.

    My current thinking is to limit the number of entries you can create (maybe 25 entries?), OmniOutliner style, but not otherwise limit the application. I'd probably nag upon first-ever launch, then again as the user approached the limit. This is an area of design that I'm extremely wary of, in general. It's so critically important to registration rates, and very easy to create a negative first impression if you're not careful.
Regarding the shareware/demo point, I've already 
read the <a href="http://www.dexterity.com/articles/">various excellent articles</a> at Dexterity on many occasions; 
I'm also interested in the views of the development community in general. Any and all thoughts on the above would be 
much appreciated.