on wordpress themes

Learning to do a WordPress theme is a process. That process goes:

  1. Create some nice markup. Looks good!
  2. Split into WP theme files. Add WP specific markup. Looks ok!
  3. Realize you missed some core WP functionality in your theme. Add hastily.
  4. Realize your theme looks worse every day.
  5. Go to Step 3. If your theme gets truly unbearable, jump to Step 6.
  6. Reluctantly start over. Swear you’ll “do it right” this time.

Milk—my WordPress theme on milkandtang—was the first theme I’d ever created for WordPress. I’ve learned a lot, and it’s time to work up a better design that both reflects the name milkandtang, and reflects my design sensibilities better. If you take a look at my Portfolio, you’ll quickly see that this site looks nothing like my other work. That’s a problem.

WP-Prowl 0.7.0 Released

WP-Prowl 0.7.0 was just uploaded to the WordPress Plugin Page, and should show up there shortly. Some pretty worthwhile changes in this version:

  • PHP4 compatibility
  • Multiple API keys (very basic support)
  • Option to ignore spam comments

PHP4 compatibility has been the most requested one. Although it’s a little more ugly, if WordPress still supports PHP4, I suppose my plugin should too. Point though: PHP5 was released in mid-2004. It’s time guys.

As for the multiple API keys, just separate the api keys with a semi-colon in the configuration page. I know this isn’t very clean but it’s only temporary until I implement a true multi-user configuration for the plugin, so that each administrative user can have their own set of options for WP-Prowl. It’s going to be sweet.

As always, leave your thoughts/criticisms/ideas here in the comments.

Prowl plugin for WordPress released!

I’ve released my first plugin for WordPress, WP-Prowl. You can download it at it’s WordPress Plugin page. If you’re interested, please try it out and let me know what you think!

If you want to know more about it, please visit my WP-Prowl page. You can leave me a comment here if there’s anything you’d like to say about the plugin. I welcome all criticisms and suggestions!

Prowl, Growl, and WordPress Plugins

I’m working on a WordPress plugin, my first one. The goal is to integrate Prowl notifications into WordPress. If you aren’t familiar with Prowl, it’s a fantastic utility for sending Growl notifications as push messages to your iPhone.

That’s great, if you want to send messages from your Mac over to your iPhone. I use it on my headless media server to give me information about what it’s up to, such as finished downloads, trouble with services it’s running, etc. Better yet though, is that the developer released Prowl API, so that any internet connected service can send messages to your iPhone if it has your API key. PHP scripts, Linux servers, whatever. Fantastic possibilities.

So I decided to write a WordPress plugin that interfaces with it. Why? I could see someone being interested in it. If not, it’s great practice. What’s better, is that I got it running in a day. Big thanks to WordPress’s developer docs.

It’s actually up and running on my blog now, I’m making this post to test out a couple of features. It’s incomplete, has little error checking, and the configuration is terribly ugly, but it’s a start. Hopefully everyone’ll see this up on the WordPress Extend site in a week or so.

If there’s an idea you have for the plugin, please let me know! So far it only does the following:

  • Notification on new comments/trackbacks
  • Notification on new posts/pages

Obviously this isn’t much, but it’s pretty neat to get the notifications right on your phone!

trying out concrete5 CMS

I’m giving a new CMS a try, this time Concrete5. The feature that really grabbed me (besides being written by Portland natives!) was the in-line editable website, so that a user can click exactly what they want to edit, and change that content right from there. Also, the same for adding new pages, and content direct from where they want to add it.

I think this solves a big usability problem with a lot of CMS systems, where a user is expected to understand the difference between a frontend and a backend. This isn’t a problem for myself—or other tech savvy users—but this division caused a lot of confusion for users in the past:

Them: I want to edit this page! Me: OK, click the “Login” link here, and now go to “Pages”, then edit this page… Them: Which one? I wanted to edit the “About” page. Me: Then go down the list, and select “Edit” under the “About” heading…

I think it gets far too confusing. For the average person, and inline edit makes so much more sense. Leave the back of the house to the persons configuring the app, not to the people using it.

I’ll see what I can come up with. I’m porting a static site that I worked on in the past over to it, to see how it goes. It’s got some unique things like different colors for different navigational paths that should be interesting to see if I can work into a concrete5 theme.

on GMT minus 8

The funniest thing about moving to the west coast is discovering how many things in your life depend on time zones. Apparently, I’m making posts to my blog in the future! Exciting as it may sound, I think I’ll have to change wordpress’ time zone to Pacific.

on the résumé

Took the time to post up my résumé to the website. You can give it a look over to the right. I do appreciate feedback of all types, even if (or especially if) you are a potential employer.

Writing a résumé is always difficult. The balance of information is especially tough: do I write too much or too little? Every teacher you’ve ever had will say that a summary, objective, and the like are important, and aren’t to be left off. I’ve always taken the approach of leaving these things, getting myself established in a cover letter, and letting the résumé speak only as my history and skills. When I needed to review the résumé of peers in the past, I always found that everybody’s Profile, Goals, and Summaries read the same: I am experienced. I am a hard worker. I am detail oriented (a big one).

Yes, yes, I’m sure that we all are. So I figure it’s best left unsaid. I’m sure that hiring managers appreciate the time saved not staring at their monitors. At least I hope so. I’ve never been on that side of the desk. I know I’m good, but getting that first meeting is the hardest part.

Anyhow, résumé. What a time.

google chrome for mac

The newest builds of Google Chrome (Chromium) for mac have finally enabled plugin support. For some reason though, browsing a Flash enabled site sends my CPU to 100% usage (both cores!). So close, but not quite there. Very excited on the progress though.

That’s my life. I’m excited about a web browser. I guess any web designer worth his salt should be excited though. Of course, Mac OS X already has itself some great browsers.  Now Windows on the other hand, is where we’ve still got the most holdouts

on firefox tabs and the mac

I’ve tried out each new version of Firefox with increasing frustration.  I think it’s a fantastic browser; and although I prefer the feel of Safari or Chrome, I love the customization of Firefox.  Each new version leaves me with a new disappointment, and the latest is no different (no services menu!), but I think that it’s finally close enough to “there” that I can give it a try for a while.  At the very least, until they get a closer snapshot of Google Chrome for Mac.

Anyhow, the most frustrating part for me, both as a Mac user and as a Safari user, is that the close buttons for the tabs are on the wrong side.  While I think it’s a particularly boneheaded omission, there’s luckily an easy fix.

You’ll need to create a user CSS file for your interface.  It’s located in ~/Library/Application Support/Firefox/Profiles/<profilefolder>/chrome/userChrome.css.  Create this file if it doesn’t exist yet.  In this file, add the following lines:

.tabbrowser-tab .tab-close-button {-moz-box-ordinal-group: 1 !important;}
.tabbrowser-tab .tab-text {-moz-box-ordinal-group: 2 !important;}
.tabbrowser-tab .tab-icon-image {-moz-box-ordinal-group: 3 !important;}
.tab-image-middle, .tab-image-right {-moz-box-ordinal-group: 2 !important;}
.tab-image-middle {padding-left: .5em !important;}
.tab-close-button {display: -moz-box !important;}
Save the file, then restart your browser.  Ding!  Tabs that feel right at home on an Apple.

wordpress as a corporate cms

i’ve been doing some research into using wordpress as a backbone for a corporate website, and so far i’ve found a lot of “yeah!  do it!” style posts (here and here), but not a lot of explanations to go along with the success stories.  i’m more interested in the true pitfalls of the thing, or better yet one good story of absolute ruin (although, googling “wordpress ruined my life” got some entertaining results, yet worthless).

i’ve been evaluating wordpress for a while now, even used it to set up a site for a local coffee shop / bar (although work drew me away from it, but i’m back to working on it now).  i’m feeling pretty confident that it can be done, and done well.  the big things i need from this site:

  1. consistent look and feel, even when being edited by multiple users
  2. easy to use by people with different levels of experience, savvy
  3. very little training necessary
  4. robustness to user mistakes

i’d say wordpress wins on 1 through 3, but (possibly?) fails on 4.  i’m not sure the access controls are fine grained enough that i can set users loose on the site and expect them not to hose it.  it’s good when you work for a company that you can trust your users not to be malicious (i do, thankfully), but you can’t stop them from doing something wrong accidentally every now and again.

i need to research this further, for sure.  i set up a beta site tonight to try out different content management systems, and i’m going to run through a quick few just to make sure my familiarity with wordpress isn’t clouding my judgement.  ExpressionEngine is the first one i’m trying out, but i need to say i’m not very impressed so far (and it’s a tough sell when your budget is $0).

Anyone have experience?  I’d love to hear about it?