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.

Another New Website Launched

A couple of months ago, a co-worker of mine approached me about redesigning and rebuilding the website for his mother’s polymer clay jewelery and polymer clay accessories business.  I accepted it and for the last few weeks had been working diligently on it.

Well the site got launched today, and I have to say I am very pleased with the end result!

So, feel free to head on over to Casual Elegance and take a look.  Feel free to let me know what you think!

It’s the little things

I’ve been using a Mac regularly for the past 4 years, starting with 10.3 Panther running on my old Powerbook G4. And even 4 years later, I still find the little things that just make using the Mac a little better. The little things that some developer thought about and took the time to implement.

For instance, yesterday I received a new DVI-HDMI cable that I ordered from MonoPrice so I could hook up my MacBook Pro to the TV in the bedroom. I plugged it in to the computer, and in order to see Front Row on the TV, I had to adjust the external monitor settings. So I did and watched some videos and it worked perfectly.

Then, today I come into the office, set up my computer and plug in my external monitor. The computer recognized that it was my second monitor and not the TV and used the settings I normally use for that monitor. Not only that, but the windows I normally have on that second display popped up over there instead of the computer’s display.

So I think it’s pretty cool that the computer not only recognizes an external monitor, but which monitor and how I was last using that monitor.

So Painfully True

Here’s a little insight into any given project for me …

web-design-pie-chart.jpg

iPhone

Well it only took a year and a half, but I have finally joined the world of iPhone users. Last night, Jess and I went down to the Fashion Valley Apple Store and picked up two new shiny 3G iPhones.

In fact, I’m even posting this entry from my phone using the Wordpress app I downloaded from the app store.

Pretty spiffy if you ask me (not that any of you did …)

Why I Hate Internet Explorer

Or at least just one of the many reasons.

Let’s take a look at some recent work I’ve been doing at SPARTA. We are implementing an internal web forum/message board. We are using JForum as the base because everything we do is already in Java. Not only just because it’s in Java, but it has added features like Single-Sign-On support so we can integrate it with our own Domain logins. Also, it has a fairly easy-to-customize template system.

So my primary task this week was to get JForum in place and integrate it with our common look and feel. Easy enough. Let’s see how the pages look in Firefox:
Picture 7.png

Not bad …

Now let’s check Safari:

Picture 8.png

Perfect …

How about IE?
Parallels Picture.png

Uh oh …

New Websites

Hey everyone (all two of you that still read this thing). Just wanted to get the word out and let you know that I’ve been busy lately making websites for family and friends.

Mike Tuck Fishing
The first one I did recently is for my brother-in-law’s fishing career. Mike came to me in early September and we immediately got to working on a website for him. Within just a couple weeks, we put together a rather nice website that he is happy to promote and share with others. He has even been able to land some sponsorships because of the website.

Always Clear San Diego
The next website I just completed a couple of weeks ago. It is a site for a friend of mine’s window cleaning business. I am very pleased with the outcome of the site as it is one of the cleanest and nicest-looking websites I have ever done (in my opinion). My main goal was to keep the site clean and straight-forward. I was going for a “glassy” look with the design, using transparent and glossy elements. I feel like I pulled it off very well. Feel free to check it out for yourself and let me know what you think.

Mike and Mary Tuck
Finally, I just finished putting together a new website for my sister and brother-in-law just last week. I had created their website before, using code I built myself from scratch. Just like with my own site, I had gotten tired of trying to keep up with all the features available out there already. So I just replaced everything I had built on their site with WordPress. Mary had found a them for WordPress that she had really liked but it had its limitations. So, me being me, I tweaked the theme to better suit her styles and I think I improved it greatly and the site looks great. Again, check it out for yourselves and let me know what you think.

I’ve got some new websites in the pipeline so keep an eye out for future announcements.

I’m So White and Nerdy

So “Weird” Al Yankovic has a new album coming out next week called “Straight Outta Lynwood”. The title is a parody of the N.W.A. album “Straight Outta Compton”, although it is probably also a nod to the popularity of subsequent “Straight Outta _______” rap album titles. It’s his first new album in 3 years, and if his lead single is any indication, it should be a good album.

He released the video for his lead single, “White and Nerdy”, on Monday of this week and after watching it, it hits me that the video is so painfully similar to my own life that it might as well be my autobiography. It’s a hilarious video, don’t get me wrong, but it might as well be about me (okay maybe with a few exceptions, I don’t play D&D haha).

Anyway, check out the video below, I’m sure you’ll get a kick out of it.

Conversion Complete

I’ve expressed my preference of using Macs over PCs and after my latest round of fighting a very stubborn spyware program, I’ve decided to just make the plunge now and replace my PC with a Mac Mini. When digging through the Windows Registry, running scan after scan, and system restore all yielded no results, I was just fed up.

So I ordered my new 1.83Ghz Core Duo Mac Mini the other day and it should be here on Tuesday. I’m selling my PC since I don’t need it now and that helps alleviate the cost of the new computer. And plus, now that Macs are Intel-based and Apple has released Boot Camp for free, I can easily boot up into Windows if and when I ever need to use it, otherwise I’ll just be using the Mac in OS X.

It’s small, quiet, and runs cool; all three great things to have when I sleep in the same room as the computer. My old computer was just a little loud and ran hot (notorious for Pentium 4’s). No joke, my room could be 5-10º warmer than the rest of the house, even with the A/C running.

So look forward to more geeky posts in the coming days. :-)

UX Week – Day 4

Well, today is the final day of UX Week. It’s been a very good, eye-opening experience for me all week and I’m actually a little disappointed it’s ending already. I’ve been able to learn a lot from all the speakers and the other attendees.

9:00AM-9:15AM — Introduction by Jesse James Garrett
Your standard-fare “Good Morning … It’s been a good week … here’s our next presenter” introduction. He gave us a few announcements but nothing major.

9:15AM-10:00AM — Designing “America by Air”
“America by Air” is a new exhibit currently being designed and built by the Smithsonian Institute to be put on display in the National Air and Space Museum. Barbara Brennan came in and gave us a speech about how the exhibits the Smithsonian Institute develops is all about “user experience” (which is how this ties into the conference). She gave us an overview of what the exhibit is and the processes involved in developing the displays. It takes several years to design and build an exhibit and this “America by Air” exhibit is still about a year from being unveiled. This was a rather interesting look at how user experience is a part of fields outside of the Web and software.

10:00AM-10:45AM — Communicating Concepts Through Comics
Now this was an interesting workshop as it took a drastically different approach to communicating concepts to customers and clients. Instead of the typical storyboard word document, he showed us how you could make a comic strip explaining the process a user might follow when using the potentially new product. He used an example from Yahoo! Local where a user wants to find restaurants in her area and can look at reviews. It very effectively expressed what a user can do with Yahoo! Local and I immediately could see how it would make make communicating a concept to a customer or client much easier and more engaging than say a 7 page-long Word document. He also had each of us draw a picture of the person sitting to our left, and he did that as a demonstration that anyone can draw. It doesn’t need to be life-like or even that good to get the point across. Everyone is an artist and there’s no need to be self-conscious of your abilities.

11:00AM-11:45AM — Information Visualization
This was another great presentation. In case you haven’t noticed yet, the common-theme for today’s conferences has been “visualizing concepts.” Michael Migurski demonstrated several of the projects he has worked on in the past and how visual representations of data make it very easy for you to figure out what is going on in the data you might be studying. Things like size and color play a very important role in quickly figuring out what’s going on. Again, I was able to learn a few new concepts and ideas when it comes to presenting data to the user and I could use what I’ve learned all throughout the presentations today and apply it to my future work.

11:45AM-12:45PM — Panel: Learning from Adaptive Path’s Mistakes
Much like the previous two days, we ended the sessions with a Q&A panel. Today it was comprised of people who have worked at or worked with Adaptive Path. This was basically a “lessons-learned” session in which those who have gone through the experiences and recognized their mistakes shared with us what they did wrong and what they could do better. They gave us all some insight about what to watch out for and how to stay out of trouble. But at the same time they did explain to us that in the digital world in which we live, making a mistake is easy and by that they mean there are few permanent ramifications from failing. So don’t be afraid to fail, it’s a part of life; just learn what you did wrong and don’t do it again.

And that effectively ended the sessions for the day, and the UX Week Conference for 2006 was over. After that last session, Steve and I went and got lunch at a sandwich place just down the street from the hotel in Dupont Circle. The food was pretty good and a good way to fill the time before we were supposed to be at the Garber facility. We got Steve’s car from the parking garage and headed down to Suitland, MD to go on the tour of the Garber facility.