March 7 2003 Update
Results of the first beta tests are in. They show the learning curve for Flipomatic's template syntax is rather high. Most users will not be inclined to create templates from scratch. The template syntax is designed to allow designers to not only create a look and feel but also specify concrete behaviors such as searching, sorting, and navigating without the need for programming. All users complained that they wished they were able to do programming rather than learn a new, quirky template syntax. Oh well. Perhaps Mason would be more to their liking.
I am changing my focus and working towards distributing flipomatic with a wider variety of pre-designed "kits". Although each kit will still require a degree of customization to work with a user's particular flavor of data, hopefully such modifications will not be burdensome. I'm not much of a web designer and the process will be slow.
The documentation is currently quite lengthy. Testers have found it long and tedious to get through. I am working on compacting it somewhat and moving some sections out to supplemental pages. Also I will shift the focus to using and modifying the predesigned "kits" and move the template syntax material to a "power-users" section. To get an idea of why the testers complained, you can view the sections on associated text and flags here.
Flipomatic is a perl cgi script which provides functionality for browsing, navigating, sorting, and searching multipart objects such as page images for books, letters, or manuscripts, or images in photographic collections. Flipomatic works by providing users with a mechanism for creating HTML templates, allowing them to define their own look, feel, and behavior. The flipomatic program itself contains no HTML, nor does it define a particular interface or navigation method--all of this is defined in the template. Thus flipomatic takes the programmer "out of the loop" and places the design squarely in the hands of web designers and content providers where it belongs.
And with flipomatic you can define as many templates as you wish, allowing you to customize your interfaces for different types of data. After all, a structured book with chapters and sections requires different navigation techniques than an album of thousands of photographs or a three page letter. Why be stuck with a lowest common denominator one-size-fits-all interface when you can provide your users with targetted interfaces which precisely leverage the richness of your data?
How do flipomatic templates work? Flipomatic templates contain HTML, substitution variables, utility or system variables, and directives. Substitution variables are symbols which you embed within your HTML which are replaced in the flipomatic template engine with their corresponding values in your data. If you have a photograph of albums with data such as the photographer, persons pictured within the photo, the place the photo was taken, captions, dates, etc., you can define variables such as {PHOTOGRAPHER}, {PLACE}, {PERSONS*}, {DATE}, etc., and plug them right into your HTML. You can call these fields whatever you like, have as many as you wish of whatever type. You aren't constrained to a specific set of data. Utility variables are those provided by the flipomatic program itself and are numerous. They provide such information as the total number of images, the number of images returned by a search, and many many more. Utility variables look like user variables but begin with an underscore, e.g., {_ITEMCOUNT}, {_NEXTITEMNO}, {_PREVITEMNO}, etc. Lastly are the directives, which are probably the most important and powerful of all. They tell flipomatic to do stuff. Like, looping through all images, searching through all images and returning a set of results, defining a table with columns and rows and populating it, etc. The most important of these is the group which loops through all images and returns the results. Groups begin with an asterisk. {*MYGROUP#5:6} tells flipomatic to set up and populate a 5-column, 6-row table with the first 30 images. {*ANOTHERGROUP#30%CAPTION-the|a|an} tells flipomatic to return a list of the first 30 images, sorted by the caption but ignoring English initial articles in the sort. Groups always have special corresponding templates defining what HTML to apply to each image, e.g., what the tables, rows, and cells should look for table groups.
Flipomatic understands data in two formats. The first format I call its native format and consists of a simple text-delimited file defining whatever fields the user wishes. This has the advantage of being very fast, and simple to create from other data sources such as relational databases or arbitrary XML files. The second format flipomatic supports is the METS XML Schema, an emerging standard for bundling digital objects with metadata. For more on METS (Metadata Encoding and Transmission Standard), visit the official site: http://www.loc.gov/standards/mets.
Note: Flipomatic is NOT the official UC Berkeley Library METS viewer, simply my own little diversion which I am sharing with you. For the Library's official viewer, as well as other METS tools and viewers created by the METS community, see the official site.
For now I offer a sneak peek at a variety of flipomatic documents. Expect examples to appear, change, and disappear over the coming weeks. Remember, flipomatic's appearance and behavior are defined by you in a template file. I am a programmer, not a web designer, so don't feel these examples are definitive or restictive. They are only possibilities.
Alvin Pollock
Structured Books
"Structured" books are those with well-defined sections such as chapters and parts. These benefit from having a specific interface tailored to navigational and viewing requirements which take advantage of such books' rich hierarchical structure.
Plain Jane (or, your basic book)
Not much to look at, these examples lack almost all web design. With no fancy fonts or background colors (though somewhat heavy on the tables), these examples include just about all of the navigational requirements users need. A good, simple starting point for users who wish to build their own structured book design. The no-frames book "homepage" looks a little weird right now but I can't figure out a good design. Anybody have any ideas?
View the plainjane.cfg template file. MS Internet Explorer may try to display it as an HTML file so use Netscape or Mozilla instead.
Letters, Manuscripts, and Scrapbooks
Study in gray
It's awfully gray, but more interesting than plainjane at least. This is currently a work in progress (more functionality and design tweaks will be added a bit later), but notice how the table of contents keeps in synch with the right frame.
Moderne
A good choice for letters of limited length (15-20 pages max) with short captions.
- Letter to "Sister Marion". (Letter)
Here's the template: moderne.cfg (You may have to click "Reload" in Internet Explorer to view this)
Photograph Albums
Photograph collections prove to be perhaps the most challenging for the web designer and programmer alike. Unlike books and letters, photograph collections can be very large, requiring specialized navigational interfaces. They also generally contain rich and diverse fields (e.g., caption, photographer, place, date, persons depicted, subjects, rights and usage restrictions, etc.) which must be searchable and sortable. Often, no two collections contain the same information, requiring separate search interfaces for each. Since flipomatic's main strength is its customizability via templates, it is relatively straightforward to create search forms designed specifically for a collection.
Coming soon
Here are the very beginnings of a FAQ.
Here is the beginning of some documentation.
Questions? Comments? flipomatic@eudoramail.com