Downloading and Building Cappuccino 0.7b on OS X Leopard

As you may have read already, I’m in the process of learning and developing web applications with Cappuccino. I’ve been building against the latest stable release of Cappuccino, which at the time of this writing was 0.6.5, and I saw the Cappuccino team released a new version: 0.7 beta. I wanted to play with 0.7b, to see the new features and possibly contribute to testing.

Right now, the only way to use 0.7b is to download and build it from source. Since I develop on a MacBook Pro using Mac OS X Leopard (10.5), these instructions will be based on that. These instructions also assume you are familiar with the Terminal application.

Prerequisites

You will need the following:

  • Git
  • Ruby, Rubygems and Rails – If you’re using OS X Leopard, the default install that comes with the OS is sufficient. (Cappuccino will not compile on Ruby 1.9, make sure you’re using Ruby 1.8)

Installing Needed Gems

Cappuccino 0.7b requires the plist Ruby Gem. The installer is supposed to automatically install it for you, but it can be flakey, so just for safety’s sake, install the plist gem by running the following command:

sudo gem install plist

Getting the Source Code

Once you have Git and Ruby installed, you need to get the source from the Cappuccino project on GitHub. I keep all my source code in /usr/local/src/ (for more info on why, Hivelogic has an article about this very subject).

Let’s go into the src directory and check out the source code

cd /usr/local/src/
git clone git://github.com/280north/cappuccino.git

This will download all the source and create a directory name cappuccino. Let’s go into that directory and select the 0.7b branch as the active target.

cd cappuccino
git checkout -b 0.7b origin/0.7b

This sets 0.7b as the current target.

Building the Cappuccino Code

Now, let’s go ahead and build the code

rake release

This should have built Cappuccino 0.7b. You may have experienced the following error while trying to build the code:

subrake missing: ojunit

If so, don’t panic. It’s just looking for additional software, build by the Cappuccino team, that isn’t provided in the Cappuccino source by default.

Just run the following commands:

cd Tools
git clone git://github.com/280north/ojunit.git
cd ..

Then run

rake release

again and you should have happy compiled code.

Installing the Cappuccino Code

Now, to install the Cappuccino tools, you just run the following command:

sudo rake install

This will install all the Cappuccino binaries in /usr/local/bin/. This should already be in your PATH, so you should be able to run the Cappuccino binaries.

Using capp

Building and installing the Cappuccino code created some new useful tools for you. One of them is the capp application that generates all the Cappuccino frameworks and shell code for you. It can also be used to upgrade the frameworks in your existing application.

Creating a new Cappuccino Application

You can use the capp application to create a new Cappuccino application for you. From within any directory you want your new cappuccino application created, just issue the following command:

capp Application Name [options]

If, for instance, you want to create a new app called “HelloWorld” to be placed on your desktop, then you can easily enter the following command:

capp ~/Desktop/HelloWorld

This will create, quite literally, a Hello World application. You can use this as the basis for your app and build on top of it.

Upgrading an Existing Cappuccino Application

If you already have developed (or are developing) a Cappuccino application and you just want to see how your application will function in the latest beta, the easiest method is to create a dummy application with capp using the instructions above, and then just replacing the Frameworks folder in your application’s folder with the new one created by capp.

NetBeans 6.7 – I Like Where Things are Going (Initial Impressions)

One of the biggest issues with using (or developing) cross-platform software is you basically have to make concessions in the software to get it to function for the lowest common denominator. One of the first, and most noticeable, things to suffer these concessions is the look-and-feel of the application.

But there’s good news, and the future looks promising.  Application developers lately have been focusing more and more on better integration with the target platform.

With the upcoming version of NetBeans 6.7 (it used to be referred to as NetBeans 7 until the group renamed it to NetBeans 6.7), the development group decided to focus on greater platform integration; and I have to say I’m rather impressed with the results so far.  I downloaded the latest beta release, which at the time of this writing was 6.7 M2.

Upon first launch, I noticed the window and all the elements in the interface had a much better look to them, one more consistent with the general OS X look-and-feel (specifically 10.5 Leopard).

Then I started using the application more, and it just has a better feel to it, and I don’t know if it’s just me but I feel like the different panels and features are more readily available and accessible to me.  It also feels a lot less sluggish than NetBeans 6.5 does.

Just based on looks alone, take a look at NetBeans 6.7 on my Mac:

NetBeans 6.7 M2 on Mac OS X Leopard

And now compare that to NetBeans 6.5:

NetBeans 6.5 on Mac OS X Leopard

Much better, huh?

I’m very impressed with where NetBeans 6.7 is headed, both visually and functionally.  One has never complained about programs operating much quicker, have they?

Off to D.C.

I get to go back to Washington, D.C. again. If you remember, I went back there in 2006 for the User Experience Week conferences. This time around, it’s strictly work-related.

I’ll be meeting with our Director of Strategic Planning to discuss the development of tools the company will use to track proposals made for projects. The tools we have out there now are sorely outdated (the last one was built over 7 years ago) and haven’t even been touched in years.

So, it’s time to make a trip out to D.C. and meet face-to-face to hash out the details. I’m leaving next Monday and coming back Thursday. Should be a fun-filled trip, heh.