public marks

PUBLIC MARKS from amyrussell

21 February 2008

More jQuery plug-ins: jCarousel and the dreaded window.alert()

In addition to the jQuery UI Tabs plug-in I mentioned in yesterday's post, I've been playing with jCarousel, a fairly mature component for building DHTML and Ajax slideshows out of images or arbitrary markup. Overall, I was impressed enough with jCarousel to build half of my latest piece for IBM developerWorks around it.

Lesser Known Test Processes

While Test-Driven Development (TDD) and Behavior-Driven Development (BDD) get all the headlines, thousands if not millions of developers have worked out their own ad-hoc variations on these processes. This is a list of alternate testing processes, some of which are useful, some of which less so.

jQuery UI in action: Thumbs up on tabs, thumbs sideways on themes

The first two installments haven't even been published yet, but I spent most of last week hammering out the third entry in the series I'm writing for IBM developerWorks. The first two installments tackled things like modal dialogs, tooltips and lightboxes.

Gmail, agile development and user experience design

Ionut Alex Chitu of Google Operating System posted yesterday about Gmail's evolution from internal beta to public beta to today's constantly-evolving-but-still-beta version. Gmail's Humble Beginning never uses the phrases "agile software development" or "user experience design."

Agile Development: Pipelining

Sometimes you can roll into an iteration or sprint with a handful of high-level user stories and refine as you go. But if you have a very complex system with lots of interdependencies, or are trying to incorporate a high level of user experience design, or your domain experts aren't readily available to you on a daily basis, then your requirements have to be a little more refined up front.

Release of GWT Ext 2.0

Yep, two of my favorite things just got better. The new GWT Ext 2.0 was released with support for Ext 2.0 (is that what the "2.0" means?). You can find the release notes here and a demo here.

37 JavaScript benchmarks

JavaScript benchmarks have achieved greater visibility in the Ajax era, but they have a long and proud history. I did a little digging and came up with this round-up of profiling suites past, present and future.

Agile planning tools.. paper or 'plastic'?

How often have you heard, "Yeah it's not great, but it's the best thing out there", or maybe "We spent two months investigating this tools and there's no turning back. End of discussion. We're not going to switch again!" Does anyone ever hear anything like that when your only tools are whiteboards, paper, pencil and a wiki? What's there to change?

15 February 2008

Book review: Advanced Ajax by Lauriat (Part 1 of 2)

Because Ajax moves so much application logic from the server to the client, it forces many developers to master a wider range of web technologies than ever before.

Hey, Free Book Samples!

As I've mentioned here a few times, I have a book coming out, "Professional Ruby on Rails", available later this month. If you'd like a sneak peek, Wrox has put some samples online as PDF files. You can also just buy the book.

Ideal team size for your next Facebook project

I recently worked on a Facebook application for one of our clients. This turned out to be our first collective experience building for Facebook, and it involved a mixture of re-using existing web services and building new ones for use by the same infrastructure.

06 February 2008

dsHistory: A novel approach to Ajax history and bookmarking

Besides providing a useful tool to other developers, my chief interest in taking over Brad Neuberg's Really Simple History was to test the limits of my own JavaScript and browser-hacking skills. Version 0.6 was basically a maintenance release designed to acquaint the library with the browsers that had come of age since its initial 2005 release.

Top 15 music APIs to power your next mashup

Music and the web have a long history, from Napster through the iTunes Store to the MP3 blogs of today. For Web 2.0 hackers, however, the availability of public APIs proves pretty hit or miss. Cool mash-ups do exist - for instance, TuneGlue MusicMap, which provides nice visualization to data from and Amazon.

18 January 2008

Book recommendation: Ajax Security by Hoffman and Sullivan

Reviewers overuse the phrase "required reading," but no other description fits the new book "Ajax Security" (2007, Addison Wesley, 470p). This exhaustive tome from Billy Hoffman and Bryan Sullivan places the specific security concerns of the Ajax programming model in historical perspective.

A UXD Lesson from the Gas Station

This past weekend I was up on Howell Mountain in Napa, tasting the ultra tasty wines there and taking in the gorgeous views. On the way back to SF, we stopped at a Shell gas station. It took me a good 20 minutes to gas up. Why? Lousy user experience. Let me explain.

BJAX: Using a Bookmarklet to Rerank Google Search Results

I've had this thing around for nearly two years and have just not known what to do with it. Google was doing a pretty good job with search results as long as a topic didn't have a profit motive associated with it.

14 January 2008

Viewport width: Size matters, but not in the way you'd expect

When a company gears up to redesign its website, the question of screen resolution always seems to eat up tons of time and energy. Despite the long, slow evolution of the browser from a publishing medium to an application platform, many developers still think in terms of "web pages" - large units that require, if not fixed dimensions, then at least a fairly defined range of viewport mins and maxes.

10 January 2008

Markdown, GWT & Regular Expressions in Groovy

If you haven't been able to tell yet, I like Groovy. I was playing around with enabling some Markdown support in GWT (attempting to use Markdown-J from inside a TextArea instance widget). Because Markdown-J relies on java.util.regex classes, it can not be invoked directly by GWT.

Markdown support for GWT in 42 seconds

As promised earlier, here is Markdown support in GWT. 1) Grab Showdown 2) Copy 'showdown.js' to the 'public' directory of your application. 3) Edit your module file:

2008: The Year In Advance...

Oh, we're doing predictions. Sure: 1. The blurring between desktop and web applications will continue. Especially watch for desktop applications specifically designed to enhance one specific web site (like the Mac applications Twitterrific and Mailplane).

Dead Duck Typing and High Cohesion

I'm sure you're familiar with Duck Typing, in particular as espoused in the Ruby world: "If it walks like a duck and quacks like a duck, I would call it a duck." Nothing is an unmitigated good, but Duck Typing, or designing against interfaces, is generally a good thing.

RSpec and Rails Custom Form Builders

I'm working on a small project and trying to use RSpec as the complete testing solution. First thing I did was copy over an existing custom FormBuilder which puts everything in a nice tabular layout. Then I tried to convert the existing Test::Unit tests to RSpec specifications.

09 January 2008

Another Brain Fart on Why Open Source is Bad

Every so often, someone scrawls a manifesto about why closed source is good and open source is bad. Usually the parties involved are technical ignoramuses (like in this Economist article) or industry hatchet men. But Jaron Lanier should know better. He isn't a hatchet man and is far from a technical ignoramus, yet he engages in the same sort of sloppy thinking that characterizes those other brain-stain graffiti artists.

2007 in review: Five humble suggestions for better programming and writing

I began 2007 as a front-end tech lead on a multi-million-dollar software project for a global travel company with a massively distributed waterfall development model. I ended it working in small, agile teams on R&D projects at a small outsourced software shop. I got involved in open source, became (yet another) tech blogger, and set in motion lots of other writing and speaking projects for 2008. It's been quite a year.

New Year's Resolutions 2008

As I've posted before, I'm pretty leery of prognostication. My colleageus Noel and Dietrich have already made their predictions for 2008, anyway (here and here) so who am I to join the fray? Instead, let me dust off another hoary device and share my programming resolutions for 2008.