Wednesday, December 13, 2006
"As much as possible, allow users to do whatever they want at all times."
-- Apple Human Interface Guidelines, 2006-10-03
Are you planning on doing a public beta for T2 by the way?
Let's start with some history... I got the idea for Bee Docs' Timeline from a Mac Lawyer discussion group that I was hanging out on about 2 or 3 years ago. I decided to take on the project, spent a few days drawing timelines in Adobe Illustrator and two weeks later, released my first beta of Bee Docs' Timeline.
For the first beta (which was an extremely rough version), I only invited people from the Mac Law discussion group to participate. They gave me their e-mail address if they wanted to join and each and every Friday I released a new and improved version to the beta group.
As the software reached my own milestones of stability and functionality I expanded the invitation to more and more people. Eventually I sent out press releases telling people about the beta. When the software was about a month away from its final release, I no longer required that people sign up for my e-mail list, instead anyone could download the beta from my website or sites like version tracker.
Bee Docs' Timeline was in pre-1.0 development for about 6 months and by the end of it I had several hundred people on the e-mail list and hundreds more who downloaded it without officially signing up. Each week's release generated dozens of e-mail suggestions and bug reports. The process was lots of fun and highly collaborative.
For T2, I also want to involve customers in the creation process but I want to try something new. One thing that is different is that I now know, based on hundreds of customer e-mails, phone calls and blogs, what people as a whole would like to do with Bee Docs' Timeline that they can't do now. I also know which of those things I am going to tackle in T2. The trick to T2 is going to be how to provide the new functionality while increasing ease of use, which everyone wants but nobody every asks for (especially those who try the demo and don't end up buying).
I'm also dividing my time differently with T2. Instead of doing design, development, and testing on a weekly iteration, I am slowing the cycle down. I am doing most of the design up front this time. This allows me to focus on the integration between all the new features. It also gives Apple time to stabilize Leopard before I get too deep in coding. It may also allow me to hire outside help for some aspects of the development.
Consider this blog the first part of the process. I'm tossing out ideas here about basic design, features, pricing structure, beta, icons, etc... The reason I am doing that is so that I can get feedback.
I'm a little concerned about other developers copying my design ideas, so I'm being a guarded about some of the design specifics. I'd rather be completely open, even to a very detailed level. So, I'm thinking of starting a separate private blog that I could invite select customers to join and provide design feedback. It wouldn't be for people to tell me everything they've always wanted but rather for things like "Out of these two alternatives, which do you think would be the easiest method to add a new event" or "In which menu would you expect to find the event import feature?" The private blog would be invite only and I would want those invited to commit to regular participation, not just lurking to see what's coming.
After the design is complete. I'll spend a month or two (or three) implementing the design. As soon as it is stable (ie, won't screw up your data or your computer), I'll release it for other folks to try. Probably the private blog readers first and then expanding the circle of users like I did in the 1.0 beta. There will likely be a month or two of polishing the application while there is a public beta before the commercial release. There will likely also be some polishing after the public release in the form of point releases too.
To the readers of this blog, please let me know what you think of this plan. If you agree that this is a good strategy, I'll work out a process for choosing the "design team" participants and get it set up right away.
Tuesday, December 12, 2006
As some of you have surely noticed, I said goodbye to Exbiblio two weeks ago. This has been a full time job for me for about a year and a half.
The relationship ended on good terms, and Exbiblio is even allowing me to rent back my office space for my Bee Documents and contract work. It is a great office in Pioneer Square in downtown Seattle. Here are some pics:
I'm not sure what is next for me as far as a day job. For now, I'm limiting my search to a few "dream jobs" and am instead focusing most of my time and energy on T2.
This should be good news for the T2 project which can definitely benefit from the extra time that I now have available.
My wife likes the quote "What would you attempt if you knew you could not fail?" It is a very interesting thought to ponder...
My buddy and sometimes collaborator Tony J, of Ratio Interactive, and I were chatting about a similar concept in software design. How would you want your software to work if there were no limits?
What if the screen was of unlimited size and resolution? What if all the features of the physical world could be implemented in software (weight, texture, temperature, sound, small, etc...)? What if all you had to do to create a software application was to imagine it?
However, getting away from my office and imaging software with no limits is a great exercise for me. It turns out that many things already are possible, but those of us who are software developers and software users tend to have minds that are clouded by the typical instead of clearly focussed on the desired.
Monday, December 11, 2006
Here is the latest icon draft with some more details added. We are so close to being final I can almost taste it!
Thursday, December 07, 2006
I'm attending the Mac OS X Leopard Tech Talk in Seattle tomorrow.
If anyone watching this blog is going to be there, I'd be happy to meet you. Send me an e-mail (Adam at BeeDocuments.com) or my AIM is adambehringer.
In addition to line wrapping and notes, two Bee Docs' Timeline features that are often requested are the ability to add images to events and ability to link events to a document or URL.
There are a few design challenges related to images. Most importantly, I want to have a visual design that seems obvious and natural. I don't want the images to appear like they have been tacked on as an afterthought.
Another challenge is that as events support more features (titles, dates, images, notes, links), users may choose any combination of these things in the same timeline. I want events that show only an image to look great next to events that use all the features, or next to events that don't have an image.
I have tried a bunch of different design ideas over the past week. I've tried placing the image above, under, and next to the notes, putting the image next to the title, etc... Here is the design I like best so far:
(Like many of the other design ideas I'm showing on this blog, this was mocked up using Apple Keynote which is my rapid prototype tool of choice these days.)
Links are another often requested feature. Lawyers, in particular, have wanted to be able to link events in a timeline to external documents or videos.
One of the design challenges with links is that events are currently selected with a click, and I always get annoyed using software that makes me accidentally click links... Don't you hate it when you enter an e-mail address in Word and then try to edit the address and instead it launches your e-mail client. Arg!
The other challenge is that links are often ugly URLs that I wouldn't want to add clutter and distract from the main point of a timeline chart which is to show the relationships between chronological events.
Here is my favorite solution so far. When an event isn't selected, you don't see anything related to the link. When it is selected, the link (if it exists) shows up as an arrow button. Clicking this arrow would open up the external document or web page.
One thing that I'm thinking would be fun is automatically generating timelines based on news feeds (I'm doing a really rough version of this in my blog header). The article title could be the event title, the first few lines of text could come from the article, as would the image. If you clicked the link it would open the original article in the web browser.
Please let me know whether or not you would use features like these and, if so, what you would use them to present. I also welcome comments or suggestions on the design ideas.
Kenichi and I have been trading e-mails back and forth about the last icon draft. I asked him what he thought and he said that he would like the pencil to be more original.
I spent a little time digging around Flickr for pictures of colored pencils. I found this one that I like:
Notice that pencils are sometimes stamped with foil lettering and that the tips are rarely perfect once they have been used. Maybe adding some more fine detail like this will bring the icon to life.
I also wanted to play around with the arrows on the timeline and see if we can get them to look more like a sketch without loosing the clarity at smaller sizes. I took the last design and ran some Photoshop effects on the arrows (noise, motion blur, smudge tool, and color adjustments), to get a quick idea of how more sketchy arrows might look. I like it and think it helps separate the pencil and the chart.
I sent this back to Kenichi, so we'll see what he can do with these ideas. And thanks to all those who have provided feedback via the comments or e-mail! A big reason why I am blogging all this stuff is to harvest the wisdom and ideas of the community.
Tuesday, December 05, 2006
Just for the heck of it, I thought I'd provide links to some of my timeline competition. After searching Google for a while, these are the ones I found:
- TimeLiner 5.0 (Mac / PC)
- LivingTime (Mac)
- Azlance Timeline 2.0 (Mac)
- FTLCtimelines (Mac)
- SmartDraw (PC)
- Timeline Maker Basic (PC)
- Matchware OpenMind 2 (PC)
- Simile (Web)
I haven't actually tried any of these (trying to leapfrog the competition by thinking fresh), but I want to understand the general lay of the land. If I've missed any timeline software that you know of, put a link in the comments.
The current version of Bee Docs' Timeline displays events like this:
The event label gets one line and the date gets one line. This design is very simple and elegant. If the event only has one date like the one show here does, then the label and the date are next to each other. If there is a date range, then a horizontal line representing the length of the event goes between the label and date (more spacing is added to accommodate the line).
The automatic layout feature of Bee Docs' Timeline only needs to know the length and height of the total event to avoid collisions.
The single line approach works very well for many people but it isn't flexible for handling very long event names. Really long event names are hard to read on a single line and can cause collisions that the auto-layout system isn't able to handle.
So, the next version of Timeline (T2) will handle line wrapping for events. It might look something like this:
It seems like a simple thing, but it will actually be quite complex to make the auto-layout choose good widths for events in addition to finding the best height to avoid collisions. I could let users choose event widths, but the whole point of Bee Docs' Timeline is that users only need to worry about entering data and the software will do a good job of drawing the timeline.
Another popular feature request is the addition of a notes field. An event with a label and notes (both line wrapping) may look something like this:
Notes add another layer of complexity to the layout because they could be of any length (an extreme example would be an entire book). The software is going to have to make good decisions about line wrap, width, vertical placement, and the length of the notes to show when all the events are being placed on the page.
If I do my job well enough, users won't have to think of any of this, it will just happen "magically" and people's timelines will look like a million bucks with minimal effort on their part.
DISCLAIMER: These are early designs, drawn using Apple's Keynote software. The end product might be very different, but they give you an idea of my thoughts toward T2 so far.
Monday, December 04, 2006
An associate from Exbiblio loaned me this book a few weeks ago. I've been doing a lot of thinking about project management and design processes lately, so it was an appropriate read.
The main theme in the book is that engineers should focus on implementation and leave design to product designers. Alan Cooper makes some valid points but seems like he has a big chip on his shoulder. Of course, I do both engineering and design frequently. In fact, for Bee Documents, I am also in charge of marketing, keeping the books, and customer support too.
In any case, I don't have the luxury of giving these tasks to specialists at this point. I do agree with Alan Cooper though, that it is best to keep design and engineering separated. For example, I try to do most UI design away from the computer, preferably outdoors with a sketch pad or in a completely non-technical environment. Design and Engineering are simply different ways of thinking and it is nice to be in one mode or the other. When I'm designing I'm looking for the "best" way to do something and when I am implementing, I'm looking for the "most efficient" way.
The book starts to get good when Alan begins to discuss design techniques including the use of personas. A persona is an imaginary person that represents a typical user of the product. I first encountered the idea of personas about a year ago and thought they were lots of fun and useful. Alan Cooper does a great job of explaining the personas and I have recommended this book to several folks already for the persona chapter alone.
I have developed three personas so far for T2. They include a high school teacher who teaches American Literature, a malpractice attorney from New York who loves gadgets, and a student from India who is attending the University of Chicago and studying Anthropology.
Each of my persona has an age, a photo, likes and dislikes, etc... They are very much based on real people and what I have learned from my current customers. In fact, the photos I am using are a real Lit Teacher, malpractice attorney, and student that I found on the internet.
When faced with design decisions such as whether or not to include a certain feature, I can "ask" my personas whether they would value such a feature. If my personas don't like something about the software than it has to change! They haven't argued with each other yet, but if they do, I will have to do my best negotiate a compromise.
What was that about an Asylum...?
This may be the final draft of the T2 icon...
What do you think?
Friday, December 01, 2006
Here is the latest icon draft from Kenichi. This one has the timeline added to the sketch pad. I've asked him to tweak the coloring a bit and Kenichi is working on refining a few details, but I think we are almost there.