Just another UMW Blogs weblog

Email is not the only solution

After the internet was created, and systems like email came to be, it was a logical step for the internet to be used for collaboration.  Groups of people working on the same document (or documents, files, etc) would keep some sort of email chain going, attempting to make sure everyone was up to date.  This gets out of hand easily, and soon people are left with different files altogether.  This way of collaboration may work for small or highly organized projects, but there is definitely room for improvement.

The Alternatives

There are many different ways for people to collaborate over the Internet, but instead of talking about forums or wikis, I have chosen to talk about two different approaches to collaboration that many people are unfamiliar with.

GitHub

GitHub is a web-based hosting service for projects that use the Git revision control system, according to Wikipedia. Now, that may not mean much to you, but I will attempt to explain what this means and what GitHub does.

A revision control system manages the different changes to a particular project, keeping track of updates and deletions, and allows for the forking or branching of a project, along with the merging of branches (i.e. someone takes your project, makes some changes that are only in his version, and then wants to add it back to the original at a later date and time).  Systems like Git also keep track of changes, making it possible to see who changed what (and what exactly they changed in a file), and they allow you to roll back to previous versions.

The first thing you need to do in order to start working is to start a repository.  After a repository is working, you initialize a repository on your computer, and then start to work on your project.  As you make changes, and want to update the master repository, you enter a few lines of code and now other people can download your changes.  When multiple people work on the same repository, you need to occasionally check and make sure you are up to date.  When pushing a change or many changes, conflicts are handled (i.e. two people edited the same files, or your files are not of the most recent version) by the revision control system.

This sounds pretty technical, and in some ways it is.  Using GitHub takes care of most of the technical aspects by itself and makes the process of using a revision control system a lot easier, and after using it over the spring semester, I’m not sure I could have survived without it.  Over the spring, I worked with five other people over the course of the whole semester. Over that time, we collaborated together on one very large project that took almost all of the semester, and on one other project that also ended up being quite large — with only two weeks for us to work on it.  At first, using a revision control system seemed very foreign, and it was unclear as to why we would need to use something like GitHub.  After being introduced to the software and learning how to use Git, we soon became aware of why we just might need it.  Our task was to create a fully-functional social network for bands.  While it’s not a professionally deployed website, we put a lot of work in to it.  Git helped us spread out who was working on what (often on the same files), and yet it still allowed for us to keep up to date with each other’s changes.  Using email for such a large project would have been horrible, and probably would have forced us to work in a less efficient manner.  There were many occasions where one of us would find an error in one page, or make a small change to one line, and because of that small change we would then have to make corresponding changes elsewhere (sometimes in all of our files).  That’s not particularly hard, but would you want to email each file? I wouldn’t.  With emails flying left and right, there would be a good chance that the most recent email with the technically most recent changes could be the most out of date file.

Google Wave

Google Wave is designed as a new platform to communication over the Internet. Designed for real-time communication and collaboration, it merges email, instant messaging, wikis, and social networking all into one. The definition of a wave, Right from the Google Wave about page:

What is a wave?

A wave is equal parts conversation and document. People can communicate and work together with richly formatted text, photos, videos, maps, and more.

A wave is shared. Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when.

A wave is live. With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.

As with many of their products, Google has used this program extensively.  Last year, Lifehacker put out a list of Google Wave’s Best Use Cases, which highlights many other ways that the service has been used.

Demonstrations

Comments

Comments are closed.

css.php