Archive for the ‘software development’ category

Setting up Merb, Cucumber and Webrat (and friends) on Snow Leopard

September 4th, 2009

My upgrade to Snow Leopard killed my Merb, Cucumber and Webrat setup so i had to start afresh. That was the bad. The good is that some manual hacks that were required in Leopard are no longer necessary, meaning I can rely on direct gem installations.

Here’s what i did:

  1. Install Ruby and Gems
    Follow instructions on http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/
  2. Install merb, rspec, cucumber, merb_cucumber and mongrel and dependencies
    sudo gem install merb rspec cucumber roman-merb_cucumber mongrel term-ansicolor treetop diff-lcs nokogiri do_sqlite3
  3. Install webrat
    sudo gem install hoe hpricot webrat
  4. Fix Firefox bug with Snow Leopard
    For some reason the libsqlite3.dylib  library in FireFox 3.5.2 is out of date and breaks cucumber under Snow Leopard. Thankfully, it’s a simple fix:
    mv /Applications/Firefox.app/Contents/MacOS/libsqlite3.dylib /Applications/Firefox.app/Contents/MacOS/libsqlite3.dylib.orig
    cp /usr/lib/libsqlite3.dylib /Applications/Firefox.app/Contents/MacOS/libsqlite3.dylib
  5. Install Selenium
    sudo gem install Selenium
    sudo gem install selenium-client
  6. Install the textmate cucumber bundle
    http://github.com/bmabey/cucumber-tmbundle/tree/master

Deprecated Instructions on Snow Leopard that were required on Leopard

The following ugly hacks were required on Leopard with it’s default Ruby installation. These are no longer required (at least on my machine) on Snow Leopard:

Manual hack of Selenium

http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium

As the instructions recommended replacing the Selemium RC jar file () in the installed gem with one from the Selenium website, i had to find out where the gem had installed. Thankfully, gem -h pointed me toward gem help commands and from there i ran gem environment – This told me where gems are installed locally and i found that Selemium RC had been installed into /Library/Ruby/Gems/1.8/gems/Selenium-1.1.14/ I replaced as advised and then ran selenium from within the app root and all worked fine, using the replacement. I then downloaded and ran the test selenium code from http://github.com/aslakhellesoy/cucumber/tree/master/examples/selenium running selenium in a different console and then running cucumber examples/selenium/features/ . It worked a treat and booted up selenium as required. Great!

Manual hack installation of webrat

Download http://github.com/gwynm/webrat/tree/master tar file. Git clone doesn’t work

sudo gem install hoe hpricot
cd downloaded and untarred file
rake gem
sudo gem install pkg/webrat-0.2.1.gem

Awesome tools for rapid UX prototypes – Letting you focus on the solution!

June 18th, 2009

Comic Life is great for creating story flows in a rough and ready way, with a little style.

Balsamiq is an excellent tool for rapidly creating purposefully low-fi wireframe mockups

Napkee enables you to import Balsamiq mockups and turn them into HTML prototypes! Lovely!

Axure is excellent for rapidly creating interactive prototypes.

Liferay Portal is a pretty awesome portlet container that, with a bit of UX (HTML, CSS and JSP) hacking, enables you to rapidly produce fully functional portals. It comes with a vast array of portlets out of the box, saving you a whole load of time.

JQueryUI is a lovely toolkit for quickly developing interactive prototypes. I’m not completely convinced by it as a production tool (heavy JS? but i could be wrong), but excellent for prototyping

Important iPhone Push Notification consideration

April 16th, 2009

A point worth noting by all iPhone developers considering the exciting opportunities of cloud-side iPhone app notifications – how much will it cost you to provide this service?

An important point to consider.

Yes, Story Driven Development has an acronym. Oh, and here’s a definition and further reading too!

January 30th, 2009

As i was asked, i happily confirm the acronym: STDD. I’ve also provided a lovely definition by Tracy Reppert and a pdf from August 2004 for more reading:

“The basic premise is that before any code is written, a team takes a story (or rough idea of a requirement) and fleshes out that story by producing an executable ’story test’.

Opponents say that STDD is ‘cowboy coding’, or ’snake oil’, or just ‘a hindrance to real work.’ Proponents argue that STDD produces the simplest system possible and is the wave of the future, the new frontier.”

All written in 2004! I’m just happy it’s finding its feet in smaller web agencies now. Well, at least the one work for (yes, i’m kind of pushing it)!

Here’s also a lovely PDF:

http://www.industriallogic.com/papers/storytest.pdf

iPhone development: Stage 1: Familiarise self with Objective C

December 24th, 2008

Thanks apple for this primer:

http://developer.apple.com/iphone/gettingstarted/docs/objectivecprimer.action;jsessionid=EBE50C6510FD05380290B42E0C4E8EC6.worker10

I’ll add comments as i get through this primer.