iMT Plugin: Not for Moblogging, as it does not allow for Image Uploading

I suppose that if I owned an iPhone and used WordPress for my blogging software my life would be much easier as the wide boulevards of Apple & Automatic have many cross connections and tons of developers ready to create an app or plugin for the slightest sneeze.
But as a confirmed dissenter, descending from a long line of Dissenters, who purposely chooses the road less traveled, I have been having a DANGED hard time mobile blogging to this Movable Type blog with one of my Nokia cameraphones ever since Nokia discontinued Lifeblog in all the new mobile phones since 2008.
But I am a true optimist and remain ever hopeful.
And I keep trying new mobile apps, new websites, and new MT4 plugins that promised even the slightest chance of directly blogging from the Nokia camera phone to this Movable Type blog with no, and I mean no, stops or image storage at Flickr or PixelPipe or Shozu or any other 3rd party server or service.
This weekend I decided to revisit the Movable Type iPhone plugin, iMT, that allows one to access a stripped down version of the Movable Type administration area so that one can blog from the iPhone or Android platforms. I had hoped that the iMT 1.1 plugin would accommodate more mobiles than the iPhone or Android platforms.


Now the big problem is why can’t one just blog directly from one’s mobile browser to Movable Type? Well, in the two latest versions of MT, 4 & 5, the administration area is chock full of inflexible CSS layout and AJAX/Javascript behaviors that are difficult for any mobile, even the most advanced, to navigate and complete the workflow needed to start a new entry, upload an image (using a fixed width AJAX dialog box), and then save. Most mobiles, including the iPhone, choke at either the javascript drop down navigation to start an entry or the 3 screens of AJAX dialog box to upload an image. The only mobile to date that I have been able to get the whole process done in its native mobile browser to post an image directly from the mobile has been the Nokia N900.
I am a bit frustrated that the developers at SixApart have chosen to layout many of the crucial parts to the MT4 admin/dashboard in an inflexible CSS layout and make it so AJAX/Javascript heavy, as it assumes that folks will only be using a desktop or laptop to blog from. This is a dated assumption.
SixApart released the iMT iPhone plugin in 2007, which at the time made me a bit piqued that they would make a plugin for the iPhone but not for all mobiles. I tried it at the time and found it useless.
This weekend, I decided that I would not be a victim of San Francisco or Espoo, but would somehow figure out how to make this work. I downloaded the newest version of the iMT plugin and opened all the files in TextMate to find where the mobile browser user agent sniffer was.
I found it in the iMT.pl file and here it is on line 87 and following:

if (my $ua = $ENV{HTTP_USER_AGENT}) {
if ((($ua =~ m!AppleWebKit/!) && ($ua =~ m!Mobile[ /]!)) ||
($ua =~ m!Opera Mini/!)) {
$enabled = 1;

Hmm… the iMT 1.1 plugin sniffs for the Apple WebKit browser, for the Mobile user agent (used by Android phones), and for Opera Mini. I then uploaded the plugin to my MT4 install and opened up the Opera Mini browser on the Nokia N97 to see if I went to my MT4 install if it would go to the regular MT admin or to the iMT admin, to the regular it went.
Then I did a little research and found out that the Nokia N97’s user agent was AppleWebKit & BrowserNG, of which I added to the below code on the iMT.pl file and then uploaded it to my server:

if (my $ua = $ENV{HTTP_USER_AGENT}) {
if ((($ua =~ m!AppleWebKit/!) && ($ua =~ m!Mobile[ /]!)) ||
($ua =~ m!Opera Mini/!) ||
(($ua =~ m!AppleWebKit/!) && ($ua =~ m!BrowserNG[ /]!))) {
$enabled = 1;

I returned to the Nokia N97, this time to the native browser which is Webkit based, and input the URL to go to my MT admin area. Lo and Behold, the minor code adjustment works and I was able to log into the very stripped down iMT mobile version.
There was only one problem… NO IMAGE UPLOAD.
I guess the iPhone can’t pat its head and scratch its belly at the same time so even a plugin can’t upload images from the iPhone’s browser (Ms. Jen twitches), so the Movable Type devs left this out. But… but… but…
Nokia and Android can scratch their bellies and pat their heads, Nokia can even dance while doing so. It is called multitasking and an open stack. Imagine that, Apple.
A Movable Type mobile plugin with no image upload is USELESS to me since the whole reason I moblog is so that my mobile phone images don’t get lost in the blackhole that is my computer’s hard drive.
Thus, I uninstalled the iMT plugin and moved on to step two of my weekend hacking endeavors: directly hacking the MT4 install to allow for a flexible CSS layout of the admin area, the ability to circumvent the javascript dropdown menus, and make the dialog box image upload work for a variety of mobiles.
And I did.