"Butterflyzer is in Alpha now. Before we release more polished versions, we need to know if people really want it. So if you like it and want to see a full version, follow us on twitter, and tell your friends. If we get 10 followers we'll release an alpha version. If we get 100 followers we'll release a beta. If we get 250 followers, we'll make a nicely packaged version available commercially at a decent price. Simple as that."
A minor problem.. the response was so great that we achieved the Beta milestone in a few months. And the software just wasn't there in terms of Beta quality. Plus, I felt that there were a number of key improvements to the interface and other functionality that just had to be made. So, it's been six months since we hit the milestone, and I'm happy to announce that..
The Beta is Finally Here!
Download Butterflyzer Now
We've had a Beta Preview available for some time, so many of the features won't be news to all of our users, but I think the level of polish -- if you can talk about a beta release having polish -- is pretty good. There will certainly be issues with it (that's why we have betas!) but it is otherwise feature complete and ready to go to version 1.0. If you're wondering how much work has gone into the release, I'll throw out one measure: the Beta release is Build #995. Here are just some of the many issues big and small that we've addressed along the way..
User Interface
The application just didn't fit in well with the target audience and their expectations about how web related tools should look and feel. One of the most important pieces of feedback I heard was that the interface just felt overwhelming. There is a lot that you can do with Butterflyzer, and I wanted to find a way to make that functionality easily accessible while de-cluttering the user environment as much as possible.
The Butterflyzer Alpha was a typical Rich Client (RCP) application built on the rock-solid and powerful Eclipse platform -- the same one that IBM and other leading software companies base their applications on. The downside of that is that the current Eclipse UI support is a bit stodgy. And unfortunately, while the Eclipse environment provides a lot of functionality, it is very difficult to change the overall look and feel. (E4 makes huge improvements in this area, but E4 didn't address all of our requirements and isn't quite mature enough yet.) So we went back to the drawing board, moved a bunch of stuff around, and re-implemented key existing functionality, including interface and workbench components. It wasn't simple to make these changes, but I think they were more that worthwhile. In fact, I think they were necessary. You can build the most powerful, feature-rich program in the world, but if the UI isn't any good, the only people who use it will be the people who don't have any other choice. So yep, we sweated those single pixels.
Browser Look and Feel
In the quest for simplification, Butterflyzer copies the overall presentation of a typical web browser like Safari, Chrome or Firefox. Catalogs are like browser tabs and all of the interface elements are consolidated within them. That means that we've essentially turned the typical end-user application inside out, with all of the tools and views being hosted inside each editor.
Here's what the old application looked like:
And here's chrome, our simplicity bogey:
Here's the new and improved Butterflyzer:
Why so dark?
By the way, if you've wondered why Butterflyzer employs a "light on dark" visual style, it's not that we're trying to be trendy or anything. There are sound reasons for keeping the Butterflyzer elements dark:
- Colors are easier to distinguish, connect and even read against a black background, and color plays a critical role in establishing implicit relationships within and between the various Butterflyzer user elements. Remember those old green and amber monitors? They really were easier on the eye.
- A dark background allows images to pop and reduces the sense of visual clutter, which is a critical issue given the complexity of the information visualized.
- Most web pages and other artifacts are black on white, of course -- keeping the Butterflyzer elements dark helps establish the web page elements as the visual foreground for the user. There is the "content manager" and then there is the "content" -- everything we can do to make that separation clear is helpful.
- Because we insert the semantic tags directly into the web pages, we need a way to distinguish them clearly from the rest of the web content, and we want those tags to look like the tags in the other views. OK, it's not always that attractive, but you can always turn the semantic feature off if you just want to look at the web page content.
- A dark background allows us to employ more obvious color highlights for buttons themselves. That's important because most of the buttons are monochrome and a simple as possible; we can then color them as appropriate for user interaction.
New Help System
We've implemented a new Help System that includes dynamic help, so that when you scroll over an interface item, you can get live help. Speaking of help, there is a lot of it! And since we have it now, I'll use it to help tell the story.
Eclipse software developers might be interested to know that the majority of the documentation is actually produced directly from our properties files. (Yes, Butterflyzer is fully designed for Internationalization, but we don't have any translations for other languages yet.) That means that we only have to maintain this information in one place. Custom Java code reads the properties and converts them to Wiki text and the help system dynamically loads the property information for context sensitive help, including links to related documentation. From there, we use Mylyn Wiki Text to generate the Eclipse Help system artifacts, online documentation, and even a PDF manual.
Palette Menus
One major goal was reducing the number of mouse-clicks needed to perform common tasks. I think that number and frequency of mouse-clicks have a large effect on end-user perception of ease of use and efficiency for an application. We needed to reduce the proliferation of toolbar buttons without causing a lot of mouse thrashing. Popup menus work fine for supporting changes in options, but they have a big usability issue. Every time you want to make a change, you have to reopen the menu. You could put options into a tool widget as many Apple applications do -- and we do that for more complex settings involving sliders -- but then users have to get rid of it when they're done. Instead, we created our own menu type that displays as long as the mouse is within the target menu area. This required replacing a lot of the normal Eclipse menu implementation.
If you still think all of those buttons are a bit bewildering, you can find out what they all do here.
Context Popups
If a mouse-click takes time and mental effort, a right-click takes even more. There is just something that feels slow and uncomfortable about the whole interaction. I think that's a major issue with the Eclipse user experience actually, and one of the reasons that people like Web interfaces so much -- you see something, you click on it, it does something. Simple. At the same time, it's even worse to have to mouse up to a toolbar to perform a common task on an item. And the worst thing of all is a hover. There is nothing like waiting for a machine that can do billions of instructions per second to take half a second to decide that you want to do something!
In Butterflyzer, we wanted to support a sense of flow when working with items. And we need commonality between the different kinds of views so that for example the options that you have when working with an item in the graph view are the same as when you mouse over the item in the browser. The solution was a context menu that appears automatically . It's still a bit experimental -- there are some usability and consistency aspects to fine-tune -- but I think it works pretty well. Currently you hold down that "CTRL" key in order to make the menu appear on any item -- having it appear in all cases made interaction a bit busy feeling.
Windows
Yes, Butterflyzer has always done Windows. Just not very well, frankly. Apologies to the legions (well, dozens anyway!) of Windows downloaders out there..we think this latest version will make you much happier.
Visualization
There have been significant strides in this critical area as well, including innovative approaches to taming, filtering, and cleaning up visualizations and related data. For more on all of that, check out this section in our comprehensive documentation.
Internals
The list of enhancements here is too long to get into, but we've put a lot of effort into creating a system that has the highest throughput and integration without compromising data integrity. It's been a challenge, and there have to be some gotchas lurking out there, but I'm really happy with how the system is handling the large volume of data that we can pull in. To see what I mean by "large volume of data", check out this page for details on what you get from a single Butterflyzer search.
Web Site
The web site has come a long way from the alpha days, where it was deliberately minimal and home grown. Please visit!
New Videos
If you want to see how this all fits together, check out the new videos:
Let's Talk!
As always, I'd love to hear from you. What are you using Butterflyzer for? What would you like to do with Butterflyzer?
One thing I'd like to mention specifically for people already involved in developing software tools for the Semantic Web: Butterflyzer is an end-user product, but there are many other opportunities for employing core Butterflyzer technology. Perhap you have proprietary or specialized Web information sources that you'd like to integrate with the Butterflyzer Content Management and Visualization services. Perhaps you'd like to license or re-brand Butterflyzer or make use of key components. Contact us and let's discus how you can use Butterflyzer to enhance your efforts.
But what I really hope is that you're someone who just wants a good tool that you can use for web research, and that Butterflyzer scratches that itch for you. I'm reading the new biography of Steve Jobs so I can't help indulging in a little reality distortion of my own -- in the best sense of that phrase, naturally. You'd never know it with all of the talk, but we're still in very early days of semantic technologies, and we're nowhere near exploring the possibility surface, let alone exploiting it. When it comes to web exploration tools, what exists now for the average user is... well, it's a lot of dumb shit, with a nod to Steve. I believe that you need a rich, powerful application to make the most of the deep store of knowledge that is out there, but it needs to be as simple as it possibly can be -- in short, a tool that opens up the Semantic Web for the Rest of Us. And that's what Butterflyzer is all about.
It's an exciting time to be building software tools! There are a lot of interesting things happening, and plenty of opportunities for all of us to make positive changes in how people around the world work and live. I've got some other really exciting news to share, but that will wait until next week...










0 comments:
Post a Comment