Okay, so it’s old news, but the latest version of the outstanding open-source CMS WordPress has finally been released, and it doesn’t disappoint.
Since I haven’t yet written much about “my rig” as it were, I thought I’d take this opportunity to talk about the web tools I use for internet publishing and archiving, why I use them, and where I’d like to take them in the future.
PHP, MySQL, and Javascript
I’ve always been a big proponent of open-source web software. When it comes to human interface design–the pesky old “UI”–OSS tends to be very poor indeed. Lovers of open source projects such as GIMP, Inkscape, and Blender will angrily deny this, and claim that each of the aforementioned programs is “better” than the commercial counterpart(s). I won’t get into this argument here, except to say that as a professional, I find the cost-benefit analysis is far-and-away in favor of commercial software for these kinds of applications.
Programming and web development are a different story, however. Since the web is for everyone–you, me, Microsoft, Apple, Google, Yahoo, HP, Dell, Al Gore and even good ol’ Dubya–it is imperative that it be based on open standards that are freely available to everyone. ASP.NET, and other proprietary web technologies simply do not fill this simple requirement. Open standards like PHP, MySQL, and Javascript are in my opinion much better suited to a rapidly changing web. Actionscript 3.0 is an interesting example, since Adobe openly recognized that open-standards are the way to the future of the web by opening up its Flash scripting language.
WordPress
So I use PHP and MySQL as the basis for most of my web applications. I’ve experimented with several Content Management Solutions (CMS’s), including Joomla!, Drupal, and WordPress, and I found WP to be the most elegant to use, and the easiest to configure and customize. Drupal and Joomla are both extremely flexible, extensible, powerful, and fast. But honestly they are far too complex for the simple sites I build and operate. I’ve found that WP does everything I need for blogs, photo and data archives, and even for simple e-commerce.
There are two basic reasons I choose WordPress: It’s easy for me to program and develop, and it’s easy and un-intimidating for my clients to use day-to-day. The latter is extremely important to me; I’ve built an entire e-commerce solution in Drupal, only to find that the resulting UI was so complex and confusing that even I had trouble remembering how to operate it. With WP, everything is nicely organized, and easy on the eyes to boot.
I’ve used WP to build a group collaboration site with automated posting from a directory structure. I’ve built an online coin collection archive, cataloging hundreds of coins and their photos. I’ve built dozens of blogs for myself and others, and each one with unique needs and organizational challenges. In all of these applications, WP has been more than adequate. It’s simple, powerful, and a lot of fun.
MediaTemple
I always recommend my web hosting provider, MediaTemple, to just about anyone. The customer service is fantastic and easy to reach by phone or by email. They are always helpful, knowledgable, and professional. The prices are excellent considering the level of service provided, and they have never tried to nickle-and-dime me for anything. I’ve been using MT for upwards of eight years now, and despite having the contractual right to do so, they’ve never raised my rates, even as the service has improved.
The administration panel is expansive and powerful, the set of pre-installed tools on the shared server environment is fantastic, even including Ruby on Rails and allowing PHP to run with safe mode disabled. I have full SSH and SFTP access, and I use my shared server account to host dozens of domains, subdomains, and MySQL databases. I can’t say enough good things about MediaTemple!
SSH and Vim
I am a big fan of Unix-based command-line interfaces. There is no faster or more powerful way of dealing with a filesystem, especially when working remotely over the net. When I SSH from my Mac or PC into my MediaTemple server, it’s as if I were sitting at the server itself: I can do anything, fast.
Say, for example, I want to move all of my WordPress files from one directory to another, but leave behind the others. To do this with a GUI FTP browser like Cyberduck (my personal fav), I would have to shift-click each file to move, then drag it to the desired location, and then wait while FTP moves the files… very slowly. Moving a WordPress installation via FTP could take as long as three to five minutes, and that’s only moving a few KB of data!
What if I were to use SSH instead of FTP to move the same files?
mv wp-* ../destinationdir/
Simple enough command, and the transfer will happen in less than a second. Again, it’s as if you were sitting right there at the machine: things happen instantly.
This advantage is greatly increased when you are, say, debugging a PHP document. Say I’ve got my php file running on the server, and I discover that I’ve forgotten a doggon semi-colon again. To make the change via FTP, I have to download the file, make the edit, and then re-upload the file. That might not seem like a big deal, but when you have to do it a hundred times in ten minutes, while you painstakingly find each little blip in your code, it gets pretty annoying.
The better way is to SSH into the server and use the programmers’ text editor, Vi (or Vim, for “Vi Improved”). My Vim configuration is set up to display line-numbers, color-code the code, auto-indent, highlight incomplete brace pairs (eg a “{” that’s missing a “}”), allow code-folding, and all kinds of other great things you’d expect from a programming text editor. But the real beauty of it is that it’s immediate. I open up my PHP file in Vim (instantly), make my changes (very quickly), and save the file (instantly). Done! No downloading, no uploading. It’s all as if it were local.
There is no faster way to work with remote files than SSH and Vim. It’s a huge time-saver for me.
Coda
Coda is an inexpensive commercial app for web coding on the Mac, and it is absolutely-stunningly-fantastic. This application is the first thing I install on any new laptop, because it’s my favorite way to code. For fast changes and debugging with a lot of open and save operations, I go with Vim. But for large “sit down and code for three hours” sessions, Coda is the way to go. It’s the most Mac-friendly app available for coding, and it skips all of the messy stuff, leaving only the stuff you really need. It even includes language reference books right within the main application GUI, and allows you to link to your own language references (I created one that is a portal to the WordPress “Template Tags” on the WP Codex). Very handy!
Hard-core coders will no doubt stick with their super-powerful coding environments, but for simple hacks like me, Coda is absolutely wonderful, and a pleasure to use.
Cyberduck
Cyberduck is a freeware Mac FTP application. It’s fast, elegant, and simple. I love it for its simplicity, and I use it for all of my FTP needs. I coule use Coda for FTP, but I’ve found it to be much slower for some reason. Cyberduck is a great alternative, and it’s so easy to install and use that I often recommend it to friends and family who want to share files with me. Even my little sister uses it! She doesn’t know what “FTP” is, but when she wants to send a file, I tell her to “Cyberduck it!”
Firebug and IDEDevToolbar
If you are trying to do your own CSS code, you must–MUST–have Firebug and IDEDevToolbar. Firebug is a Firefox extension that will let you highlight individual structural CSS elements interactively as they render, in order to diagnose tricky problems. IDEDevToolbar is very similar, but it works with Intnernet Explorer 6 and later. This is a GODSEND. Before IDEDevToolbar, coding CSS to be IE6 compatible was an absolute nightmare-and-a-half. Please, for the sake of your own sanity, use it!
Note that Coda, mentioned above, also has similar functionality for the Safari rendering engine. So if you have Coda, Firebug, and IDEDevToolbar, you can easily compare rendering differences between FF, IE, and Safari. I couldn’t live without these.
Paper and Pencil
Don’t forget that the paper and pencil are the most powerful development tools available on the market. They’re fast, flexible, and affordable. They work in every programming language ever created, and the interface is as flexible as your brain. I never start coding before I’ve drawn up what I want the code to do on paper. For me, it’s the best way to organize thoughts into useable deliverables.
In Conclusion
What are your thoughts? I’m a simple guy, and I like simple tools. What do you like?
|
Adam O'Hern is an industrial design consultant specializing in visual brand languages, and has designed products ranging from laptops to power tools, classroom toys to bathroom fixtures, and robots to lint rollers. He has published with 3DWorld Magazine, CGTuts+, and Luxology, and works with Josh Mings of SolidSmack.com on EngineerVsDesigner.com. |






