John Bickerstaff, writing yesterday on the WordPress for iPhone blog, has indicated that the application will be going down the path of iPhone OS 3.0 compatability. Whatever that means.
A majority of the changes delivered with iPhone OS 3.0 were global changes like cut-and-paste, landscape keyboard, and Safari improvements, all of which are accessible today using the current version of WordPress for iPhone. So what could the application do that’s not already being done?
What would be more interesting is if the WordPress for iPhone application took advantage of the benefits of the hardware upgrade that comes with the iPhone 3GS. Specifically, video capability — the ability to vlog from anywhere in a minimal number of steps would be quite killer.
I hope that the upcoming 1.4 beta release addresses many of the application’s pedestrian features, including:
- User Interface: compared to other applications, the GUI is horrid. Ugly, sluggish, and non-intuitive. I would easily compare it to that of the Facebook for iPhone application — except that in its latest release, it corrected these shortcomings and delivered a powerful user interface.
- Category and Tag Management: assigning these to your posts from the iPhone is a painful process, especially since these lists do not synchronize well between phone and server
- Custom Taxonomies: unsupported in the current version and critical to running my current blog’s incarnation
- Option to Force Server-Side Drafts: I have no desire to create post drafts on my iPhone, as a catastrophic hardware failure or theft would undo my work. If possible, I’d much prefer that they be created on my blog always and never provide me the option to do otherwise.
New site, new theme. Simple as that, right? Right…? Bueller…?
Before I discuss themes, I need to declare the #1 self-imposed rule during this site’s redeisgn: do not do a Big Bang approach.
This is because past incarnations of this site involved big ideas, all of which I wanted to see implemented at once. This led to a never-ending coding cycle that kept me from writing actual blog content. This time around, I wasn’t going to be slowed down from my set goal of a two-week project cycle, even if it meant some of my ultimate ideas would have to come in the future.
For my rule to work, I had to make quick decisions and roll with them. This led me to spend just 15 minutes looking for a new theme in the WordPress theme directory. I quickly stumbled upon Crowd Favorite‘s Carrington theme and it proved to be a winner for several reasons:
- It is cutting edge. Carrington is incredibly young in dog years. Instead of your standard WordPress template files, it provides an engine to piece together the user presentation from a variety of sub-templates, the selection of which is defined by the viewing context. For example, viewing the About page vs. a Category archive could show you different sidebars, content areas, headers, and more, depending on how you design it. You can even control what’s displayed when viewing posts by different authors.
- Sub-template file organization is logical. As mentioned above, many sub-templates combine to make full templates. These sub-templates are stored in context-specific folders. For example, the various sub-templates which display post content are in the “content” directory. There are also folders for other elements: “sidebar”, “loop”, “header”, etc.
- Customization was quick and easy. I am addicted to changing any code which resides on my site. For WordPress, this is because the themes and plugins I use only meet 90% of my needs, and I have to supply the rest. Making changes to Carrington was easy. I housed my custom code in custom sub-templates outside the core theme files. Also, these smaller chunks of code were much easier to handle during the debugging process than a larger template file.
- Upkeep should be a piece of cake. As noted above, my custom code is contained within custom sub-templates. Since I barely touched the core files, upgrading Carrington down the line should be as simple as overwriting the existing core files with the latest release. This is a huge improvement over my previous blog designs, which would require side-by-side comparison between new and existing files then manual reapplication of my code.
- The price is right. In other words, it was free!
Actually, I shouldn’t brag so much about the theme being free. The developers at Crowd Favorite have earned my gratitude for providing such a robust framework while only asking for attribution in return. The matching documentation on their website was also quite useful. Besides the few hours it took me to get oriented after first installing it, Carrington proved to be an easy theme framework to work with.
At some point in the future, I will skin Carrington to appear like the site I want vs. looking like all other Carrington sites out there. This is one of the many things I’ve put off to the future in order to get rolling today.
That’s the skinny on themes. My next post will compare & contrast use of Pages and Categories between my current and old designs.
Anyone involved with rolling out changes to production systems knows that there’s always something that goes wrong, no matter how trivial. I was bitten by two immediate issues with this week’s relaunch. One was fixed easily, the other not quite so quickly. For those interested, a run-down:
- Nuking my site and starting from scratch broke use of the WordPress for iPhone application. I received the “Precondition Failed” error discussed in this thread on the WordPress Support Forum. It appears I had lines in my .htaccess file which fixed this months ago, and reapplying them restored functionality once again.
- Alex King‘s Twitter Tools plugin — which provides the means for posting to Twitter anytime you publish on your blog — is not working. The title of my post will appear in Twitter, but sans URL (shortened or full). This is not a must-have feature for my site, although it does slow down my workflow to either find a fix or manually do the work a working plugin would automate. As an alternative, Tony Cecala recommended TwitPress, but from what I read it would barf on scheduled Posts. My first plan of attack is to downgrade to a previous version of the plugin, then switch to manual updates if it continues to not work. A few others have already discussed this on the WordPress Support forum here and here.
Never a dull moment.
Photo Credit: Rankopedia
In a separate Post, my blog yelled, “Hello World” as I launched its redesign. The amount of time it took me to make that announcement was less than 1% of the time it took me to recreate my website.
Rather than taking my old site and upgrading it to use new themes and plugins, I went with the more favorable approach of nuking it all and re-implementing from scratch.
I could have performed an upgrade on my existing blog, but going forward with a re-implementation provided me with far more advantages than drawbacks. The former include:
- I now have a true blank slate. No more clutter of half-finished posts and spit-and-waddle code patches distracting Ol’ Captain OCD here
- My speed to publish has been improved. In addition to taking advantage of the New Post panel in the latest WordPress release, I’ve also been able to setup custom widgets to enter associated data from my custom Taxonomies (more on this later)
- WordPress core file updates can be performed Day One. My previous mess of custom code would have surely been broken by a major WordPress upgrade, so I am safe (for now)
- Security has been improved. For example, I no longer have a WordPress account called “admin”, which was a vulnerability that required an unexpected security release. Database tables now have a custom prefix
- I can integrate more easily with social media. My old site format was heavily centered around writing long-form non-fiction instead of smaller, more-frequent posts. Thanks to my design shift, my shorter posts can cross-post more easily to platforms like Twitter, Facebook, etc.
In the end, I’ve come away with a leaner, quicker blog, capable of supporting a variety of material, not just a few types. For you stats hounds, here’s a rundown of the numbers:
||Old Site Design
||New Site Design
|Days in Development
||3 total work days (24 hours)
||All work was performed in 30-60 minute chunks over the course of several lunch breaks and late-night DVR viewings
||Remember the blank slate part? I may migrate some content from the old site, but overall I plan to proceed from scratch
||One Page supports a Contact form, just like on the old design. The other two support my custom Taxonomies (more on this later)
||Categories drove a book layout on my old design, complete with multiple Chapters. Book tructure is now handled using the delivered WordPress Page hierarchy
||I went insane with Tags on the old design, making them useless for searching. On the new design, I will hopefully be more prudent and manage them better
||Custom taxonomies are key to driving my Stories framework (more on this later)
||This number increased so dramatically because I am using plugins to handle minor tasks I had previously done via custom code. This allows me to leverage code (within the plugins) which has been road-tested by others
In future posts, I’ll deep-dive into some details on my design, including:
- Thoughts on the Carrington Theme I am using, and why I chose it over other worthy candidates
- A detailed compare/contrast between my old and current use of Categories and Pages
- A walk-through of my custom Taxonomies and how they are driving user-friendly workflow in my new design
- Quick-hits regarding the Plugins I am using
- How I created a migration plan that walked me through the dangers of converting a live production site from one design to another
- Future plans for this blog, mostly centered around what I’ll be writing but also touching upon some fun development I will also tinker with
My hobby goal for 2009 is to get more involved in the WordPress community. As part of that effort, I signed up to test their latest iPhone client (version 1.2). Ergo, expect to see a bunch of test posts and pages posted onto this blog. Most of them will be under the “WordPress” Category, but I also plan to see how well it handles maintaining existing content. If you have anything you want me to address, let me know. And if you can, leave comments, as remote comment moderation is one of the items I need to test.