Together 2.0 – Data Management

November 23rd, 2007 by Steve Harris

This is the fifth post in a series highlighting some of the new features and improvements in Together 2.0 – formerly known as KIT.

So far we’ve covered lots of functionality you can see, such as how files can be organized, edited and viewed. This post is about some of the things you can’t see.

Encryption

together_encryptFirstly, things you don’t want other people to see: Together can now encrypt files. Click the Encrypt button in the toolbar, enter a password and Together will encrypt the file or files and store the data in its database.

Once encrypted, you can either view the file temporarily or decrypt it entirely. Both operations will require the password. Be aware that if you forget the password, you won’t be able to open the file.

Core Data

Together uses Apple’s Core Data technology for its database. The original document files remain on disk as before, but Together now has a robust, high-performance database keeping track of them all.

If one thing that surprised me in feedback emails about KIT, it was the number of files people would put in it. Emails along the lines of “I just imported 10,000 files into KIT and it’s slowed to a crawl” left me unsure whether to laugh or cry. I designed KIT to be good for about 1,000 items although I heard of people who managed with more than that. You may think I was naive but I never expected people to dump everything into it, as its design (e.g. no hierarchical folders) discouraged that.

KIT didn’t keep much data about files, using the file system for most it, but indexing and sifting through those for things like smart groups could seriously slow things down. If you had thousands of files or some complicated smart groups, KIT’s could grind to a halt. Now performance for large volumes of data is much improved.

Together is a very “live” application and needs to react in many ways to changes in its data (e.g. by updating smart groups). People expect those reactions to be instantaneous. However, reacting to changes instantly is much less efficient than batching them together, especially as one change can often trigger others. Together has been designed to group changes together and is much more responsive as a result.

With performance though, there’s always room for improvement and I’m working on some of those right now.

Multiple Libraries

With KIT, you could store your KIT library in different places to the default and this became a workaround for having multiple KIT libraries. However, it was clumsy to use for that purpose. Together comes with a Library Manager for creating and switching between different libraries. Find it in the Together menu.

Together 2.0 – Importing

November 22nd, 2007 by Steve Harris

This is the fourth in a series of posts highlighting some of the new features and improvements in Together 2.0 – formerly known as KIT.

In this post we’ll look at some of the changes to do with importing files into Together.

Import by Moving Files

KIT offered two options for importing files, you could make copies or link to the original files using aliases, which keep track of those originals.

Together now adds the ability to move files. In this mode, files and folders are first copied then the originals removed.

Background Importing

Importing items into KIT would cause the application to be blocked by a progress sheet and would require you to wait before making another import or working with any of the imported files.

Together moves importing to the background, leaving the app responsive. An activity window, much like the Finder’s copy window, shows progress and alerts. Progress is also shown in the source list.

together_bgimport

This background importing offers another advantage too. In Leopard (at least so far) showing sheets, such as a progress sheet on a window, brings that window to the front and, if you’re using Spaces, will make the window’s space active. That isn’t so good when you want to keep an application in the background or in another space. Together’s background importing means it is not affected by these problems.

Import Emails, iCal Events

Dragging messages from Mail into KIT has long been a request for KIT, but unfortunately Mail didn’t allow emails to be dragged to other applications.

However, Mail on Leopard does allow this and likewise, iCal allows events to be dragged. Together can preview both of these using Quick Look.

Recent Imports

together_recentsKIT could show the last set of files imported and collect together everything imported while the application was inactive. Together goes much further, allowing for up to the last 100 import sessions to be tracked in their own import groups.

Each group is named to reflect what was imported and when, for example “10 files today at 10:01am” or “1 mail message yesterday”.

Together lets you choose how many recent imports to keep in its View Options panel, and individual import groups can be removed at any time.

Together 2.0 – Editing and Previews

November 21st, 2007 by Steve Harris

This is the third in a series of posts highlighting some of the new features and improvements in Together 2.0 – formerly known as KIT. So far we’ve covered organizing and searching, this post will examine the other major functional area of the application: editing and previews.

Edit in Window

KIT could preview all sorts of files, but only edit its own notes. Double-clicking to edit a KIT note would open a new window and double-clicking any other file would open its default application.

A number of people asked for the ability to edit KIT notes directly in the main window. I could see how this would be beneficial, but it would break the consistency. People would then wonder why they couldn’t edit other files in KIT itself.

So, Together can now edit notes, text documents, bookmarks, web archives and HTML documents in the main window or open them in their original applications as before.

I have no intention of making Together some generic editor of all things but rather provide enough functionality to save opening another application just to make a quick change to some data you’ve added.

Preview Anything

together_previewThe feature requests for KIT that I would dread the most were those that requested support for a particular file format. I would love for it to happen, but most often the formats were either completely undocumented and / or fiendishly complicated. Excel spreadsheets, Keynote documents, OmniGraffle diagrams. KIT could store and search these, but as for previewing, forget it!

Leopard introduces a technology called Quick Look. This does for previewing files what Spotlight did for searching, so any developer can write a Quick Look preview generator for their own file formats. These generators create the previews you see in the Finder.

Where Together doesn’t already know about a particular file format, it will use Quick Look to generate a preview for the file, if possible. This opens up Together to all sorts of file formats and potentially every document on your Mac.

Web Content

As mentioned above, web archives and HTML documents can be edited in Together. This is WYSIWYG editing intended for trimming and reformatting a page for what you need.

Together’s handling of web archives and bookmarks has been improved in other ways too. Web page bookmarks can now be previewed in the app itself, and you can create bookmarks from web archives and vice versa.

Another benefit of Together’s support for folders is that it can now import and properly display archived sites from browsers such as Firefox and Camino.

The next post will be about importing.

Together 2.0 – Searching

November 20th, 2007 by Steve Harris

This post continues the series highlighting some of the new features and improvements in Together 2.0 – formerly known as KIT. In this entry, we’ll look at searching in Together.

Spotlight

Together will now use Spotlight for searching the content of files, which means no more indexing.

From the outset, KIT could search for files by their names, contents and KIT’s own metadata such as comments, categories and later, tags, as you typed. Originally developed for Panther, KIT attempted much of what Spotlight would later implement on a systemwide basis. Panther introduced a technology called Search Kit that would later be improved and used by Spotlight; this could index files and text and would return search results fast enough to perform live searching.

The trouble was that everything else was left to the developer. KIT had to detect when files were changed and handle files being renamed, moved or deleted to keep its index updated. The indexing was a pain from a user perspective too; not only did it mean that you couldn’t search for files immediately after importing them, but because indexing occurred in the background, a corrupt document or flaky Spotlight importer (used for indexing the contents of files) could crash the application for no apparent reason.

Spotlight was announced as part of Tiger at WWDC 2004 the day after I finished developing KIT 1.0, and would handle much of the above. Considering all the work I’d just done, my heart sank, but on the bright side that technology would eventually be there for me to use and Tiger’s release was still around 10 months away. So I’m pleased that, finally, Together uses Spotlight for content-searching, and thanks to the improvements in Leopard and the search being limited to Together’s library, you get the results fast.

Search Bar

In KIT, you could select search criteria by choosing items from the search field menu. Together replaces that with the familiar search bar seen in many apps. This makes it much easier to switch between different criteria.

together_search

In addition, the search can be restricted to the current group (or tags in the tag browser) or whole library. The search bar only appears once you start typing in the search field and hides itself when you clear the search.

Smart Groups

KIT’s smart groups now have content searching, again using Spotlight. The results are updated live, so changes to files will be reflected immediately.

together_search

Also, smart groups can now match on relative dates. So, for example, you can choose to see all files modified today or created in the last 2 months.

In the next post, we’ll look at editing and previews.

Together 2.0 – New Features for Organizing

November 19th, 2007 by Steve Harris

Over the next week, I will posting some more details about the new features and improvements in Together 2.0 (formerly KIT) in the hope that it will be useful for those who’ve upgraded and answer questions for those who either haven’t or can’t just yet.

Folders

Since KIT’s initial release in 2004, people have been asking for folders, a hierarchy, sub-groups, etc. I mention the different terms because rather than a compromise, Together now has real folders that can be nested to your heart’s content and are mirrored in the Finder. At the same time, Together retains KIT’s groups, although they now have a different icon to avoid confusion.

together_foldersThe challenge was to add folders while maintaining the existing functionality that was KIT’s appeal. KIT was based on applications like iTunes and iPhoto and doesn’t force a decision about where to store a file or drag some text for safe keeping, making it quick and easy to store files. This model includes groups that work like iTunes playlists, where a file can be in more than one group at a time.

KIT’s playlist-like groups will not work in a hierarchy (and the same applies to groups in Together). Dragging files to groups adds, rather than moves, the files. I contemplated having a file only exist once within a hierarchy or putting groups in pseudo-folders like iTunes these days, but it would only create confusion. Many things depend on a folder structure. A local copy of a web site is one example, lose the hierarchy and links will be broken, images will fail to display, etc.

So, in Together the solution is this: you can use it exactly as you used KIT. Drag to its library and the items will be stored automatically. You can still create groups and smart groups and items can be added to many groups, no matter where they are stored. In addition, you can now create and import folders. Files in folders still appear in the Library group and can still be added to groups, but will be stored in the actual folder. To store an item in the Library, rather than a specific folder, drag it to the Library.

Where

together_whereOf course, with folders and multiple groups, you can often find yourself wondering just where an item is stored. In KIT, there was no quick way to see which groups items belonged to. Together introduces the “Where” view, shown as a new section in the Info view. This acts as a cross reference, showing all the groups containing the item.

Selecting a particular group or folder shows its path in the hierarchy and double-clicking selects the group in the source list and highlights the item. The Where view also shows the folder on disk where the original file is stored.

Tag Browser

together_tagsAnother frequent request is a way to browse and manage tags. KIT could only find tagged items through its search field or using smart groups.

Just as you could see a list of groups in KIT, in Together you can switch that view to a list of tags. But there is more: folders, groups, labels and ratings can also be browsed as tags and this turns out to be a very useful alternative view of your entire library.

The list can be sorted by name, item count or kind and searched. Tags can be renamed and removed, dragged to items and vice versa. The system tags (folders, groups, labels, etc) can be hidden and switching between groups and tags is a single click. You can enable the system tags in the View Options panel.

These are just some of the new organization features in Together. Next: Searching.