The Road To WPtouch 2.0: An Expose

by Dale Mugford ~ Apr 29 / 2009

wptouch20-new

Long Overdue, But Worth The Wait

It’s been a long time coming, but we’re getting close enough to WPtouch 2.0 to talk about some of its features and enhancements, trials and tribulations, and what’s in store beyond the 2.0 milestone.

Though not due out for another 3-4 weeks or more, we fully expect to have both the WPtouch 1.9 and WPtouch 2.0 releases available sooner in beta form as there are many under-the-hood changes which we’d like our loyal users to test out first before we launch it far and wide.

If you’re interested in becoming a beta tester send us an e-mail and we’ll put you on the list.

Nearing 100,000 Downloads on WordPress.org

While we’re technically well past that mark if you combine our separate site stats with WordPress.org stats, we’re quite excited to have the repository downloads nearing the 100k mark.

To celebrate, we’ll be having a little contest for WPtouch 2.0 in the order of theme development and the possibility of winning an iPod touch for your efforts. But more on that in a post to come soon, this one’s about the roadmap : )

Where We Were

With WPtouch we’ve revolutionized the possibilities of delivering a full-featured WordPress website on a touch mobile device, all without the experience affecting or depending upon your existing theme. Make changes to your desktop theme, and WPtouch won’t be any worse for wear. Change plugins, WordPress versions, and even upgrade WPtouch and have your settings and custom icons saved.

We’ve added a ton of features over the revision cycles, all while hardening the plugin and resolving many bugs and issues as they cropped up.

We originally thought we’d get to 2.0 by the fall of last year, but that quickly became impossible, and a little impromptu on our part. Instead, we focused on incremental evolutionary growth of the plugin such that when the moniker ‘2.0′ was applied, it would be a logical, well-thought-out, destined release which made sense to our users and left little to complain about (we shoot high, you know).

Where We Are

Currently we’re at that crossroad with the plugin where it needs to grow in a couple directions, and we’re aiming to do just that with the next couple of releases.

What’s Lacking

Currently the two major areas we see the plugin lacking in are internationalization and theming. Let’s tackle internationalization, first.

As with all plugins for WordPress, they should be internationalized, and it’s not that hard to do so from a technical perspective. What is hard to do in our case is make sure that the plugin is fully internationalized in a stable manner— i.e. that we don’t change or add to the text in the admin panel and the theme files too much.

At current, there is still some considerable fluctuation in these departments and instead of having our internationalization team constantly working to revise translations, we’re trying to settle on the text beforehand so there’s little in the way of revisions or changes to language.

Our goal is to ship WPtouch 1.9 with 5 languages supported, and ship WPtouch 2.0 with at least 10, maybe 12. From there we hope other translators jump in and add more.

screenshot-1-wptouch20

Themes

Currently WPtouch alludes to having support for Themes (what with our ‘wptouch/themes’ directory and all) but it in fact does not support multiple templates at all, just the default one.

It was always our intention to add user-selectable theme support, but there’s been some hang-ups and snags along the way in doing this, so we decided instead to focus on the heart of the plugin first before we continued on theme support development.

We wanted to support multiple Themes for obvious reasons, but we also wanted to do it in such a way that made it simple for our users and other developers to create themes and easily share them with others.

To make this possible we’ve gone to the whiteboard several times in order to figure out the best method to meet these criteria:

  • Themes must be able to be easily added, and selected
  • Themes must survive updates to WPtouch and WordPress without issue
  • It must be very simple for a developer or someone who wants to make modifications to the Default theme to be able to do so without breaking their website or WPtouch itself
  • Themes capability must allow for and include an easy way for us to add new features and for Theme developers to add the features to their Themes without much muss and fuss
  • Theme support can’t be bulky- it’s got to be just as fast and efficient as WPtouch currently is

If some of those criterion seem trivial, you’re mistaken- they’re all quite difficult to achieve on their own, let alone together.

What some may not realize is that WPtouch is truly unlike most other plugins out there- we’re re-performing some of the same functions that WordPress itself utilizes to pull heavy weight and do all that WPtouch does. With other plugins there may only be a few hundred lines of code, while with WPtouch you’ve got thousands including the admin files and all the theme files.

So its taken us quite some time to determine the best approach to handling Themes, and we think we’ve found it with the invention of a theme creation method we’re calling CoreTheme.

CoreTheme

The WPtouch CoreTheme is based on the working combination of a Theme folder (in this case, the Default one) and the Core folder.

The Core folder contains only files automatically imported into your active theme, and contains all the features and capabilities of WPtouch separated from the editable theme structure & content of your theme.

A Theme folder contains all the modifiable elements of a theme, without breaking the Core features and functions. It also contains information required to be shown and selected in the WordPress WPtouch admin panel. This information is read from the theme’s readme.txt file. A theme folder can also contain a screenshot.png image to be shown in WordPress WPtouch admin panel, helping users choose and select a preferred theme easily.

Together, the Core and the Theme folders make up a theme.

Minimum Theme Requirements

A Custom WPtouch Theme must have the following files in order to work:

  • - header.php
  • - index.php
  • - footer.php
  • - style.css
  • - readme.txt
  • - screenshot.png

Skeleton Theme

skullYou can create a new theme by simply copying the ‘default’ theme and re-naming it, then begin modifying it to build a custom theme.

We’ve also included a ’skeleton’ theme which is stripped down and contains very little customization, just the minimum + the dependencies on CoreTheme so you can build it up however you like. This is by far the easiest path to a custom theme which bears all the markings of a design you want.

Creating A Custom Core

Just because WPtouch ships with a ready-made Core doesn’t mean you can’t make your own.

To customize the Core files, simply copy a file or files from the Core folder into your Theme folder, and start editing.

WPtouch always looks for the Core files in your Theme folder first, and if it doesn’t find it, defaults to the Core folder and uses its files instead.

This way you can still use some default Core elements, while modifying others. The choice is up to you.

There’s no limit here- you can customize an entire Core for yourself, keeping in mind that features that are missing in your Core that exist in WPtouch’s Core will cause the corresponding admin options to become neutered.

Public Beta

We’ll have public betas available for download of both WPtouch 1.9 and WPtouch 2.0, and we’ll post about them when they’re released. To find out the super-secret plans on these betas you can follow us on Twitter, or keep checking your WPtouch admin panel and watch our WPtouch news and updates list for posts on the subject.

Down The Road

Beyond WPtouch 2.0 we’d like to be able to offer the ability to take Themes even further, and offer the ability to serve different themes and subsets of themes to different devices and classes of devices. I’d love to see the ability to serve a theme for iPhone/iPod users, BlackBerry users, and less capable devices, all at the same time from within the admin.

Additionally there are other requests we’ll be looking to include, most of which are suggested by our users in our Support Forums. If you haven’t visited yet, stop by and you’ll find bug reports, fixes, suggestions, and helpful tips and tricks.

8 Comments

  1. Christopher

    10 months, 2 weeks Reply

    Hurray and good job!! This all sounds very exciting and I can’t wait for 2.0 to adapt it to iwebkit!

  2. WPtouch is tha BOMB. Really cool idea and great implementation…

  3. I can’t wait for the chance to make my own theme. I was going to look into modding the current version, but I’ll wait until this comes out as it looks to be easier. Thanks a lot for the long hours and hard work. I await eagerly the new update.

  4. Thanks for this great job. I’ ve been tweaking wp touch theme for a while (adding thumbnail thanks to get the image plugin). Would gladly contribute

  5. I can’t believe! Reaaly BOMB!! Thanks guys!

Leave a Reply


One of 536 websites proudly supporting Earth Hour. On WordPress? Get the plugin.