Archive for the 'Development' Category

The importance of rigorous testing.

Friday, February 1st, 2008 by Eric

Somewhere along the way I signed up to receive email notifications from Firewheel Design’s excellent IconBuffet. Since then I’ve decided that I no longer wish to receive their email newsletter. No big deal, right? Just unsubscribe.

In this case it’s not so simple:

Clicking on this link brings you to an error page. It’s the wrong link to unsubscribe or change your account preferences.

This is an unusual oversight — typically Firewheel’s work is excellent — but it’s an important one that underscores the importance of testing. This is especially true for email newsletters, because once they’re sent they can’t be taken back.

Test, retest, and test again. Mantra of the week.

Building A Software Toolbox

Wednesday, March 14th, 2007 by Eric

We’ve found that looking for parallels between web development and other industries can be a great way to clarify our processes or best practices. We create websites; tradespeople create buildings. In either case experience, skills, tools, and raw materials are used to build something that meets certain needs. So what can we learn from the trades?

One key to success as a tradesperson is choosing the right tools and building a standard toolbox. Expert carpenters have well-worn hammers, saws, and drills in their toolbox. Ours just happen to be code snippets, libraries, and software packages instead of hammers, saws, and drills.

Working with the same tools and building mastery with those over time allows us to:

  • Implement and build sites efficiently.
  • Predict potential problems and know the solutions to mitigate those problems in advance.
  • Manage sites in a more standard manner.
  • Develop in-house expertise that’s easy to replicate on future projects.

Just as a carpenter wouldn’t buy a new saw every time he cuts a piece of wood there isn’t a good reason to arbitrarily change our software toolbox. We consider changes if the needs of a project won’t be met well with our standard tools. Typically these cases involve:

  • Technical requirements our standard tools don’t meet.
  • Availability of a new tool that’s substantially better than what we’ve been using (cheaper, faster, better).

The key for us is working to attain mastery with our standard tools. We’re proud of our work and understand that it reflects who we are, so we strive to do the best job we can on each site we build. Knowing our tools and using them to the fullest is one way we realize this goal.

Purposing Elements

Wednesday, October 18th, 2006 by Angelo Simeoni

After going through a few template revisions of a web application we’ve been developing, I became stuck. I just couldn’t get the interface to look like it was supposed to be used the way it was intended. The issue was that the interface was a set of tabs, each containing form fields, organized by columns. The challenge was to make the interface, which was basically a spreadsheet, to feel not so spreadsheet-like.

The ‘Ah-ha!’ moment came when I realized what it was we were really trying to achieve with the interface, on a very basic level. We were organizing tabular data, so the solution really became quite obvious. Instead of ‘divs’ and ’spans’, organize the interface using ‘tables’.

(more…)

Is 37signals making a web platform play?

Thursday, July 27th, 2006 by Eric

We all thought the web platform would come from one of the big players, most notably Google. It was going to be the Google OS that would compete with Microsoft and prevent Yahoo or eBay or Amazon from dominating the ‘net. With thousands of the smartest minds around Google has the intelligence to create the platform of the future, with their vast server farms and tremendous reach they have the technology, and with its stock flying high Google undoubtedly has the money.

I think the investment by Jeff Bezos shows that 37signals is making their own play at the web platform, however, and they’re using a fundamentally different strategy. 37signals is working to change how we think about ourselves, our place in the world, and how we work - not just provide tools or an API to tie our products to.

On their blog post announcing the Bezos investment Jason states:

“It will be great learning from Jeff as we build 37signals into one the great companies of the next 20 years.”

With the success of Basecamp, Backpack, Campfire, Writeboard, and Ta-da List we have seen the signals winning strategy for web app development. Ruby on Rails is a hot framework that is empowering the community to follow in their footsteps. And, as the quote above shows, they have the ambition.

The 37signals approach includes a final unique element that Microsoft (and, to a lesser extent, Google), have lost. The signals are winning the hearts and minds of developers. Every day thousands of people across the world are heavily influenced by the signals blog and live by the philosophy encapsulated in their book, Getting Real.

Package all of this together and it’s clear that 37signals is a pioneer in the frontier of web applications, provides a framework for cutting-edge development, and, most importantly, is changing the way we think about ourselves and how we work. They have won the hearts and minds of many smart, eager, focused shops across the world that are at the forefront of “Web 2.0” development.

It’s not an OS strategy like Microsoft used in the ‘80s and ‘90s, but I think that 37signals has a greater chance at impacting how a web platform develops than than Google, Yahoo, eBay, or even Jeff’s little company, Amazon. Their challenge is to keep hold of those hearts and minds. Staying small is an important step toward maintaining that place, but presents its own difficulties (especially keeping good people, maintaining influence, and not becoming smothered in an increasingly populated arena).

Let’s see how this all plays out.

What numbers matter to your business?

Thursday, July 13th, 2006 by Eric

We’re in the middle of developing a web based application (code named Orbit) to help small businesses operate more effectively. It’s part of a larger orientation we have toward creating web properties that help small businesses and organizations develop + grow.

Soon we’ll be launching the first of these, a mini-app of sorts that helps creative professionals determine what hourly rate they should be charging to cover their costs and make a profit. This tool will be free and allow people to compare scenarios to see how making changes to staff, hours worked, billing rates, etc., impacts the bottom line.

We hope this will keep our friends in the biz working profitably. It should be perfect for individuals and small teams.

What to charge is, however, just one of many problems people have. And we’re looking for more to work on.

So here’s my question: What numbers matter most to your business?

A long life.

Thursday, July 6th, 2006 by Eric

We’re working on two big projects right now, Orbit (can’t say much yet about this) and The Daily Jolt. For both of these we’re doing major work to sites and systems that many people will use for a long time. And we feel the weight of this because each decision we make is something we’ll be living with for quite a while.

More importantly, the decisions we make are things our users will live with.

How do you develop for something that’s going to have a long life? Keeping things simple, modular, and fast seems to be a good starting point. But we’d love to hear from the rest of the world, especially if you’ve been working on any AJAXy ‘Web 2.0′ goodness.

(I do realize that we can change things at any time - after all, this is the Web, not print - but we want to force the fewest number of changes on our users later.