Histree Extension

Introduction
Histree is
an extension for
Mozilla Firefox 1.0+. Its main purpose is to fix, in a usable way, the
problem of the Back menu stack. The problem being: if you click Back
several times and then click a new link, all the URLs previously
reachable in the Forward menu disappear. There are several ways around
this, but my goal is to develop the most easily usable method. In
particular, I will be rewriting the behavior of the Back and Forward
menus.
Finding the page you're looking for is often difficult due to the small
amount of information we have. URLs are often difficult to remember or
recognize (or are filled with junk); titles are often misleading or
missing altogether; even thumbnails of the web page can't help track
down a specific page unless the thumbnail is huge. My idea is to add
one more piece of information: the path taken to reach a
page. It's my hope that this further information would help to
identify a page without having to flick through a bunch of them.
Hopefully even without the use of thumbnails, users can easily navigate
to pages they've been.
Histree consists of three separate algorithms (well, two and a half)
which can be swapped in and out. My goal is to use these different
navigation methods in a user study. Histree will most probably not
become a fully-fledged, robust extension, although other developers are
welcome to flesh it out; my goal is simply to make an extension that
works in the way I want for the purposes of my controlled user study.
WARNING:This extension is still
experimental. The main problem with it is that
it uses up an insane amount of memory, since it can keep track of the
state of *everywhere* you've been. Ideally this info should be stored
on disk rather than in memory, but I probably won't have time to do
this. If you want the functionality and have gobs of memory, by all
means, feel free to use it. 8-) What I'd really like, though, is for
people to just test it out and let me know if you encounter any bugs.
If you do, try your darndes to tell me exactly what you were doing and
how it happened. The contents of the Javascript Console would also be
very helpful.
Download/Updates
What's New in version 0.4.4 (Feb. 22, 2006):
- Some bugfixes and tweaks of FamilyTree type 2.
What's New in version 0.4.3 (Feb. 21, 2006):
- FamilyTree is now implemented! This should be the final
(non-bugfix) version of the extension. After testing this, there's
nothing else that needs to be done, so testing is even more important
now. ^^;
- I hope that most of the crazy bugs that were around earlier
(other than the memory leak) are gone by now... but please let me know
if you find any!
What's New in version 0.4.2 (Feb.
15, 2006):
- Multi-window universal histree is FINALLY working.
>_< I had no idea how much of a pain it would be. I had
to redo a lot of internal stuff yet again, but hopefully this will be
the last part where this is necessary. The rest is just writing a few
extra functions and moving stuff around. Again, testing!
- EDIT: There's a massive bug in this that basically disallows you to ever use tabs. -_- Keep the old version for now. Sorry.
What's New in version 0.4.1 (Jan.
29, 2006):
- Universal histrees have been implemented! It's pretty neat.
8-)
Unfortunately, right now it only works in a single window. Cross-window
histrees will be in the next version (hopefully!) But, as always, bugs
are possible, so let me know!
- FamilyTree and "disabled" are still not implemented, even
though the options are there. ^^;
- There was a niggling bug where titles weren't used
correctly (the URL was set instead). Should be fine now.
- Replaced the blue arrows with grayish-blue ones, which
should be easier on the eyes.
- Note that "Prune Histree" no longer clears up memory... if
you
use your browser for too long, your memory will shoot up! Hopefully it
should be fixed in the next version.
What's New in version 0.4 (Jan.
25, 2006):
- Absolutely nothing! Well, that's not quite right: I've
changed
the internal workings to accommodate my work on universal histrees.
There was quite an overhaul, so hopefully some bugs have disappeared,
but in all likelihood new ones have cropped up. Yay for beta testing!
8p Just an aside, if you had an earlier version installed, please make
sure to double-check your options, because I mixed up the integer
values involved. ^^;
What's New in version 0.3.8:
- More bugfixes, I hope.
- Added an options dialog and preferences. Right now, though,
other than "max title width", the options don't do anything. ^^; But
you can
change how large you want titles to be.
- Next version will be 0.4, since I have to totally redesign
a few
things in order to implement universal histrees. Of course, that'll
probably introduce more
bugs... -_-
What's New in version 0.3.7:
- Hopefully some bugfixes regarding new tabs and moving
between paths. Beta testers wanted! 8-)
What's New in version 0.3.6:
- I actually managed to fix the frame problem I was so scared
about! 8D This solution means doing a universal histree would be a lot
nicer.
- Fixed some bugs with the way the Forward menu displays.
- Long entry titles are now shrunk to a maximum of 43
characters
(first 20, last 20, and an ellipsis in between). When I implement
preferences this will be able to be changed or turned off.
- I think I fixed the bug involving titles being
overwritten... now
I'm dealing entirely with history entries rather than the browser's
content title, which should make it cleaner.
What's New in version 0.3.5:
- Added images which should indicate whether an entry is
followed
from the previous leg (right arrow) or from the entry above it (enter
arrow). Not that important for the naive algorithm, but will become
more important with the others.
Features
- Keeps track of all
pages visited and creates submenus in the Back and Forward menus so you
can revisit them at any time.
- The Back and Forward menus retain their functionality.
- Allows you to cut the length of menu entries to a maximum width
(the center of it will be replaced by "...", leaving the left and right
sides intact).
- See the Tree Explanations for further info on exactly how the extension reacts.
Bugs
Known bugs:
- If you use the back/forward menu to reach a page that
requires "POST"
data and you choose to cancel your back navigation, your browser will
still think you went there.
- No way to cut the length of the Back menu... however, I'm
not sure if it's possible to make the Back menu smaller and still allow
you to scroll through the entire menu (which is the ideal behavior IMO).
- "Prune Histree" should clear up memory in a "per-tab"
histree, but doesn't.
- If you change the options, they won't be noticed until you restart your browser.
Contact
Histree is part of an M.Sc. thesis project at York University. For more
information or questions, please contact Daniel Orner.
Yes, I know this site is ugly. Graphics have never been my strong point.