For the past week I’ve been testing out an online subversion hosting service to use with REALbasic. It’s called Code Spaces.
I’ve set up Subversion on my office Mac several times, but I never found myself using it regularly. I think it was because I tend to work on my code from a lot of places and it wasn’t always convenient (or possible) to access the subversion repository sometimes.
I then saw a post by Floyd Price on the Business of Software forums about Code Spaces a couple months ago. I saved the URL and finally got around to checking it out last week and I thought I’d tell you about it.
Since Subversion is free, why would you consider paying someone to host subversion for you? For me, I like the fact that the code is hosted offsite from a backup perspective. It also makes it very simple for me to work on code anywhere I have internet access (I only need internet access to sync, after that I can work disconnected and then sync up when I’m on the net again). But the real kicker is that Code Spaces doesn’t just have subversion. It also has a full project management system with Work Items for bug tracking, a wiki and discussion forums. If you’re working on a multi-team project these things are all incredibly valuable, but I find wiki and work items useful even though I mostly work alone.
Although I’m not using it for this yet, I also think my clients will like having a single place to go to find out status of the project I’m working on. I’ve been using Basecamp for this, but I prefer Code Spaces; it better fits the way I do development. From experience, it’s very convenient to let your clients log their own bugs, discuss design in the forums and track documentation in the wiki rather than attempting to manage all this in e-mails. The only thing I don’t like right now is that there is no way to restrict user access to the source code. I generally prefer to not give my clients source code until everything has been paid in full. But Floyd tells me that this feature should be added in an update sometime this month. He’s also working on a work item API, which means I might be building a desktop app in REALbasic to enter work items!
So how does Code Spaces work? Easy as pie. After creating my account and first project, I then downloaded a Subversion client. There are quite a few for OS X, but so far I’m using the ZigVersion trial. It costs $100, but I think I’ll be purchasing it. I really like its clean interface. I tried svnX, but I find its UI confusing. I also tried RapidSVN, which for free is not bad.
Anyway, once you have the Subversion client installed you just give it the URL of your Code Spaces repository. The subversion client will synchronize quickly because the repository is empty and then you’re ready to get started. Now you need to “Check Out” the repository to a local working folder. I created a Source folder and clicked “Check Out” in ZigVersion. It defaulted to the name of my project as the folder to put everything in and then created a blank folder on my local drive in the Source folder I had previously created. I now put all my REALbasic files in this folder and they show up as new files in ZigVersion. I select these files and click “Add” to mark them to be added to the repository. Then I click “Check In” and they are copied over to Code Spaces. Done and done.
So far, Code Spaces has been extremely fast. For most of my projects, I’ve just checked in the REALbasic RBP file (since I’m usually the only developer), but I have also set up a project using the Version Control Project (VCP) format, which creates separate files for each REALbasic object, and had no trouble with that either.
I have had no problems pulling down code between Windows and Mac clients, at least when using the RBP format. I haven’t tried the VCP format, but I hear there might be some line ending problems when switching between platforms.
So, what does Code Spaces cost? It varies depending on what you need. For starters, you can get a free account with one project and up to 50MB of storage. That’s a great way to try it out and 50MB is a lot of source code. Paid plans then start at $10 for 1GB storage and 3 projects up to $90 for 10GB storage and unlimited projects. These are all monthly charges, by the way. I’m going with the $20 “Small Team” package that gives me 2GB storage and unlimited projects. That’s less than I’ve been paying for my BaseCamp account and I’ll get many more features for my money.
Update: Floyd wrote a blog post about the new features coming in Code Spaces 2.0, due by the end of February