Gently Download the Stream | Main | voodoo2palm

July 28, 2004

HOWTO Put Your VoodooPad on a Palm, With Links (Updated)

Posted by Mike on July 28, 2004 6:13 PM

Update: The script in the entry vooodoo2palm is a lot more portable. Save it as an "application" to get it to act as a droplet.

Another Update: There's a super luxury edition of this here. No extra downloads: Should "just work" out of the box.

Today's science project was "get my Brain voodoopad onto a Palm and preserve hyperlinks, even if I couldn't make it editable." I think I came up with this idea, but I've been in such a state of VoodooPad obsessiveness I might have come across it elsewhere. If so, apologies and please comment with a pointer to a URL so credit can go where it's due.

I suppose the other "please point" request would be to a simpler way to get HTML onto a non-net-connected Palm, though this approach has the benefit of everything being bundled up into a handy pdb.

Update:

No sooner did I start digging around for ways to automate the process below than I stumbled across something I'd forgotten all about: Plucker is a free (as in speech and beer) alternative to iSilo and AvantGo that does about what they do: it grabs HTML and turns it into something a Palm can live with, hyperlinks included. It's packaged up and ready to go as an Aquafied GUI for OS X. You can apply pretty much the same workflow with Plucker that I outlined below, and get about the same result, without coughing up $20 for iSilo. Another alternative I haven't looked into yet is SiteScooper.

As a result, there are now two ways to Palmify your VoodooPads:

Uses:

  • Notes you took in front of a computer are portable and readable anywhere.
  • You escape the tyranny of the iPod's dinky, mono screen if that's what you've been using up to this point, and take advantage of iSilo's relatively well appointed preferences, which are designed to make reading stuff on a Palm screen a little nicer.
  • Carefully constructed pages with links to outside documents on them could provide useful snapshots of specific sites for reference elsewhere (think: building a dynamic information page that gets sucked in at sync-time).
  • You get full searchability of your Palmed 'pad.

Using Plucker

Plucker is a free (Free Software, free beer) scraper that spiders a given URL/file location and turns what it finds into a Palm-readable file with hyperlinks usable with the Plucker Viewer (also free/Free).

There's a very nice OS X GUI that automates everything, but if you want drag-n-drop simplicity for VoodooPad, what follows is my extremely duct-taped solution, using the Python Plucker distiller and AppleScript.

Special Note: Some people include disclaimers. I'm including an apology: This is just a way I figured out to get a VoodooPad into a Palm. It works for me on cursory examination, but I've made no effort to make this shareable. It's a reflection of deep neuroses regarding actually learning how to program. I might make it nicer to find and "just use" once I figure out more about how AppleScript's whole "do shell script" schtick works so I can get variables into a shell command, but until then it's pretty much "how I got things to work the first time around." If you like the idea, feel free to appropriate it and do it better.

Ingredients (Using Plucker)

  • Palm
  • VoodooPad
  • The Plucker viewer and distiller:
    • for OS X, the Plucker viewer can be obtained from the Plucker download page. Look for "Plucker Desktop for Apple."
    • the Plucker distiller (a set of Python scripts) can also be downloaded from the Plucker download page. Look for "Plucker 1.8 Distiller, Python version."

Basic Steps (Using Plucker)

  • Open the Plucker Desktop disk image and install the Plucker app. Once you've installed it, run it. A setup wizard will ask a few questions about your Palm device so it can pick the best version of the Plucker viewer to install. It will also ask for locations on the Palm to install things to (tell it your default Palm user) and locations to place plucked content (pick what works for you).

  • Unpack the Plucker Distiller package. Inside is a folder entitled "PyPlucker." Put this somewhere sensible for an application. I put it in my ~/bin directory. You'll need to remember where this is in a second.

  • This is a quick AppleScript droplet I whacked out that does the basics of providing you with a droplet you can use to drag a VoodooPad onto it and get an installable Plucker document for your Palm on the other side. Local variables you'll need to adjust are in bold. Sorry it's so ungodly sloppy.

on open what

tell application "VoodooPad"

open what
  export document 1 as HTML to "/Users/mph/Documents/pluckedpads"
  do shell script ("/usr/bin/python /Users/mph/bin/PyPlucker/Spider.py  -f \
 '/Users/mph/Documents/Palm/Users/Michael Hall/Files to 
  \ Install/brain'\
 -M 3 --stayonhost -H /Users/mph/Documents/pluckedpads/index.html")

end tell

end open

The long and short of that is pretty much "When a file gets dropped on this script's icon, have VoodooPad open that document, export it to HTML in a given location, then run the Plucker Distiller script to spider the exported files to a maximum depth of three links, not leaving the host on which those files reside, then place the plucker file in the user's Palm "to install" folder for the next sync.

  • Save your new droplet somewhere simple to get at, like your Desktop, or put it in your Applications folder and drag a copy to your dock.

  • Pick the pad you want to process. Drag it into the script's icon. Barring the inevitable local differences, bugs in the script, and my own incompetence at writing an AppleScript to save my life, the next time you Sync you'll end up with the pad you processed in your Palm, ready for use when you open Plucker.

  • Things I could do:

    • Create sensible, easily modified variables at the top of the script instead of forcing people to pick through the code later on.
    • Close the target pad once it's been processed.
    • Make better use of VoodooPad's built in scriptability to handle some of this (no droplet, just a page you could open and run from within the desired pad).
    • Take a different approach from the droplet and just make this a timed job that periodically refreshes the user's Palm copy.
    • Really learn AppleScript instead of stitching together a bunch of stuff I found laying around with the catgut of a few hastily read grafs of the very useful "ApplesScript: The Definitive Guide" from O'Reilly.

Using iSilo

Ingredients (Using iSilo):

  • Palm
  • VoodooPad
  • iSilo (Shareware -- 30 day free trial, then it becomes stupid and useless, $19.99 if you walk away thrilled at your new VoodooPalm)
  • iSiloX -- a freeware html-to-iSilo conversion tool, available as a Mac GUI app or a command line utility.

Basic Steps (Using iSilo):

  • Download iSilo for your Palm (it's a prc file, make sure to pick the zip file instead of the Win installer)
  • Download iSiloX for your Mac. It's what converts HTML content to an iSilo file your Palm can read.
  • Install both. I noticed that iSiloX's installer failed on a "missing file" error. I ignored it and the app seems to work anyhow. YMMV.
  • Using VoodooPad, export the pad you want to put in your Palm to HTML. Export it somewhere out of the way but easy to remember.
  • Using iSiloX, set up a new document using Document -> Add.
  • Follow the handy wizard. The second step involves a seemingly complex set of choices:
    • For source, point it at the index.html file of your exported 'pad.
    • For destination, you have two choices: You can pick a HotSync user to save the resulting iSilo doc to, or you can pick a file location and manually sync the file by doubleclicking on its icon. More transparent to do it using a HotSync user, easier to make sure everything's working using a file location. Your choice.
    • Under links, pick a sensible set of options for your pad: If you have a lot of links to outside sites, you should either minimize the link depth iSilo follows or simply toggle off "Follow off-site links."
    • Those options are enough, but there are more to choose from, depending on your preferences.
  • Having created a document to sync, try it out by opening the saved iSiloX document and clicking "Convert."
  • Depending on your choices, you'll either have the resulting converted document dropped in the queue to be added to your Palm the next time you sync, or you'll have a brand new .pdb file you can double-click to add to the sync cue.
  • Fire up your Palm after you sync, open iSilo, select your pad, read it, follow the working links, etc. etc.

Additional Thoughts:

  • Palm owners with Missing Sync and its AvantGo capabilities could wipe out the middleman by exporting their pads somewhere readable by AvantGo.

    • Advantages: Great if you already have Missing Sync because you're not down the iSilo registration fee
    • Disadvantages: Your pad is somewhere that anyone can get at. I don't even know if AvantGo plays nice like that with non-Avantized content anymore. Maybe someone who stumbles on this can report.
    • Another disadvantage: Dealing with AvantGo on a Mac is a PiTA. If you're imagining yourself to be a long-time VoodooPad user, and you imagine having your 'pad on your Palm will be useful for a while, pay for iSilo.
  • There's a command line version of iSiloX that begs to be tied into a pipe that involves:

    • scripting your VooodooPad export to a set frequency (every hour or whatever)
    • writing a quick shell script to run iSiloX and make new pdb of your freshly exported pad
    • setting a cron job to make the shell script happen at a set frequency
  • Non-voodoopad owners who are enamored with the wiki paradigm can pull the same basic stunt using a personal wiki they've set up.

Comments

ow! ow! michael! my head! i'll just hope for multilevel capability in voodoo2.

Posted by: gl. [TypeKey Profile Page] at July 29, 2004 12:20 AM

It's really not that involved once you download some software and install it. I'm particularly happy with the droplet.

All the whole process really wants is someone to bundle it up in a nice installer, put the Plucker guts somewhere predictable, and bolt a few dialogues on to it. Too bad I'm going to be in the weeds for the next few days. :-\

But even in a non-prettified state, It's working for me right now, with a simple "drag -> sync -> use." No more button-clicking than exporting the pad to the 'pod, and with much more readable, navigable results.

Posted by: mph [TypeKey Profile Page] at July 29, 2004 7:46 AM