Sunday, August 19, 2012

GSoC Final report


Tomorrow is firm pencils down, so here is my update:

Last week my properties dialog was added to Documents. It's in master now, so if please test it! If you have any suggestions for improvement, please file a bug.

My work on sharing Google Docs ran into several snags and is not finished. First, I was unable to use Gnome Online Accounts for authentication for Google Drive. Because there is not much documentation for using oauth2 for Gmail, Evolution uses oauth1. Google Drive only has support for oauth2. After realizing this, I moved on to writing a different dialog for sharing using the GData API and gtk. This has been slow going for me. Although GData is very well documented, I have had a hard time understanding it and have therefore not finished. The gtk code is finished. Hopefully I will finish this up soon. I learned a tremendous amount about GNOME and about coding in general, and the experience was really great. My mentor did an awesome job of working with me even though I am a very inexperienced coder. I am starting my Masters degree in Computer Science next week (my BFA is in painting in painting and drawing), so I hope that I will learn more skills and become a more valuable contributor. Thanks to everyone in the community who helped and encouraged me this summer, it's always a fun and humbling experience :)

Chicago Free Software Stuff

I'm going to be doing a short talk on GNOME Love at Software Freedom Day in Chicago on September 15. Brian Cameron is going to be leading a GNOME hackfest that day. Jim Campbell suggested that we start a monthly hack night in Chicago, so this will be our first meeting. Chris Webber  named it Gnome Gnights, so if you see our tag somewhere, you'll know it's us :) (edit: I just got an email from Chris that says that the credit for this pun actually goes to Jim :)The hackfest at Software Freedom day will be our first meeting, so if you are interested in GNOME hacking and you are in Chicago, please come by!


Thursday, August 2, 2012

UX Hackfest and GUADEC

Last night I returned from Spain. The trip was very productive for me; in total, I spent nine days hacking, discussing new ideas, attending the end, I feel that I came away with a clearer idea of the passion and vision that makes GNOME such an amazing community.

UX Hackfest

The first day of the hackfest we started with introductions, then split into two groups. While the other group discussed menus, Jakub Steiner, Jon McCann, Florian Mullner, Anna Zacchi, Garrett LaSage and I discussed improvements for Gtk FileChooser. The discussion involved questions of finding and reminding as it applies to selection or "picking" of files. The process of selection is similar to search, but takes place within the limited context of the filesystem; the user is presented with a view of that filesystem, and one roles of the designer is to anticipate their needs and present them with useful options for filtering results. These options should anticipate the needs of "frequent filers", "spring cleaners" and "non-filers". I find that the new style of GNOME 3 applications is more flexible that the strictly hierarchical, directory-based presentation of the system that we had in GNOME 2. As ideas of presentation are iterated, I am seeing a detailed and sophisticated rethinking of various use cases. How do we meet the needs of non-filers (who, as Anna pointed out, tend to create visual systems of reminding that do not rely on the file system hierarchy)? How, at the same time, do we lead frequent filers to options that map their directories while still providing a view that is touch-friendly, that doesn't require extensive navigation? As Jon eloquently described in his recent post, much of this functionality is specific to search. How do we extend that functionality in the context of "picking", how do we maintain consistency for our users?

The ideas that we explored involved presenting useful options for filtering results. The initial view that we present results ordered by date used. The menu (shown on the right) allows the user to re-order the search by relevance, name, date last modified, date last accessed, etc. The sidebar (shown on the left) allows the user to view files and folders that reside in specific locations/applications, in specific devices, and also to view items which have been bookmarked by the user.

On the second day of the hackfest we discussed Jasper StPierre's work on Initial Setup. There was also a detailed discussion of search. During that second discussion we looked at search in Nautilus, Documents, Shell, and Photos. As this has already been discussed at length in other posts, I would like to thank the Design Team for including me in this event, and also thank our sponsors for allowing me to attend.


GUADEC itself started the day after the UX Hackfest. Besides attending many exceptional talks such as Marina's talk on The State of Outreach and Federico's session on Desktop Systems Based on Gnome Technologies, I also went to three great talks on Design: Allan Day's talk on Every Detail Matters, Beyond Dead Reckoning given by Allan, Jon McCann, and Jakub Steiner, and Tricking a Developer into becoming a Designer by Seif Lofty and Allan Day.

My mentor, Cosimo Cecchi, gave a talk on Documents and led a session for the interns working on it. During the session, we discussed improvements for the application as well as our current projects. Some improvements suggested were creating an "archive" collection to automagically aggregate documents which have not been used in over a month. This could enhance user experience by providing a "slip" feature, which would unobtrusively move disused documents out of the way of the user. Some of the other discussions involved tagging folders to provide a transparent method of searching for a folder name and its contents; rethinking the presentation of collections; allowing the user to add bookmarks; and improving search. 

Another valuable aspect of the conference was hearing from other members of the community about their involvement in the project. Those discussions are obviously too numerous to mention here, but still, I wanted to express my appreciation. It was pretty amazing to see how dedicated and enthusiastic the members of the community are, and I found all of the conversations to be constructive and inspiring. Till next year, Salute :)