Ryan LanciauxNew Media Mercenary

Some tools for working with distributed teams

June 11, 2008 by ryan
Whether you're creating a project for fun or freelancing (etc.), working remotely as part of a team is becoming more and more common. Communication is still key to a successful project, however, it's much more difficult when your working with people in different locations and on different schedules. Although, you will not be able to achieve the same level of communication as face-to-face, there are some tools beyond E-mail, IMs and Remote Desktop that could make your life a little easier. Here are some of the tools I use when I'm not in the vicinity of as the team I'm working with.

Source Control
Obviously, source control is a must-have. This is a given for development projects; even if you're working by yourself. I use Subversion for all of my code because it's relatively easy to set up and, for the most part, pretty intuitive for newer users. When creating a source repository you need to choose to:
  1. Host your own
  2. Go through a third party
    • Assembla -Although there are many options in this arena, this is the host that I use for remote collaboration so it's the one I'm going to focus on. You can set up a Subversion repository simply by adding a new project to your workspace and specifying that you want to use subversion (in the setup configuration). From there you can add users or make your project open to the public. Apart from Subversion, there are many other features that may make Assembla a worthwhile site to check into.
Finally when running Subversion, you're either going to need an IDE that supports SVN, use the command line or download a client. I use Tortoise SVN and the command prompt, however, Visual SVN for Visual Studio looks nice (and when I'm using Eclipse, the SubVersion plugin is wonderful).


Screen capture software
It can be confusing trying to fix an issue based on a text description. Having a screenshot or video that explains how to reproduce a bug can be invaluable. Coupled with a bug tracking application, this can be an extremely effective way to quickly resolve issues. Camtasia is probably the ideal application for creating screen casts of a bug but for the price tag it might be overkill (especially if it's just for fun / open source). Currently, I usually use Wink by Debug mode for this sort of functionality. Although it's definitely not as feature rich as Camtasia, it gets the job done.

Also see: Jing

Real-Time Collaboration
Some situations require an extra level of involvement from team members. Vyew has been an awesome addition to the tool belt. With it, I can collaborate / share desktop / share files real time with someone else anywhere in the world in. Similar to the screen capture application, it really helps to communicate something that otherwise may be difficult to explain. Earlier in the week, for example, I was having some trouble with an Eclipse setting for a project I'm working on. Rather than sending e-mails back and forth trying to explain the issue, I used Vyew to share my desktop with a friend half way across the country. In a matter of minutes, he was able to diagnosis the problem and I was back in business. Vyew is free if you don't mind having ads on the page. Otherwise, it's $6.95/month for the Plus Package and $13.95/month the Professional version. For more information, vist the Vyew site or check-out Guy Kawasaki's synopsis of Vyew.

 

What tools do you use to stay connected with your team? 




RhinoCommons, NHibernate and ASP.NET MVC Part 1 - Setup

May 19, 2008 by ryan

After my last post about the unit of work with NHibernate, Chad Myers mentioned that I should take a look at Ayende's Rhino Commons (because the Unit of Work stuff is already being handled). Since I am not a big fan of reinventing the wheel I decided I would give it a shot. There's going to be another post in the near future about how to get Rhino Commons, Castle ActiveRecord and ASP.NET MVC working together but for now, it would be good to make sure all the necessary components are installed on your machine.

  1. Make sure you have a subversion client -- Tortoise SVN or the command prompt is what I use but any subversion client should be fine.
  2. If you don't already have Nant installed on your machine download and install that
  3. Download and build the following (Ayende mentions, the trick is not opening in Visual Studio):
  4. Next you're going to want to setup the NHibernate Query Generator (we're going to use Linq to NHibernate in a later example but for now get this installed). This should be a part of the Rhino-tools package but if you want you can download the binaries. Then setup the application as an external tool in Visual Studio (my settings are posted below). see James Hollingworth's post for more info
    • Command: C:\program files\nhqg\NHQG.exe
    • Arguments: /Lang:cs /InputFilePattern:$(BinDir)/ProductModelActiveRecord.dll /OutputDirectory:$(ProjectDir)/Queries /BaseNamespace:Queries
    • Initial Directory: $(TargetDir)
  5. Finally make sure you're running the preview 3 drop of the ASP.NET MVC Framework -- you can get that here from CodePlex
You should now have everything setup. It may be good to take a look at the Exesto application in the rhino-tools\SampleApplications directory to get an introduction to the Rhino-tools / binsor / castle settings that we'll be looking at later on. Finally, if you are not familiar with the ASP.NET MVC Framework take a look Fredrik Normen's step by step guide. In the next couple of days, I will be posting how to wire these tools together for quick web application development. Stay Tuned.








© 2008 Ryan Lanciaux :: powered by BlogEngine.NET