HyperDrive is a hierarchical categorized personal information manager to help you handle increasing amounts of tasks and activities in your everyday life. Information is organized by type and priority in a fully editable hierarchy. Adding, editing, reorganizing and finding information is easy and straightforward.
HyperDrive is an old project of mine and no longer maintained (last updated on April 10th, 2005). However, feel free to use the program and modify the code as explained in this post.
I first started thinking about HyperDrive when I could not find a decent ToDo list to manage all my daily activities as a project manager. All I needed was a simple tool to organize tasks in a tree-like fashion and assign them a priority, yet no freeware or open source software fitted my requirements and I did not want to use one of the powerful but cumbersome Personal Information Managers available on the market. At the same time, I did not want to simply create a To Do list but a tool that could manage tasks and also store all the other information that you write down on post-its or whatever piece of paper you find around the desk. Today, with HyperDrive, I am able to manage more activities and tasks than I was used to and find information a lot faster.
I hope HyperDrive will prove useful to your work as it has been for mine and if you have bugs reports, comments or would like to contribute to the development do not hesitate to contact me!
HyperDrive is licensed under the Apache License, Version 2.0. You may obtain a copy of the license at http://www.apache.org/licenses/LICENSE-2.0. The distribution package contains both binaries and source code. You are free to analyze, modify and distribute the code as long as you comply to the license.
Download & Setup
HyperDrive does not require any installation. Simply download the JAR file (from the link below) to a system with Sun JRE 1.5.0 or later and execute it with a double-click or by running the command “java -jar hyperdrive110.jar” from the directory where the file is stored. The first time the application is started it automatically creates and configures user files and directories. See Frequently Asked Questions at the bottom of this page to migrate data from earlier versions of Hyperdrive.
HyperDrive Version 1.10
hyperdrive110.jar | 133 KB | Executable JAR file with binaries and source code
If you don’t have Sun JRE installed on your system you can find it here.
The hierarchy
In HyperDrive information is stored and managed in the hierarchy. The basic component of the hierarchy is the item. Each item is characterized by a type and a description. The type determines how different items are visually rendered and organized in the hierarchy. The description is a text with the information content of the item.
The following item types are currently available:
- Default item
- Project
- Task (low priority)
- Task (medium priority)
- Task (high priority)
- Contact
Items are organized in a tree-like fashion: each of them has a father and eventually one or more children. A root item at the top of the tree contains all the others.
User interface
HyperDrive’s user interface is designed to be as functional and flexible as possible: all interface elements are resizable, commands are accessible from multiple locations, icons and other elements are color-coded, tabs and split panes allow different information areas to be displayed simultaneously.
When the application starts a resizable window is displayed containing the workspace. In the upper part of the workspace menus and a toolbar give access to all available commands. Menu items and toolbar buttons point to the same commands and thus share the same icons and accelarator keys. In the main area of the workspace a split pane contains the hierarchy in the upper half and one or more service panes in the lower half. The two parts can be resized or eventually hidden. In the lower part tabs allow to switch between different service panes to display the most relevant in a particular situation.
The hierarchy is an editable tree. Selecting a particular item and then clicking on it activates editing of the item’s description. Items can be added, moved, deleted, sorted, etc. using the commands available in the wokspace menus, the toolbar or the right-click context menu directly from the hierarchy.
Two service panes are currently available. The console pane allows to monitor application behaviour: info, warning and error messages are displayed cronologically and with different color codes on different rows of a table. The clipboard allows to quickly write down or paste text and eventually export it to a text file.
Application data
Application data is stored in a special “.hyperdrive” subdirectory located in the user’s home directory. In this way HyperDrive supports multiple users on a single system.
When HyperDrive is started for the first time the “.hyperdrive” subdirectory is created and a new empty hierarchy is initialized and then saved to the “hierarchy.data” file in the subdirectory. The next times HyperDrive is started a backup of the hierarchy is saved to the “hierarchy.backup” file, the hierarchy is validated, eventually repaired if errors are found and then loaded into the application. During a normal working session, hierarchy data is saved to the application subdirectory each time a command is executed limiting data loss in case the application malfunctions or crashes
The complete list of files stored in the application subdirectory is the following:
- hierarchy.data (contains current hierarchy data, updated at every command)
- hierarchy.backup (hierarchy backup created when application starts)
- clipboard.data (clipboard content saved when exiting application and restored in the next working session)
- application.properties (user interface preferences saved when exiting application and restored in the next working session)
- application.log (console messages saved when exiting application, replaced every session)
Wish list
- Optional user-editable properties to override default settings
- Strong encryption and password protection
- Find command to search hierarchy and highlight relevant items
- Export command to export hierarchy to popular file formats
- Optional item fields (notes, due date, percentage of completion)
- Archive to store obsolete items (instead of just deleting them)
- Different views to visualize hierarchy (e.g. Personal, Work, Archive)
- Separation of item type (category) from item priority
- Improved hierarchy rendering
- Improved user interface speed
0.10 Pilot “Donkey”
Hierarchy with low, medium, high priority items
Tabbed user interface with hierarchy, console and readme
Application data stored in special user home subdirectory
1.00 Initial release
Redesigned application architecture to increase flexibility and modularity
Redesigned user interface with resizable split pane, menus, toolbar, multiplatform color-coded icons
Redesigned console with table rendering and advanced message management
Added editable hierarchy tree with customizable item types
1.10 Enhancement release
Added “contact” item
Added “sort item” command
Added right-click item popup menu
Console and hierarchy scroll panes are now scrollable with a mouse wheel
Removed “readme” service (all documentation online)
Added “clipboard” service
Added “clear clipboard” and “export clipboard” commands (also on clipboard right-click menu)
Added selective popup dialogs to display errors and warnings to user
User interface preferences are now saved to properties file and restored when application is restarted
Improved console messages and initialization workflow
Console messages are now saved to log file when exiting application
Frequently Asked Questions
How do I migrate data from HyperDrive 1.00 to HyperDrive 1.10?
Simply rename “hyperdrive.data” and “hyperdrive.backup” files in the “.hyperdrive” subdirectory to “hierarchy.data” and “hierarchy.backup”. Perform this operation before starting HyperDrive 1.10 for the first time.
Can I customize the format of item descriptions?
Hierarchy items descriptions can contain HTML tags to apply special formatting. For example, if you include a word between tags it will be rendered as bold text.
How can I view more details on messages in the console?
Moving the mouse pointer over the colored boxes in the console a tooltip is displayed with additional information on the selected message.
What if I mess up the hierarchy or the program crashes and want to restore the data?
There are several mechanisms in HyperDrive to protect data stored in the hierarchy. When the application is started a backup copy of the hierarchy is saved to “hierarchy.backup” in the user home application subdirectory (closing HyperDrive, deleting “hierarchy.data”, renaming “hierarchy.backup” to “hierarchy.data” and restarting HyperDrive replaces the latest hierarchy with the backup copy). Also, during a normal working session the hierarchy is saved to file after every command (add, edit, delete, move, sort, etc.). Finally, if something wrong happens during the session (e.g. HyperDrive is not able to write data to the disk) a message is traced in the console and a popup dialog is displayed warning the user right away.
Can you tell me something more on how HyperDrive is developed?
HyperDrive is developed in Java using the Eclipse IDE. Development is based on the following principles:
- the user interface should be as simple, functional and flexible as possible
- application resource usage should be low
- the distribution package should be small and contained in a single executable file
- reliability and robustness should be top priorities
- the user language should be US english
- the code should strictly follow relevant standards and be completely cross-platform
- the code should be clear, appropriately formatted, thoroughly commented
Can I contribute to the development of HyperDrive?
Sure you can! The HyperDrive JAR file contains also the source code and you are free to analyze it, modify it and improve it (in accordance with the license). Contact me if you want to be involved in the development, contribute code, submit bugs or simply propose new features and improvements.
Back to Top