Palm Pre Stuff: Apps Howtos


Tiddlywiki for Palm Pre 1.0.4

    Tiddlywiki for Palm Pre 1.0.4
        Demo Video
        Screenshot - Start Tiddler
        Screenshot - Viewing a Tiddler
        Screenshot - Options Tiddler
        Screenshot - Edit a Tiddler
        Screenshot - Saved the wiki to USB drive
        Screenshot - Landscape View fully supported
        Screenshot - Restore Backups Screen
        Screenshot - About Screen
        Screenshot - Help Screen
    Description
    How it works
    Features
    Swipe Back Gesture Support
    Missing
    Installation
    Help
        How to save the TiddlyWiki to USB drive?
        How to enter a new tiddler?
        How do I add a Tiddler to the start screen?
        How do I add a link to a Tiddler to the top menu?
        I bricked my TiddlyWiki, how do I resort to the last working copy?
        How can I import Tiddlers of my Tiddlywiki?
        Will TiddlyWiki for webOS support advanced features like GTD ever?
        Sounds like a lot of work - how can I help?
        Need more help?
    Changelog
    Sourecode
    Addons
        RSS Feed Reader
        Saving the wiki to a remote webserver
        Using Tiddlywiki as a task logging tool
        You may even play games using Tiddlywiki

 

Excerpt from the original TiddlyWiki developers:

TiddlyWiki is a single-file, self-contained wiki for managing micro-content, written in JavaScript.

A complete TiddlyWiki is stored in a single file on your computer, and thus belongs to the class of Single Page Applications. That makes it super-easy to move your TiddlyWiki around on a USB stick or by emailing it to yourself.

The single file that is a TiddlyWiki contains not only all of your data, but all the machinery to edit and manipulate it. All you need is a modern web browser, like Mozilla Firefox or Microsoft Internet Explorer. You don't need to have any other special programs installed on your computer, and you don't need to be connected to the Internet.

The same TiddlyWiki file will work on just about any computer: Windows PCs, Apple Macs, Linux and BSD boxes..

Now, based on the work done by Bidix, who ported tiddlywiki to the iPhone, I was able to port it to the Palm Pre WebOS.

Demo Video

Screenshot - Start Tiddler

/images/tiddlywiki-startscreen.png

Screenshot - Viewing a Tiddler

/images/tiddlywiki-tiddler.png

Screenshot - Options Tiddler

/images/tiddlywiki-options.png

Screenshot - Edit a Tiddler

/images/tiddlywiki-edit.png

Screenshot - Saved the wiki to USB drive

/images/tiddlywiki-saved.png

Screenshot - Landscape View fully supported

/images/tiddlywiki-landscape.png

Screenshot - Restore Backups Screen

/images/tiddlywiki-restore.png

Screenshot - About Screen

/images/tiddlywiki-about.png

Screenshot - Help Screen

/images/tiddlywiki-help.png

Description

The major quirk I had was saving the wiki. Usually, tiddlywiki uses some inline javascript hacks, specific for most browsers, to save itself to disk. However, this doesn't work on webOS, because you cannot access the filesystem from javascript there directly. Strictly. I assume the palm guys have read the specs...

Fortunately tiddlywiki has a plugin which supports uploading the wiki to some remote webserver. They even deliver the required PHP scripts which take the uploaded wiki file and store it. But you guess - there's no PHP on webOS as well. And no perl. And no python. But there's WIDK, which made it possible to write a CGI uploader in C++ and cross compile it for Pre's arm7 architecture.

How it works

So, here is how it works: Tiddlywiki for Palm Pre consits of three parts: a launcher app, the actual wiki file and the uploader. The uploader requires "lighttpd" to be installed, which is available by Preware.

During app installation, the wiki file and the uploader will be installed to the documentroot of lighttpd, which is by default the directory www/ on your USB drive.

If you start the app, it just launches a WebView widget which itself just fires the wiki file (the browser doesn't support viewing local html files!). Straight simple.

If you tap the "Save" button, the wiki will not be written to disk (as other tiddlywiki implementations does) but instead it connects to http://localhost/ and posts itself from memory to the uploader, which saves it then on the usb disk. If you close the app and open it later, all your changes will be there.

Beside this, the uploader also creates backups on every save under the backup/ directory (below "www").

Features

In general, Tiddlywiki for Palm Pre shares most features of other tiddlywiki implementations, especially:

  • you can write tiddlers, save and delete them

  • tiddlers can also be imported using the ImportTiddlers plugin (reach it via Menu => Commands => ImportTiddlers)

  • you may even import tiddlers from another TiddlyWiki (remote only!)

  • you may download the wikifile (USB drive:www/itw.html) to your desktop computer and open it there in firefox or safari, edit it there, save it and copy it back to the palm!

  • you are always on the save side! If you brick your wiki, you can restore the last working backup copy out the backup/ directory

  • if you turn your phone, the wiki turns as well, so landscape viewing is no problem

Swipe Back Gesture Support

As of version 1.0.4 the "swipe back" gesture is supported. For this to work you have to install the following tiddler into your existing wiki file (itw.html on your usb drive):

/***
| Name|HistoryBackByEscape|
| Description|Use escape key to go back in history||
| Version|1.0|
| Date|22.12.2010|
| Author|T.Linden|
| Email||
| License|http://mptw.tiddlyspot.com/#TheBSDLicense|
!!!Description
Use escape key to go back in history, requires history plugin
!!!Notes

!!!Code
***/
//{{{
window.onkeypress = function(ev) {
  var e = ev || window.event;
  switch(e.keyCode) {
    case 27: // Escape
      config.macros.back.action();
      break;
 }
}
//}}} 

Name the new tiddler HistoryBackByEscape and add the tag systemConfig.

Best to do this is by editing the wiki file on your pc. To save it to disk there, use the "Commands" menu inside the wiki and click the "save changes (PC Brower only)" button.

Missing

Currently the wiki looks like an iPhone app, which is totally unacceptable. I'm planing to simulate the usual webOS controls for the top level menu so that it looks more like a webOS app. If you want to volunteer - I'd appreciate png's and CSS code to realize it, Thanks!

Installation

Tiddlywiki is available in Preware.

Help

How to save the TiddlyWiki to USB drive?

Just tap the Save button in the top menu bar. It will save the wiki file to your USB drive (www/itw.html).

How to enter a new tiddler?

Tap the Menu button in the top menu bar and select New Tiddler from there. A new empty Tiddler (TiddlyWiki speaking of a "Wiki Page") appears. Just enter a title, text and a couple of tags and you're done. Tap the done button in the edit menu (blue coloured).

How do I add a Tiddler to the start screen?

Open the Tiddler in question, edit it and add the following tag to it: Home. Next time you visit the start screen (by using the menu or after saving and re-starting TiddlyWiki) your Tiddler will appear there.

How do I add a link to a Tiddler to the top menu?

Open the Tiddler in question, edit it and add the following tag to it: menu. Now a link to the Tiddler will be shown in the menu.

I bricked my TiddlyWiki, how do I resort to the last working copy?

That's very easy: open the app menu and choose Restore. A list of backup copies will appear, each backup file has the timestamp of its creation in the filename. Tap on the copy you want to use to restore. Then, tap the Save button in the top menu and it will be your production TiddlyWiki.

How can I import Tiddlers of my Tiddlywiki?

There are various ways to do it. You can use the ImportTiddlers plugin in TiddlyWiki (reachable via Menu => Commands => ImportTiddlers) and import from a remote URL whatever you need. Or, download the itw.html TiddlyWiki file to your desktop, open it in your browser and add the Tiddlers you need from there. After saving and uploading to your phone you'll have your stuff right there.

Will TiddlyWiki for webOS support advanced features like GTD ever?

Depends. It will not be delivered with pre-installed GTD plugins of any kind ever. It would become too large (thus slow) and GTD doesn't just fit to the webOS screen dimensions. However, you may add this to your wiki yourself, there are lots of resources on the web (look for "Monkey GTD" for example). But be warned: you may have to invest a considerable amount of effort to modify it so that it fits to webOS. If you ever made it, feel free to drop me a message, so I can consider to add it to the distribution.

Sounds like a lot of work - how can I help?

Indeed! You may consider to donate to the developer (me!): Donate via PayPal.

Need more help?

Changelog

1.0.3

fixed the installer (postinst script) which didn't install the actual wiki file to the lighttpd docroot on the usb drive (sic).

1.0.2

missed updated cgi in 1.0.1

1.0.1

added help, enhanced about, added on-device restore feature

1.0.0

initial public test release

Sourecode

The GIT repository for tiddlywiki can be found here:

git.webos-internals.org/?p=applications/tiddlywiki.git

Addons

There are countless possibilities to enhance Tiddlywiki which applies to Tiddlywiki for webOS as well. Here are a few examples:

RSS Feed Reader

You can install the RSS Feed Reader Plugin by Bidix, which adds a feed macro. I added the following Tiddler to my wiki:

 TITLE: My Feeds
 BODY: <<rssReader asHtml http://blog.fefe.de/rss.xml?html>>
 TAGS: feeds rss Home 

And here is, how it looks like on the palm (must be online):

/images/tiddlywiki-feeds.png

Simple enough!

Saving the wiki to a remote webserver

Since the UploadPlugin is already installed, it was easy to add another plugin based on that, which uplods the wiki to a remote webserver. For this to work, you have to install the UploadRemotePlusPlugin (written by me) to your Tiddlywiki. You need also the store.php script, install it to a proper place on your webserver and tweak the Plugin to your needs. You may then add another macro to your Commands Tiddler:

 <<uploadremote>> 

A new button will appear "Upload to remote". Now you can save your wiki to your server. Please note: I'll never provide storage service for this, you're on your own. Sorry.

Using Tiddlywiki as a task logging tool

There is a plugin on Tiddly Tools TaskTimerPlugin (Doc) which you can use to log task activities right in your wiki. Seems to work:

/images/tiddlywiki-tasktimer.png

You may even play games using Tiddlywiki

There's a funny plugin called TiddlyLifePlugin which implements Conway's Game of Life! It is a little bit tricky to place the cells on the palm pre but it works as well. Take a look:

/images/tiddlywiki-gameoflife.png