Saturday, October 13, 2007

Why Google?

In Jonathan Grudin's essay, "Eight Challenges for Developers," he traces the origins of groupware and tackles some of the main stumbling blocks that have prevented certain computer-supported collaborative work applications from living up to their promise. Grudin identifies reaching an appropriate critical mass for CSCW applications to be effective, so we thought it appropriate to address the successes and shortcomings of groupware applications created and supported by the internet's most powerful player. By building on the success and popularity of its proprietary search engine, Google has incrementally added additional web-based applications that anticipate and address a broad spectrum of user needs.

By integrating additional applications and features with existing applications when appropriate, Google has managed to address a number of the primary hurdles that groupware applications often encounter. For example, Gmail is integrated with Google Maps to identify addresses in emails and ask users if they want directions to a particular address that appears. Similarly, Google Calendar identifies dates in emails and asks users if the want them added to their calendar -- in addition to offering email reminders for calendar events.

We mentioned the issue of critical mass, but Google has also cornered the market on intuitive, stripped-down design. Rather than bogging their applications down with unnecessary features "just because," Google groupware features operate effectively on the 80/20 principle. In other words, Google applications provide the basic 20% of computing tools to perform 80% of their computing tasks, and they dispense with the remaining 80% of available tools for the sake of speed and clarity.

Google has also made great use of the beta launch to try out innovative applications and either tweak as users discover bugs or discard when it seems that they are not addressing any critical need in the appropriate efficient "Google Way." Gmail, soon to be one of the most popular web-based email providers, is still in beta testing mode despite the fact that it has been around for a little more than 3 years.

Heaps of praise aside, Google hasn't gotten where it is right now without screwing a few things up along the way. It's part-and-parcel of taking risks to be innovators, and we've done our best here to document our (positive and negative) experiences collaborating through Google's most popular groupware applications. We've also included some experiences we had with supporting applications like MediaFire and Desire2Learn, as they were equally integral to our collaborative work.

Friday, October 12, 2007

Google Calendar

Google Calendar is a flexible scheduling tool for groups as well as individuals. Individuals can create events in their own calendar using the intuitive tools featured on the site. The online application works like most scheduling software and includes 5 calendar views: Day, Week, Month, Next 4 Days, and Agenda. This affords users the opportunity to see their events in whatever scale is most appropriate. Labels can be created only by creating a new calendar. This could be confusing for some users who are more familiar with the terms used in other programs. However, the dialogs for creating and managing each calendar are simple and straight forward.









For groups, Google Calendar can be a valuable resource and tool. Group calendars can be created and the creator can grant various levels of access to each group member. Access can range from “Make changes AND manage sharing,” “Make changes to events,” “See all event details,” to “see free/busy information (no details).” This allows the creator freedom to have the calendar changeable by some and only viewable by others. This also allows group members with access to not only change events, but to add members and change their access levels at any time. Jason set up our "HCI" Google Calendar to plan group events. He gave us all administrator-level access, but I experimented with changing it as is reflected in the following graphic:









The application allows users to set up notifications via email, phone, or pop-up. Of the three, I tested the email and pop-up options. The email was not sent before the event, but the pop-up did show up on time. For the pop-up to work, the browser switched to the window in which Google Calendar was open. It seems that the application needs to be running in order for that type of reminder to work properly. It was a good attention-getting device, however.

A cool feature, but one that may need some tweaking, is the ability to schedule events from Gmail. Certain messages trigger the creation of an “Add this event” box. What is frustrating about this, however, is that one expects that box to appear on the left side of the screen with the other Gmail tools but it appears on the right side in the same column as the advertisements. If one is not aware to the capability, it might be hard to find. However, the software does a great job of interpreting the data and creating events at the right time and date when the utility is used.









Another interesting feature is the ability to add events using text messaging. I was dubious about Google’s claim that you could write a fairly conversational-sounding text and have Google Calendar understand how to schedule it. I wrote, “Write rough draft @ 12:45” and sent it to “GVENT.” I received a text response stating that my event had been created. I was sure that there would have been a problem because I did not indicate which day. However, Google Calendar understood that I meant the same day and posted an event starting at 12:45pm named “Write rough draft.” Pretty impressive.

Google Calendar is also available on the mobile web, assuming that the phone has the capability to view the page. It would be interesting to see how the application looks on a mobile phone and how many of the features work as promised in that environment.

The application also responds to keyboard shortcuts, but users have to look that information up in the “Help” section to discover how to do that. The shortcuts are fairly intuitive. The “Help” section is somewhat barebones. After seeing a mention of “GVENT” in one of the subsections, I had to do a separate search in order to find out what that meant.

Overall, Google Calendar is useful for groups in terms of planning and describing events. While there are some limitations and possible bugs, the application is flexible and intuitive, making it a great scheduling tool.

Monday, October 8, 2007

Google Docs

Easy facilitation of collaboration is the goal of Google Docs, the free Web-based word-processor offered by Google. It serves to allow multiple users to create and edit documents while collaborating with each other in real-time. These documents (spreadsheets and presentations are also available, but not discussed here) can be created within the application itself, imported through the web interface, or received through e-mail. All documents are stored in Google’s servers, allowing the user to open them from any computer with an internet connection.

Many of the same features one might find in other popular word processing programs (spell-check, formatting, and the like) are available as part of Google Docs. The creator of any document is also given the ability to e-mail and invite additional collaborators who may then view or edit the document themselves. The document can then be downloaded to one’s desktop as Word, OpenOffice, RTF, PDF, HTML or zip, emailed out as an attachment, or published online as Web pages or postings to a blog. Limitations require that each document be 500K or smaller with only up to 2MB per embedded image. Each user can have a total of no more than 5,000 documents.

While nearly instantaneous collaboration is possible with Google Docs, our group would probably rank it no higher than a “good start” collaboration tool. While - unlike Google Chat - more than two users can communicate with each other or edit the document at the same time, this process is unfortunately hindered by the fact that with three or more it is difficult to see who is saying what unless that individual identifies themselves through the text or pre-agreed upon font/color/ /size/etc. When a question arises regarding any particular insertion or deletion, unless you are collaborating with only one other person, the change is not easily addressed.







click image to see detail

While as a communication tool we found Google Docs to be a bit frustrating, as a collaboration tool, it’s a bit less so. However, Google does make one scratch their head in regards to what they do and do not include or allow. For example, when creating a spreadsheet, collaborators are given the ability to “chat” with each other in a sidebar of sorts. When working within the context of a document, however, all “chatting” must be done within the document itself, causing some confusion between the content and discussion. Additionally, unless new entries are physically altered by the user that created them, it is near impossible to tell at a glance what has been edited/changed. It does make up for itself a little bit in its highly aggressive system of automatic saves and copious retrieval opportunities.










click image to see detail

Google Docs interface itself will be familiar to those with any word processing history, albeit with less tabs than you’d find elsewhere. This can be seen as both good and bad, as the less clutter – the easier to decipher, but perhaps with a loss of features. This can be rectified of course if Google Docs is used solely for online collaboration, and then exported into one of the other formats listed above for future modification.

Blogger

When our group discussed how we would go about documenting the progress of our collaborative work, we knocked around the typical ideas — PowerPoint slides, a traditional paper, a website, you name it. We ultimately decided that if we were providing a basic analysis of how Google's groupware supports computer-supported collaborative work, it made the most sense for us to use a Google application and have the use of that tool serve as a sort of meta-experience — which we would, of course, record as well. Google Pages and Google Blogger were the top choices for our presentation, though Google unveiled Google Presentation approximately 2/3 of the way through our project timeline.

Pages allows users to create fairly basic websites (hosted on the Google server) using preset templates that are sufficiently modifiable. Blogger is the ubiquitous blog-in-a-metaphorical-box application Google offers as a means of "helping people have their own voice on the web and organizing the world's information from the personal perspective." We chose Blogger because it afforded us more opportunity for interaction between group members, the class as a whole, and perhaps even passer-by that might have something interesting to contribute to our discussion. What follows is a simple breakdown of how we are using blogger as a collaboration and presentation tool, What you will not find here is a detailed analysis of the user interface, an html vs. wysiwyg editing debate (Jason used both to overcome some of Blogger's wysiwig issues), shortcomings of the image uploader, or the like. At least not right now, anyway.

Barb established the blog for our group and used Blogger's "Permissions" menu to add additional authors to the blog. While she had set each of us as contributing authors (allowing us to post to the blog at any time), we would ultimately need to go back in and reset each of our permissions to allow each of us administrative privileges. While this might not be desirable for most collaborative publishing situations, we had predetermined that we wanted to allow each group member to go in and edit each other's posts to add additional thoughts, edit out extraneous comments, and generally fine-tune our posts.




click image to see detail


With that in mind, one of the drawbacks to this collaborative publishing environment is that only the original author's name appears on the post — though all four group members may have played a hand in shaping the final post. To the best of our knowledge, Blogger does not permit posts to be authored by more than one registered author — at least not very easily. One way we could have avoided this issue was to establish one "group author" that we all posted under, while we drafted our individual posts in Google Docs or via Gmail. This option seemed a bit laborious and time-consuming for our limited timeframe, so we thought it was an appropriate compromise to make for efficiency's sake.

Once each of us was established as an author with admin privileges, we set the "Blog Readers" status to let "anyone" view our blog and we made sure that readers and collaborators were able to comment on each post.

Posting is fairly intuitive, assuming the average user has a certain amount of experience navigating a basic website. Upon logging in at blogspot.com, users are presented with their Blogger Dashboard — a simple menu listing which blogs they may post to or administer. From there, the user is invited to view the blog, author a new post, create an entirely new blog, edit existing posts, settings, or layout (if an admin user). Simple as it may seem, this interface is actually fairly critical. It offers users the basics at the beginning — just enough to get the user to the next step — and then unveils the suite of additional features. This eliminates user confusion and carefully walks the user through the process.



click image to see detail

While we mentioned that a detailed analysis of the user interface would not be covered here, a few kudos and complaints are salient to the discussion. First, Bloggers "New Post" page is simple, straightforward and immediately responsive to user input. The title box is clear. The text box for the blog entry is not labeled, but it occupies a substantial enough screen real estate to imply its purpose. The user is able to toggle back and forth between "Compose" (a wysiwyg editing window) and "HTML edit" (a window showing the raw html behind the post). The window also features a "Preview" tag that affords the user the opportunity of seeing how the post will look when it is published. Unfortunately, our experience showed that there is a substantial discrepancy between a) what is show in the compose window, b) what is shown in the preview window, and c) what actually appears when the post is published to the web. For this reason we found ourselves forced to have an additional window open at all times with the blog pulled up, so that we could see our changes as they really appeared each time we published a post.


click image to see detail

We also encountered major issues attempting to use the wysiwig editor to add images. While we certainly could have created the html tags for images already hosted on the internet, we had to use Blogger's "Add Images" button (represented by a small landscape photo) to upload our screenshots. The upload interface, like the new post page, is clear, free of clutter, and concise. While we wish Blogger might have a more robust image editing option before upload this was more than adequate for our purposes. We encountered problems, however, when we were taken back to the main page. Regardless of where our cursor was when we went to the upload pop-up box, the image was inserted into the beginning of the post. This meant that we had to drag each uploaded images down to its appropriate spot in the post after it had been uploaded. And while this wasn't terribly difficult, the small text editing window (that users cannot resize regardless of how big their browser window is) made moving images around in a post sufficiently annoying.




click image to see detail


Because the wysiwig editor does not permit the user to cut and then paste the image from one part of the post to another, we had to drag the image down through the post, then move the scrollbar down -- and do it again until we reached the appropriate spot. If there's an easier way to do this, it certainly isn't obvious.

One of the invaluable features of using Blogger as a collaborative publishing tool is the robust RSS aggregation options. Each user was able to use their own RSS aggregator to subscribe to the blog's post and/or comments feeds and keep track of changes made by each editor as we went about the work of publishing the blog together.

Saturday, September 29, 2007

File Sharing Facilitation: Mediafire

For individuals working on a collaborative project from remote locations, solving the problem of file-sharing is not an easy one. For large organizations with high-level security needs,owth of online applications challenging the paradigm of local networks and desktop applications has us rethinking the necessity of investing in expensive hosting solutions that tax limited resources.

For smaller organization with less rigorous security demands and limited resources to invest in expensive hosting solutions, free online hosting services (e.g. Rapidshare, MediaFire, Sendspace, etc...) provide adequate filesharing services with varying degrees of accessibility.

For our purposes, we focused on MediaFire, as it arguably provides the most intuitive user interface. Unlike some other services, MediaFire allows users to share files with or without setting up a free user account. Setting up an account allows the user to create a persistent archive of files for the user from any computer. Anonymous posting without an account still supports file management, but only on the local computer and only as long as the user does not clear his/her web cache.

Like other services, MediaFire supports file sizes up to 100mb -- an adequate amount for most file sharing. Additionally, unlike other services that only support a limited list of file types (e.g. .zip, .mp3, .rar) MediaFire supports any file type as long as it is under 100mb. Uploaded files may be marked public or private with password protection.

The user interface is probably the strongest element of MediaFire. From the front page users are invited to browse their local drive to upload files (up to 10 files at a time). Once the file(s) is/are selected, a user clicks the easily identifiable "Upload File(s) to MediaFire."
















click image to see detail


At this point, MediaFire shines. The interface provides immediate user feedback that identifies both the upload progress and then the verification process.











click image to see detail


Following a successful upload, the user is able to copy the persistent link directly to the local computer's clipboard, email the link to a friend, or save to a del.icio.us networked bookmarking account.












click image to see detail


I have used a number of filesharing services, and I have yet to identify any major drawbacks from an HCI perspective to the services MediaFire offers. Some individuals have reported problems with the files timing out at the verification stages, but these issues are likely more a result of internet connectivity issues and not the server-side technology.

Initial Chat

Following an initial conversation via the D2L (Desire2Learn Course Management System), we decided to focus our energies primarily on assessing a number of groupware applications offered in the Google suite of web-based applications. To begin, we each registered for Gmail accounts (for those who did not have them already) with the assumption that Google Chat would afford us the capability of having real-time/synchronous conversations with one another. We set our first meeting time for Monday September 10, 2007 at 7:00pmMST. This event was scheduled using Gmail's Calendar application and shared with each of the members of the group. The calendar provided us with the opportunity to schedule meetings with each other and establish milestones over the course of the project's life cycle. A proper evaluation of Google Calendar will be forthcoming.

As the meeting commenced, so did our confusion. While Gmail's convenient "Quick Contacts" on-screen menu displayed that each us were, indeed, online and available to chat, we were unable to initiate a chat conversation that included all of the group members. Jason could chat with David. Theresa could chat with Barb. Each of the group members set about to determine whether or not Google Chat afforded users the ability to chat with multiple members, and David located a note on Gmail's help page confirming that Google chat is currently limited to one-on-one communication. From the help page:

Can I set up a conference call or chat room?
No. But we're always working hard on improving Gmail, and look forward to announcing new features and improvements as they become available. You may also want to download the Google Talk client so you can get the latest features we add to our free voice calling and IM service.

As a side note, Jason was able to locate details of this process using the chat archives that Gmail retains and stores within a user's account archive as if it were another email conversation.

After approximately 5 minutes, we determined that if we were going to chat at all, we would need to use the chat feature offered by D2L. Jason notified each of the group members (via each of the individual chat sessions that were open) to log-in to D2L where we would continue our conversation.

D2L's Chat feature is accessible quite easily from the secondary menu in the D2L header. D2L's Chat allows users who are logged in to either join a general chat or create a private chat where users can control which class members are allowed to participate. Since we were the only students using chat at the time, we opted for the general chat and commenced with our conversation.

While we discussed the details of the project, we experienced a number of D2L's limitations. First, D2L chat does not provide any user feedback for the posts. For example, there was no way for either of us to know if another group member was typing a comment, reading another comment, and the like. As a result, there were a number of occasions where group members talked over one another or repeated something another member had just entered. Google chat, while limited in it's number of users allowed at a given time, provides feedback for chat members in the way of messages like "Jason is typing" or "Barb has entered text." This feature is invaluable for synchronous virtual communication, as it allows members to pause while another makes a comment or continue speaking when another person's activity has finished.

Additionally, D2L Chat's default does not distinguish visually between posts from group members. See below. Jason's name appears in bold because this screenshot was taken from his perspective.


While it is possible to manually change the way your own name appears in the chat (for others to see), having the default set so that each person's name appear in a different font color or with a unique icon to each user would aid in user's ability to more quickly identify a user and associated those comments with that member — rather than forcing users to read an entire name.

On a note related to the Gmail archiving of chats and the limitations of chatting in D2L, it does not archive chats for participants. One group member was required to cut-and-paste the text from our chat into an external document (using TextEdit) and save that document on a local computer.

Friday, September 28, 2007

Webliography

We have found the following resources to be invaluable to our understanding of groupware and the assessments of groupware projects. We hope you find them equally useful.
NOTE: Links to PDFs of any of these resources are provided under Fair Use considerations for educational purposes only.