Pironimo.net
Pironimo.net is a twiki installation that I deployed, customized, and maintain for a small community of friends (around 30 people). It began on another server in September 2002. Since then I've done about three major UI revs and one software upgrade.
![]()
Background: context & culture
The twiki is really important to us. Another friend started one in ~2000. Its server died in early 2002 and we were lost for about six months. It is collaborative link sharing and quick discussions.
One of the obvious things that is missing is truly threaded discussions. We only get into substantial discussions every couple of weeks. In the meantime, we post a section to the homepage every day with interesting links, announcements, and occasionally questions. These typically spawn a couple of comments from others. If a conversation takes up too much space or becomes too complex for the homepage, someone creates a standalone page and moves the discussion there.
The collaborative photostream
![]()
I forget when I had the idea, but at some point I hacked together flickr, blogger, and twiki, and ended up with the photos. Anyone can email photos to the flicker account. When flickr gets the photos, it publishes them to a Blogger blog. The Blogger blog's template is actually a Twiki datafile living on the pironimo.net server. The twiki templates INCLUDE this datafile in the header of all basic pages. (To make the site faster, I don't include the photos in the EDIT mode or on any of the administrative pages.)
Get rid of the default twiki revisions line.
Default: ![]()
How incomprehensible is THAT? i replaced it with a dropdown. Instead of an incomprehensible ">" character to indicate "view changes between this and the previous revision", I changed the text to -- gasp -- "changes". The light gray isn't very visible, but this is infrequently used information on our site:
My redesign: ![]()
The "add photos" link

Question: how do I let other twikers know how to contribute to the photostream? The link to instructions should properly be very close to the photos. I didn't want it underneath -- that seemed too prominent; this is something that each user will find once, click, and follow the instructions to set up their phone. So I decided to z-index the link over the photos in the upper righthand corner. To make the text visible against the photos, I created 5 absolutely positioned DIVs: the topmost is the link; underneath, the same text is repeated in white, with each of the 4 divs shifted by a pixel along the x and y axes. This creates a consistent border around each of the characters so they're always visible no matter what color the underlying photo is.
Keyboard commands
E for edit
H for home
M for my page (e.g. goes to the signed-in user's profile / namepage)
P for print
S for search (i.e. give keyboard focus to the search box that is on every page)
I love gmail's keyboard commands; they make life so fast. So I implemented some basic ones here.
Skip the preview

Custom hack. Click "Save" and skip the preview step that is normally required in twikis.
RIP private pages
For a while i had this great hack in the code so that search results and WebChanges wouldn't display pages if you weren't authorized to view them. Unfortunately -- even though the twiki code does permissions checks while searching -- it still displays the pages in the results.
Link previews
I believe it was IE6 that got rid of the status bar by default. It's a small thing that many people don't notice, but once you're trained to scan the status bar for link targets before clicking, it sucks to lose that extra little preview. Particularly on pironimo: people often link to obscure sites and subsites; previewing the domain is a way to gauge "is this a credible site like CNN where I can read an article in 3 minutes, or will it launch a whole spamfest of popup windows just to get to the funny part?"
Even if URL previewing is a Good Thing (and in my observation, it is for experts), it's not very efficient to have to move your eyes from the link that you're targeting down to the bottom of the screen to check otu the status bar. So I wrote a little bit of javascript that onload passes through the page's ANCHORs and if 1. there's no javascript in the HREF and 2. the TITLE attribute is null, it replaces the TITLE with the HREF value. That way you can hover your mouse and get a little tooltip of the URL that you're about to visit.
It now annoys me when other sites don't do this.
People presence indicator
![]()
I'm amazed at how much I love this. Normally I'm a curmudgeon about this sort of thing, but it's great to sign on and see who else of my friends is checking the site at the same moment. This was a simple plugin that I got from twiki.org.
WebChanges on every page
What people want to see is what's new and where the action is, so I have the list of most recently changed topics in the righthand side. If this were really excellent and useful, it would round up all the pages that have been edited since the last time you logged on and count the number of changes that have been made in that time. But that's beyond my Perl abilities and interest so I haven't changed it.
Customized TOC per user
The view template on pironimo takes the signed-in user's name, appends the word "Links", and looks for a page of that name. So if your user name is BobSmith, twiki will try to include a page called "BobSmithLinks" on every page you view. This means that you can go edit BobSmithLinks -- using the normal twiki editing interface -- and whatever you include will show up on every page as you're browsing the site.
Logo
Futura PNG with an alpha transparency drop shadow, which I did to provide more of an edge against the underlying photostream. I have heretofore been too lazy to make a GIF for IE, so in IE the PNG shows up with an icky gray block background. This is changing on IE7.