Monday, May 7, 2012

Gladius introduction


I have been assigned to work on Mozilla's gladius game engine project!

The processes in use with this team at Mozilla are quite effective. They use trello for keeping track of and assigning development tickets. This makes it very easy to keep track of what has been done/needs to be done on a project, and if the tickets are small enough then you can clear out multiple ones in a day. This is a tremendous morale booster as it reminds you of everything that you complete every day, giving a real sense of accomplishment.  It can also serve as a reminder of how much work is left to do on a project, and how much has been done.

Trello is synced manually to github- new tickets are entered into github and then placed onto Trello through a process that I haven't witnessed yet.

Google Hangout has proved to be a good tool for doing group conferencing. Interface features, like automatically switching to show the viewpoint of the person who's talking, are the kind of subtle effectiveness that marks good UI design. It's also somewhat reliable! It sucks at notifying you that you've been invited to a hangout, though.

We've done daily standup meetings (performed sitting down, of course, this is the internet, we do things differently here) through Hangout. They're useful for letting people know about problems and what your plans are for the day, so that you have an ideal chance to fix problems, and it forces you to hear other people's plans. If you forget what a person is working on you can check on Trello. It would be easy to forget to check Trello and lost touch with other people on the project, but then the daily standups put you back into contact again.

Screen sharing has been working well for doing pair programming on Hangout, which has been extremely useful in getting me up to speed on javascript and the gladius engine. It's definitely been the most effective way I've seen so far of introducing a new person to a programming project.

As always github remains an effective source control/lazy backup mechanism. Though the actions that make up a typical workflow in git remain pretty arcane. Seems like a limitation of the whole command line interface in general- I remember having similar frustrations in old adventure games that took text input- the syntax of what you want the program to do won't always match up with what it is trained to recognize.

Webstorm continues to be an awesome IDE. A great deal of care has obviously been taken with its UI and design- it streamlines all of my processes, I've never had to fight with it very much to get it to do something, and it has all sorts of nice features (like github integration) built in. Getting started with it is quite simple, too- I just drag the project folder onto the icon in my dock and it just works.

No comments:

Post a Comment