Hi Natan,
cool overview article, with a good level of detail! Me likey! :-) Just throughing in notes on "activities" and "logging vs. indexing" as I had originally thought it could be reflected in the article. But I like the article as is. So just view this as comments. --- Natan, I'll send an email with some feedback on the wording in the next email --- In my thesis experience-computing about the contextdrive prototype (which has a lot in common with zeitgeist), I adopted the concept of activities from activity theory for computer use and found it to be useful. It has become the frame for a lot of Seif's and my thinking and is behind one of the central observations motivating my work: As opposed to the intimacy expressed by many people interacting with their personal computers, it is striking to observe that these very personal computing devices are not really prepared and in fact offer only limited support in answering the central questions of orienting oneself: "What did I do?" (retrospective perspective), "What am I currently doing?" (current perspective, where 'current' turns out to be a very vague term), and "What have I planned for the future?" (prospective perspective). The verb "to do" above points to activities: Activities The core definition is as follows: activity := "a user does (~acts) something employing tools (~ computer tools) to objects (~ information items) with a certain outcome ( changed documents, changed source code, written emails, read emails, posted comments, chat traces, changed wiki entries, read websites). Some outcomes (~output) is more tangible than others, but one thing assumed is that the personal trace of the user is important to him (and possibly to others): not only the changed/written information items, but also the ones, which were just viewed or read. Among others, this touching or reading is also presented/reflected in the zeitgeist journal view to give the user a more complete overview of what he did, for example, on a specific day. Otherwise: "I did read this email, I did view this website . why isn't it there?" . where too many items presented is a drawback, I see that. A flexible and expand/collapse display could help. Information items is just the framing notion for all the items in the zeitgeist database := some persistent and packaged form of information, which is relevant to the user and can be given a URI; examples: emails, source code, all kinds of local or remote files, chat conversations, websites, etc. Why do activities help and how do they relate to zeitgeist? A user has plans and goals, which he turns into tasks. Here it doesn't matter, if the tasks were given to you by someone else or if you came up with them yourself :-) User goals and tasks are things a computer doesn't know and care about. But computers often host the user's to-do lists, which usually reflect the user's tasks (sometimes with deadlines and time estimates) and his "language". So, the idea is to turn to-do's into special tags in zeitgeist (todo-tags or task-tags). And a user working on to-do's/tasks performs _activities_: "I am working on the gnome-article on zeitgeist" (the user's language). While performing this activity, which usually extends over time (notequal to events, notifications), the user writes a document, reads some blog entries, and maybe writes emails with questions for feedback or the like. What does this look like? Natan writes a text document using whatever tool, the text document being the object of activity. Natan reads blog entries using firefox or whatever, the blog entries being objects of activity. Same for the emails. What now? The objects of activity are often computer-hosted or accessed via computers: the text document, the blog entries, the emails. The user working with these objects / information items performs his activity "I am working on the gnome-article on zeitgeist". So, summarizing, activities provide the "missing-link" between a user's tasks and "touched" objects, which are computer-hosted or accessed via the computer, in support of the user working on his task. Opportunities (some examples)? You can search via your tasks, in order to get to the relevant information items. You can employ the task-tags to have something like awareness and maybe sharing on the task-level, which is usually closer to user-language than all the information objects you touched. You can be supported in task resumption, just providing your task-tag to zeitgeist, will find all the relevant information (vision). To pick one more use case from the "use cases for zeitgeist" list: "7. You downloaded a file but forgot where you downloaded it from. Zeitgeist can tell you when and where from." Activity = Downloading the file Actor = user Tool = downloading tool Object = the file Outcome = downloaded file This points to two more characteristics of activities: a) There are levels of activities b) activities cannot be captured via content indexing only (a) at least three levels: - user activities = the ones, which a user performs in order to work on a task (side node: tasks can also only later be named, because it's sometimes only later that a user realizes that some work actually belongs to a certain task) - actions = something like downloading a file, which is usually embedded in a user activity such as "writing a document (downloading a related pdf file)" - operations = a user touching information items/objects via his computer (b) Something like "where did the file downloaded comes from" is hard to capture when only doing content-indexing, but can be more easily done with logging: - either the tool used for download provides the information (passive logger in zeitgeist terminology) - or the zeitgeist engine later relates the event "website touched" with the event "new file", which is again provided by other loggers Logging is further needed - to be able to present repeated use of the same URI in the journal (as they get overwritten in gtk.recentManager) - to be able to later determine patterns of use and compute measures/indicators for relevance and relationships among information items I focused here on the retrospective user support of zeitgeist, but there is also realtime use, just as the instant sharing based on tags. I won't go into this . as I wrote already way too much. . I'll by a beer to anyone who made it up to here and shows up at guadec :-) Any comments? :-) Cheers, Thorsten Von: Natan Yellin [mailto:aan...@gmail.com] Gesendet: Dienstag, 16. Juni 2009 08:37 An: Zeitgeist Users; zeitgeist@lists.launchpad.net; Siegfried; Seif Lotfy; Thorsten Prante; Mikkel Kamstrup Erlandsen Betreff: GNOME Journal Article Hello, My article for the GNOME Journal on Zeitgeist is below. Before I submit it, does anyone have any comments or corrections which they'd like to make? Did I miss anything which I should have mentioned or say anything which is inaccurate? Thanks, Natan Hi Paul, Sorry again about the delay. My article is below: Zeitgeist is a data engine for the GNOME desktop. It logs and tags every document, website, conversation, email, note and application that's is opened on the GNOME desktop. All of the information is stored in one central database for quick access and any application can easily add it's own data to the mix. There are several user interfaces which show the information stored in the database, sorting it by type, date, or relevance to other files. They let users tag documents, bookmark them, and even attach custom notes to each item in the database. One of the interfaces, currently being developed by Siegried Gevatter as a GSoC project, even shows information from Zeitgeist inside the new GNOME Shell. Zeitgeist was founded eight months ago after the GNOME User Experience hackfest in Boston. The first prototype was based on Mayanna/Gimmie and had only two regular developers who hacked on it in their free time. Today, we have a whole new codebase and there's already six developers who commit code on a regular basis and several other community members who help test Zeitgeist, handle bugs, and design mockups for future user interfaces. The Zeitgeist team recently presented at the Ubuntu Developer Summit and Zeitgeist is slated for adoption in future versions of UNR (Ubuntu Netbook Remix). Zeitgeist is also going to be used in the as-of-yet unreleased Ubuntu Parental Controls and is even at the heart of a thesis paper and a PHD research paper at a German university. Parts of Zeitgeist are based on ideas from the "Document Centric GNOME" presentation which Federico Mena-Quintero gave at GUADEC 2008. His ideas inspired a journal and a calendar interface for Zeitgeist which lets users view files that they edited at previous points in time. In accordance with some observations made by Dave Richards at the User Experience hackfest, some of the Zeitgeist interfaces hide filenames and directories from users in an attempt to free them from worrying about <i>where</i> files are located on the hard drive. Instead, users can tag the files and find them based on <i>what</i> type of file they are and what other files they're related to. However, the current user interfaces for Zeitgeist don't even give users a hint of the real power which lies dormant under the surface. Our current goal is to index as much information from as many different sources as fast as we can. Once that's done, it'll be easy to build exciting new user interfaces which pull information out of Zeitgeist's database and display it to users in all sorts of innovative ways. For example, it should be possible to let users build their own interfaces where they define what documents they want to see and how they want those documents to be organized. For example, one recent mockup lets users build custom "Smart Feeds" which aggregate together all sorts of different files according to user-defined filters. [1] One of the key concepts in Zeitgeist is that users care about "Documents" and not "Files." In other words, users don't want to be bothered with the distinction between documents that are on their computer (files) and documents that aren't on their computer. Therefore, we have plans to index documents from online sources such as Google Documents, Flickr, and Launchpad. In a world where everything is online, there's no reason why file managers should focus only on local files! The biggest question that we're currently trying to answer is what's next. We're already planning on adding on support for optionally using Tracker or CouchDB as a backend in place of our own database. The aforementioned "Smart Feeds" are also on the development map along with UbuntuOne integration, LAN powered "Shared Feeds," and support for associating people with documents. However, we're a versatile bunch and after that anything is possible. Zeitgeist is about humans- especially people like you and me who like technology and want to make a better user experience for everyone. We care just as much about the team work and the international cross-culture collaboration that drives our work as we do about the end product that we ship. We love to see new faces and hear new voices. A lot of our best mockups are scribbled in love on the back of cafe napkins, which just goes to show that you don't need fancy paper or great artistic skills in order to innovate. We'd love to hear your voice as well. When we're not sleeping, we live in the #gnome-zeitgeist channel on <http://irc.gnome.org> irc.gnome.org and will soon have our own website up at <http://zeitgeist-project.org> zeitgeist-project.org. We look forward to seeing you and hearing your idea for GNOME 3 and the next generation user interface. Welcome to Zeitgeist! [1] See http://natanyellin.com/2009/06/14/zeitgeist-mockup/
_______________________________________________ Mailing list: https://launchpad.net/~zeitgeist Post to : zeitgeist@lists.launchpad.net Unsubscribe : https://launchpad.net/~zeitgeist More help : https://help.launchpad.net/ListHelp