Wednesday, October 22, 2014
Last week, Apple released OS X Yosemite and I published the first beta of new the new Timeline 3D for OS X Yosemite. After you upgrade your Mac, please try the new Timeline 3D.
The beta will be free while I iron out the bugs and put the finishing touches on the iOS 8 product that goes with it. This is a good time to send me feedback about any bugs you find.
Why the rewrite?
The new version is an almost complete rewrite of the code base (the last rewrite of this scale was the “T2” release back in 2007). I have been working on this release for about three years. Some of the features have found their way into the iOS releases during that time.
A few people asked for more details on why a rewrite was necessary. The main reason is that the iOS version and the Mac version of Timeline 3D shared about 5% of their code base and the other 95% was different for each platform. This is because the Mac version was written before iOS existed and many of it’s technologies are not available on iOS. It is difficult for me to develop new features and fix bugs when the products are completely different behind the scenes.
The new versions have about 85% of the code in common. All of the date parsing, document storage, layout, rendering, and exporting code is now common. For example, when I recently improved the way date parsing works in Chinese, that improvement was applied to both platforms.
In this effort, and also in the effort to remove my dependence on technologies that have been deprecated or fallen out of favor, I swapped out many of the core technologies for newer technologies.
Here are some of the frameworks that were major components of Timeline 3D and have now been removed:
- Core Data
- Quartz Composer
- Garbage Collection
In their place, I have added modern Apple technologies such as:
- iCloud compatibility
- Auto-saving with versioning
- Automatic Reference Counting (ARC)
Obviously, the user interface has changed quite a bit too. I’ve discussed some of those changes on this blog. The main idea behind the changes is to address the most common issues customers have as well and standardizing on a user interface that can scale from phones to 5k iMacs.
If you have any questions or concerns about the new version, please send me an e-mail. I realize that it will be a transition and will cause some inconvenience, but I hope that the new architecture will serve us all well for the next 5-10 years.
Thursday, October 16, 2014
When I announced the new versions of Timeline 3D, I received a lot of feedback about pricing. Thank you to everyone who sent a thoughtful reply. I enjoyed interacting with you and if helped refine my thinking.
I described the new pricing model as “freemium” and described an option to pay a small fee per export. Even though I also described an option to pay one price to unlock everything, the “freemium” description caused a bit of panic.
My goals remain the same:
- Allow anyone to try the software for free
- Allow most customers to unlock the complete set of features for a reasonable price.
- Give less expensive options to people who only want to use Timeline 3D for one particular project (like a school project).
So, here is my latest plan…
Included for free:
- Creating timeline
- Editing timeline
- Saving and Syncing
- Presenting 3D timelines on your Mac or with AirPlay
Unlocking the exporting and rendering features require a purchase. The purchases will be handled as an in-app purchase. These are non-consumable purchases which means that unlocking a feature on one of my Macs will allow you to unlock the feature on all your Macs that are using the same Apple ID or family sharing.
Timeline 3D for iOS will contain a separate but similar pricing arrangement. If you've already purchased Timeline 3D for iOS, you will not need to pay again.
Here is the pricing sheet for the Timeline 3D for OS X Yosemite launch. The prices are subject to change in the future.
I know that education and enterprise customers are interested in a paid up-front version so that they can purchase and install Timeline 3D in bulk. I am working on a solution to that as well.
Hopefully the new pricing arrangement seems clear and fair. If you have questions or feedback, please send me an e-mail at email@example.com.
Wednesday, October 15, 2014
Here is a comparison between the legacy Timeline 3D (v3) interface for editing timeline events and the new design that will be released soon for the Yosemite update. The new design gives much more space to your content and makes it easier to see and edit multiple events at the same time.
Note the new “Color Category” feature. This allows you to quickly categorize your events with a single click. The actual colors change with the theme so you can adapt your timeline to different outputs (like printing) and still retain the category information.
Tuesday, September 02, 2014
Here is a retro screenshot of Bee Docs Timeline version 1.0 running on Mac OS X 10.4 Tiger.
At that time, events could contain an event title and dates. Other information such as notes, images, movies, links, and tags were added in later versions. As I mentioned in my previous post, the user interface was designed around those initial requirements.
When I added the ability to use notes and media, almost everyone took advantage of those features. In fact, people took advantage of those features to a degree that I did not initially expect.
As I have provided e-mail support to customers, I have seen hundreds of timelines. Many of those timelines use notes that are paragraphs long. Notes that are about as long as a printed page in each event are not uncommon.
A graphical timeline chart must trim or scale down this data in order to display it efficiently together with other events, so it has become important to have an additional way to view and edit your events. It is with this in mind that I developed the Event Poster view.
This view shows all of the information associated with an event in a layout that is optimized to fill the screen, minimize scrolling, and feature your event media. You can quickly flip through your events with a swipe or using the arrow keys.
The Event Poster view also is designed to adapt to a huge range of screen sizes. For example, the iOS version scales between the iPhone and the iPad in different orientations.
This view also presents your events beautifully on any Mac screen. Here is a screenshot of Timeline 3D running on a Mac OS X Yosemite at 1280 x 800:
I originally wrote the layout code for Event Posters when I designed the iOS app several years ago. At that time, it was manually coded layout logic. For the iOS 7 release, I migrated the layout code to use Apple’s auto-layout technology instead. For the Yosemite release I am using the same auto-layout structure, but tuned for the fonts and screen sizes available on the Mac.
The principle that it takes a lot of complexity to make something simple definitely holds true here. There are over 70 layout constraints involved in determining the layout. Many of them change priorities or values based on the contents of an event (for example, the aspect ratio of the event media affects the line wrapping of the notes).
The result is that your content looks beautiful and readable on any screen!
Saturday, August 30, 2014
Ten years ago, Bee Docs Timeline was born out of the idea that a member of a legal team could record events as a witness was describing them and then show the resulting timeline chart to the witness for confirmation. Two main parts of this challenge appealed to me as a product designer. First, quick real-time entry of the data. Second, a clear and professional presentation of the data that did not require lots of tweaking.
Both of these activities remain central to the design of Timeline 3D. The upcoming release will have a new interface design that further clarifies and reinforces these features. In order to understand the coming changes, I first want to review the design of the software as it exists today.
Here is an image of the current version of Timeline 3D for OS X (v3.9):
The main layout of interface has stayed basically the same for the past ten years. A layout of your timeline fills most of the window. This graphical presentation dynamically adapts to the contents of your document as well as the size of the window.
Double-clicking an event reveals an edit form that allows you to add or edit information like the event title, date, and media. You are responsible for that information as well as the date formats, colors, font size, and image sizes. The software is responsible for finding the best way to position everything in the timeline based on the these settings.
This structure had many advantages over timeline product that came before it. Notably, it removed the time consuming task of arranging event positions and tick marks. It also looks nice and works great for timelines where most of the events fit on a single screen. In the beginning, before event notes and media were an option, most of the timelines that customers created did fit on a single screen.
However, there are some down sides to this arrangement. It muddies the division of responsibility between the software and the user. When you want the timeline layout to fit more compactly, it involves changes to the timeline elements so that the software can change the timeline layout. This is confusing to many people at first.
The whole structure of editing your data within a dynamically changing timeline chart also does not scale very well. If you have one hundred events, for example, changing the date of an event may cause it to move completely off screen as the layout adapts. Then you need to go scrolling to find it.
Furthermore, the layout logic is complex behind the scenes and may take a few seconds to computer for a large timeline. The software can feel sluggish when it is constantly calculating the layout as you edit your content.
Finally, screen sizes on Apple products were fairly predictable when I introduced Timeline 3D. Now, the screens you work with every day can cover a huge range. Everything from a 3.5” iPhone to an 11” MacBook Air to a Mac Pro with multiple 4K displays.
The existing layout works well for very large displays, but it involve lots of side scrolling on the smaller displays which represent Apple’s most popular devices.
In the next Development Log, I will introduce a new design paradigm that addresses these issues in the upcoming version of Timeline 3D for OS X Yosemite.
Wednesday, August 20, 2014
I am planning to use this blog to share some of the technical details that I am working through for the upcoming version of Timeline 3D for OS X Yosemite and Timeline 3D for iOS 8.
After the conceptual design of a major new release, usually the first code that I develop is centered around the document format. I need a document format that can meet the goals of the release and that can also have a migration path from the previous formats the software has used.
New platforms and features have new requirements. After all, Timeline 3D was originally designed before the iPhone, iPad, and iCloud, not to mention the changes in the Mac platform during that time. Timeline 3D also did not originally support embedded images, movies, and audio.
Timeline 3D is almost ten years old and has supported six different file formats in that time. These formats include a custom binary format, SQLite Core Data store, XML Core Data store, as well as the ability to import and export tab-delimited text.
The file extensions have been txt, bdt, bdt2, bdt3, and bdt4 (short for Bee Docs’ Timeline). The new format will have a file extension "TL3D".
For the new version of Timeline 3D, my main goals have been cross-platform compatibility and support for syncing data. To this end, I designed a file format that is a folder structure of text (JSON format) files and media files in their native format (JPG, PNG, PDF, MP4...). Each event in the timeline has it's own folder with a data file and media files.
The new format is inherently cross-platform because it is just text and media files. There is nothing OS X specific, iOS specific, or even Apple specific about the format. If I wanted to build Timeline 3D for another platform or have a web server generate Timeline 3D files, the file format would still work.
The new format is also atomic. Change the tags in an event and only one little text file needs to be saved and synced. Change the image in an event and only two image files need to get synced (the media you added and a jpg thumbnail).
Since QuickLook and Spotlight were introduced, I have stored the thumbnail, preview, and search data within the file format. If I did this in a synced app, you could potentially be syncing large multimedia data every time there is a minor change to an event title or date. So, the new format uses an external QuickLook and Spotlight generator embedded in the Timeline 3D app. That information is now generated by your Mac as needed and not synced with the file format.
While the file format is not an aspect of software that customers think about often, the file format is the foundation of the features and performance that are critical to the app. The new format should be a great foundation for Timeline 3D for the next decade.