Jump to page content

A history of lili_Pad

A few people will be vaguely familiar with my trusty styled text editor, lili_Pad:

Written around autumn 2001, it was created to help me keep a diary of my work placement year at university, and has since served me well as a general styled, paged notepad. It is also one of my favourite example programs in my mock-up images for Cy/VOS. Originally desperately incomplete, in later years I have finally got around to adding such useful features as find (and then find across all topics in the window), a draggable pane divider, coloured text and the ability to remember the window size, left pane width and last note in use for each document. While you are working on a document, the cursor position within each topic is memorised, but this is not stored in the file for any topic but the last one that were in. Contextual menus are support now as well as full keyboard cursor control.

There is still no undo, a fact which is reiterated in the readme in a way that parodies the tips and tricks in the Jazz Jackrabbit manual. Did we say shoot?

lili_Pad still remains only available for classic Mac OS to this day; there are equivalent applications for Mac OS X so I have never received any requests to port it either to Mac OS X or, my favourite, 68k code. There was a short-lived and particularly buggy Windows version however. The program did gain a Mac OS X icon but this was never put to use for anything, and only served as a basis for the icon under Mac OS 9.

Influences

Ultimately, the design of lili_Pad goes back to the infamous and spectacularly useless Windows Cardfile:

I soon replaced this with Notebook, a component of the shareware Above & Beyond PIM by 1Soft Corporation:

I soon deleted Above & Beyond (no disrespect to Justine Suissa) but kept hold of Notebook as it was so useful. It was pretty much functionally equivalent to Cardfile, but with a better user interface. Notes were not limited in capacity like Cardfile or, at least, not to the same degree. Styled text was not supported, nor were note categories. Support for inserting images was again provided, but it was just as strange in implementation as its predecessor.

When I received my first Macintosh, I wound up with a similar program for the Mac. I have no idea what it was called or who made it, but it was better than Notebook. It was the first program of its kind I’d seen to support styled text, and the interface was quite swish. However, it wanted to be registered and so I presume I got annoyed and deleted it. Registration is easier now one can pay by debit or credit card over the Net, but I am not sure who in Britain seriously posted off a cheque to the States to register a program. I guess people did. Generally when you require me to do something like that I will write my own version :)

Whatever this mysterious program was, however, it was another stepping stone on the way to lili_Pad itself.

MultiPad

Before Stonehenge, there was Strawhenge, and Woodhenge. And MultiPad. lili_Pad was conceived sometime in autumn 2001, before I started my placement year at university. While rooting around on my old Zip discs, I came across another program, called MultiPad. The last-modified date on the source code file is December 2000, it clearly predates lili_Pad.

MultiPad was never completed; in fact, MultiPad appears to do just about nothing. But it has several noteworthy (pun intended) aspects. Firstly, as you can see, it was intended to support categories, rather like the Memo pad on the Palm Pilot. It was also intended to support to-do lists, although I have no idea how I planned to achieve that in REALbasic at the time.

On the other hand (and I would have to plug my Zip drive back in to check) it appears not to support styled text, which was one of the important features of lili_Pad. What you may have noticed is that the graphics for the toolbar buttons are identical in both programs, so clearly I must have based one on the other to some degree. The irony is that I have zero recollection of MultiPad having ever existed, or why I chose to completely redesign the interface for lili_Pad.

lili_Pad for Windows

At one stage, I was attempting to port lili_Pad to Windows, which is always a complicated process fraught with incomprehensible problems. I succeeded in getting some semblance of it working, but it was hopelessly problematic and after losing the source code, I have managed quite nicely in Windows without it.

In the picture above, I was demonstrating lili_Pad to Mistress Melanie over VNC and we were having a conversation using it as a chat window.

Why the name

So why is lili_Pad called lili_Pad anyway? Back at the time of its creation, it had no name at all. (Evidently MultiPad was not good enough for it. Or too good for it.) I was asking Adam Brandon (Air_Man) what I should call the program, so he suggested Air_Pad. I didn’t think so. He knew I was attracted to version_lili (whose name is not lili; she’s a Sarah Beth just like his ex) so he suggested Sarah_Air_Pad and Air_Sarah_Pad hoping that the inclusion of my crush’s name would sway my decision in his favour.

I told Sarah about this, and she had a random flash of inspiration to call it lili_Pad. Bingo! Of course, she then protested – in vain – that I not call it that, but it was too late, and a perfect name had been found. And that is what it has been called ever since. Curiously, neither a lily nor a photo of Sarah appear in the icon. (In contrast to the Meguminator.)

Son (daughter?) of lili_Pad

During my placement year, I desired a similar program for use on my Windows computer in the office; this was long before my attempted creation of Windows lili_Pad. Quite rightly fearing the trouble and effort a Windows port would involve, I tried to find an equivalent program for Windows on the Net, and for free. After some fruitless searching, I decided to write the program in ColdFusion and run it on the office Web server. From my placement log for Tuesday 20th July 2002:

Around 3:30 or 4, I decided that I really do need a notepad application for all my notes. lili_Pad would take too long to port, and my searches for a free equivalent for Windows were in vain, so I’ve begun building one, ColdPad, in CFML. The advantage to this method is that all the staff in the office can access and work with it, so we can post and share notes with it. It sounds very useful actually, especially as it will feature fully hierarchical categorisation.

ColdPad – it was known – was run off an Access database and featured the one thing missing from lili_Pad: hierarchy. In fact, ColdPad had unlimited hierarchy. It also had a Wastebasket, after a co-worker accidentally erased a number of notes from the server. Like the Macintosh Wastebasket, the ColdPad Wastebasket could be fully browsed and the contents selectively restored, but it also had Windows’s selective deletion. Text styling was supported by way of a BBCode variant, but ColdPad’s styling system was designed more in favour of Web development, with HTML entities automatically escaped so as to be included in the body of the text. It also had an ability to escape tags in text, e.g. [:url], in contrast to modern forums where the failure to escape HTML entities is a nifty workaround for their complete inability to escape tags and prevent automatic linking of addresses.

All computers in the office had static IP addresses, so the IP address of the last person to edit any note was recorded. A flag could then be set to restrict viewing of that note to that IP address only, granting users a limited degree of private, personal usage without needing to create user accounts and log in, something I felt would be too tiresome.

I am not sure how much use anyone else in the office really made of it, but I found it useful and it was a good learning experience. lili_Pad itself still has a special place in my heart as one of my favourite programs.