Five Big Ideas
We think the HyperScope is a great piece of software, and we hope that many people use it and help evolve it. But the HyperScope's importance extends well beyond the code. Here are five design takeaways we think are important when considering high-performance, collaborative knowledge applications.
1. Expert-Oriented Interfaces
People tend to emphasize the importance of making our software more user-friendly. While catering to beginners is important, we shouldn't do so at the expense of expert-friendly interfaces. Imagine a world where we all rode tricycles instead of bicycles.
The HyperScope is designed to be a high-performance knowledge application. As with bicycles, there's a learning curve to becoming an expert user, but once you've attained this knowledge, you are able to perform your tasks far more effectively.
2. Addressability Is For More Than Linking
The HyperScope's power centers around its powerful addressing capability. HyperScope addresses specify a location in a document as well as how you want to view that location.
What can you do with these addresses? We generally use addresses to create links to content on the web. But addresses can be used for much, much more.
Consider how we navigate documents. The most common way we navigate documents is with the scrollbar; we scroll until we find what we're looking for. Another method we often use is to search for specific content.
However, if we know the structure of our documents and if we have the ability to jump around a document via an address, we can navigate around documents much, much faster. The HyperScope allows you to do just that.
3. Latency Matters
When navigating a document, what's the difference between scrolling to a section of a document and jumping there directly via a few keystrokes? All the difference in the world. Every keystroke and every second counts. This especially holds true for actions you perform over and over and over again.
4. Interoperability
You can find HyperScope-like features in other software. What's important is not the novelty of the features, but the ability to perform these features in an interoperable way across multiple applications.
In fact, a great measure of the value of the feature is how commonly it's implemented in other software. When we find these features, we can make them even more useful by implementing them in a standard way.
5. Just the Beginning
For version 1.0, we intentionally chose to replicate features from Doug Engelbart's Augment system. While we think that there's much to learn from these features, we don't necessarily think that they are the end-all and be-all of collaborative knowledge applications. There may be better ways to do these things.
The important thing is for us to understand how real people use these capabilities and to co-evolve the software based on this usage. If there's a better way to do something, we want to explore that. We hope you'll join us in this journey.