How: Our Tools

Languages & Technologies

A number of standard and not-so-standard programming languages and technologies underlie all websites. Here are the ones we use:

XHTML, CSS & JavaScript (plus XML and XSLT)

These technologies are at the core of all modern websites. XHTML is the language used for semantic organization of content in a document; CSS defines the visual style, the “look and feel” of a web page, and JavaScript provides interactive functionality, bringing web pages to life. XML and XSLT offer even more powerful tools for organizing and manipulating content and open the door for AJAX (see below) and web services.

AJAX & jQuery

AJAX is not so much a language as a conceptualization (coined by self-described “usability expert” Jakob Nielsen) of an advanced use of JavaScript that has emerged as the core of the “Web 2.0″ phenomenon. It’s a way of dramatically increasing the level of interactivity and productive power of a website and is fundamental to the engaging and easy-to-use interfaces of most popular websites today. A pair of free “libraries” have come into widespread use as a way to quickly and consistently implement AJAX features: Scriptaculous and jQuery. At Room 34 Creative Services we use both, depending on which is the best tool for a particular task.

Linux, Apache, MySQL & PHP (LAMP)

These four pieces of open source software run on the web server to handle all aspects of a fully-functional website/web application: Linux (which comes in numerous “flavors”) is the operating system; Apache is the web server software that listens for requests and responds with the desired web pages; MySQL is the database software that stores and retrieves information; and PHP is the programming language in which customized web applications are written. It interacts with the MySQL database and the Apache web server to customize and deliver the exact content a user is requesting.

LAMP Frameworks & Applications

As the prevalence of the “LAMP stack” grows, new open source frameworks and pre-built applications are appearing on the scene allowing web developers to do more with their websites, in less time than ever before. Here are a few we like:

CakePHP

Model-view-controller (MVC) “frameworks” are popping up everywhere these days. They provide a standard and consistent set of tools to get a new web application off the ground quickly, and help to keep large applications organized so they’re easier to maintain over time. Although there are currently dozens of frameworks for PHP developers, one of the most popular and polished is CakePHP. It is the framework of choice at Room 34 Creative Services when building medium- to large-scale custom web applications.

WordPress

Everyone and their dog (and their dog’s fleas) seems to have a blog these days, and they come in all shapes, sizes and topics. The tools available for building a blog vary wildly in quality, but WordPress is emerging as the best-of-breed for its elegance, ease-of-use, and limitless expandability. It’s what Room 34 Creative Services uses for blog sites, as well as any small- to medium-sized site that requires content management system (CMS) features… including room34.com itself!

MODx

When a site needs advanced functionality and needs to be up and running quickly, MODx is a popular open source CMS for the job. It is modular and highly flexible, and while it may be overly complex for simple sites, it helps to keep larger and more elaborate sites well-organized and maintained.

Magento

For larger-scale sites requiring a full set of e-commerce functionality, including real-time credit card processing and shipping calculations, Magento, built on the Zend Framework, is a popular open source option. It comes with everything you need to build your online catalog and start doing business on the Internet in a tight timeframe. And since it’s open source, it’s constantly being improved and expanded… and the price is right!

Desktop Software

Let’s get personal. For these daily desktop essentials, I’m dropping some of the above formality, and telling you what I use to get my work done. (And why I’m so passionate about my choices!)

Adobe Creative Suite 3

Simply put, Adobe Photoshop is the tool for web design, and it has been since day 1. The current version, CS3, boasts an unparalleled feature set that ensures that it is just as indispensable for web designers as it has ever been, and will continue to be the tool of choice for years to come. So… yeah, I love Photoshop. Even if Adobe’s recent Microsoft-esque steps with product activation and absurdly convoluted software update tools leave me cold. With the full CS3 design suite at my disposal, I’m also handy in a pinch with Illustrator and Flash.

BBEdit

If there’s any software app I love more than Photoshop, it’s BBEdit. I wrote my first HTML code back in 1994 in an ancient version of BBEdit, and even then it was the best text editor around. Since then it’s acquired a host of new features that keep it at the top of the heap for writing HTML, PHP, CSS and JavaScript code.

Transmit

In Transmit, Panic Software has done the unthinkable: it’s taken the ancient and arcane act of transferring files via FTP and made it not only Mac OS X-elegant, but almost… almost… fun. Nonetheless, FTP (or related protocols like SFTP) remains an essential part of the process of web design and development, so if you have to do it, at least you can do it in a classically “Mac” simple-yet-powerful way.

Firefox

Most of the time I browse the web with Apple’s own Safari browser, but I would still never actually recommend it for Windows users. For Windows, Linux, Mac OS X, heck, any operating system, you can’t go wrong with Firefox. And the whole world (wide web) is beginning to take notice.

Parallels Desktop

With Intel processors inside all of their newer computers, Apple has made the Mac one of the best platforms to run Windows. But I don’t really want to run Windows, at least as my main OS, and although Apple has made dual-boot easy with Boot Camp, the best way to get access to Windows applications from within the Mac interface is via virtualization. There are a few options out there, but the one I choose, for not only Windows but Linux as well, is Parallels Desktop.

OpenOffice.org

Yes, you really do have a choice for productivity software other than Microsoft Office! And I’m not talking about Apple’s iWork suite either, which might be great, but I haven’t really tried it. No, I’m speaking of course of the open source option: OpenOffice.org. It’s a full suite of office applications, provides impressive (albeit not quite perfect) file compatibility with Microsoft Office formats, and is generally a pretty impressive testament to what a dedicated community of developers can produce. I do have Microsoft Office 2003 installed in my Windows virtual machine, but on the Mac side I now use OOo (as they cleverly call it) exclusively.

Operating Systems

What, you mean there’s something out there besides Windows? Of course we “do Windows,” since at the very least it’s important to make sure our sites look and function properly in common versions of Internet Explorer (currently, 6 and 7, though we’d do away with 6 post-haste if we could help it), but for most purposes we find that Windows is far from the ideal operating environment. For a better experience, we recommend and use the following:

Mac OS X

Apple didn’t invent the GUI (that credit goes to Xerox PARC), but they brought it to the masses years before Microsoft got it (almost) right. And with Mac OS X they’ve managed to stay ahead of the game, retaining their trademark ease-of-use while bringing in the stability, security and propellerhead geek-out power of UNIX.

Ubuntu Linux

If you believe in free (as in beer or speech) software, Linux is the OS for you. And although it comes in more “flavors” than Baskin-Robbins, our favorite for its user-friendly installer and overall polish is Ubuntu.