I have some updates to report on the new site design today, although not as many as before; the entire process is slowing down, frankly, as I perfect the templates more and more and get them one step closer to being official.

RSS version: Still frozen, like in the last update. The feed with the full 2,000-word entries suddenly started working again the other day, as quickly as it had stopped, so I guess there's nothing in it to be fixed. I've added an Atom feed as well, for those who would rather subscribe that way. And I've fixed the auto-detection system; now when you go to my site for the first time in something like Bloglines or the Firefox browser, it will detect both RSS feeds, the Atom feed and the RSD feed, and give you options to subscribe to any and/or all. (I've fixed the names of the feeds as well, so they reflect which they are right in the title - summaries, full-text, Atom or RSD.) The Atom feed, by the way, broadcasts both the summary and the full text; you choose in your RSS reader which version you'd like to see.

Email/SMS version: Okay, the good news is that I can finally get into the "cgi-bin/mt" folder at my website. (Thanks, Jimi, for fixing the problem.) So later today I'll get to finally download the 'mt-notify.pm' plug-in module I need, so I can tweak some text on line 31, and upload it and have the mailing list ready for you to join. So I'm anticipating this being frozen within the next 24 hours.

Print version: Totally perfect and ready to go.

The Jason Pettus Instant Locator™: Totally perfect and ready to go.

Accesskey Wars, Part VI: Revenge of the Blank Anchor Tags (otherwise known as the mobile version): After five or six attempts, I think I've given up for now on trying to get the accesskeys to work with blank anchor tags (that is, those that were supposed to let you jump from one part of a page to another part of the same page); I just can't seem to get it to work, no matter what I try. The keypad shortcuts to outside pages work just fine, so I've left them in. Otherwise, just a couple of cosmetic changes: I've added alternating black and gray boxes now to the Jason Pettus Online Repository of Life Experiences™, to help the eye navigate all that info better; and I've tweaked the CSS specs of several classes, to help them appear better on the screen. This is very close to being frozen - just a couple of tweaks left.

Desktop version: Coming along nicely, and well on its way to being frozen. Got rid of the accesskey specs here, too, so suddenly had a sidebar box that was empty; I decided for now to see if maybe I could put a "random tip" section up concerning this site, and all the different options you now have here (because there are a lot, frankly). I seem to remember some really simple pieces of JavaScript out there for displaying random information at a web page; where you just put all the options in one folder and the script will load a different one each time the page is refreshed. If I can hunt that down, this will be easy enough; then I can sit down one day and jot out a dozen short tips or so ("Did you know that this site has a fully-functioning mobile version?" etc), and throw them all in a folder so that they'll be randomly displayed. And if I can't hunt down the code, I'll just take the box out altogether. Also added the alternating black and gray boxes to the repository here as well, and most importantly am getting more and more real links added to the sidebar items you see. (Of course, many of those will remain broken all the way up to the official move; they're things that just don't make sense setting up until the page is in its permanent location.)

I've got a new CSS scheme for the main list of categories for the repository; I'm also making that particular page more mobile-friendly, so that I won't need two different versions of this template. And I finally figured out how the damn archive templates work! It's complicated, to be sure, but in basic terms you can think of this this way: Whenever someone requests something at your website that is going to then take them to a new page (like clicking on a link, or typing something in the search bar), your server for just the briefest of moments stores the information concerning what that person wants to see. In other words, for a tenth of a second, between erasing the old web page and loading the new one, it's remembering, "Oh yeah, this new page is going to be the entry from April 12, 2002." And then it loads the page and promptly forgets it again.

What you need to do with your archive templates, then, is to build a shell like always, that can accept the database information the server is sending it (through your normal <MT> tags), but to assume that the server already knows what entry or entries it's pushing. In other words, you build it just exactly like your main Index template, the way you want it to look, but simply remove the <MTEntries> opening and closing tags, since the server already has that information and you'd be telling it to override it. (In other words, including that tag will make your archive pages continue to display your newest entry, just like your index page, no matter what your visitor is actually looking for.) Other than that, though, the "shell" of your archive templates (that is, all the code telling it how it looks, and where to place things, and where your sidebar goes, etc) is the same shell as your Index template, so you start by just pretty much copying and pasting that. In the Individual Archive template, you're done - it's basically reprinting exactly what your Index page is reprinting, just a different date, so requires the same exact tags as your Index template does (with the <MTEntries> opening and closing tags removed, don't forget). For the Date and Category Archive templates, of course, you'll need a little MT loop for displaying just titles and summaries; but if you've gotten to the end of this paragraph without being hopelessly lost, creating a title/summary loop in MT should be a piece of cake for you.

Anyway, the short version is that I've figured out how the archive templates work, so old entries should be showing up just fine now, as well as the category information pages and date-based pages that show just titles and summaries. (The search results page, on the other hand, I'm still having some problems with.) And now that I've figured those out, all four of those templates are declared "kind of frozen;" that is, the code that displays titles and summaries is frozen, but the templates themselves won't be frozen until the main Index template is frozen as well, since they're all based off that Index template. Whew!

And yet more MovableType geekiness: So guess what I've decided to take on next? That's right, the actual MT user interface. This was spurred by a recent article on the subject from SixApart's Pronet (a place for professional MT developers, sponsored by the company that owns MT); that not only can you customize the templates that deliver information to your website visitors, but even the templates inside your user interface (UI), the private area of your site where you maintain your category list, edit entries, rebuild pages, etc. It is so difficult it's about to make my head explode, to tell you the truth, but it can be done and I've already proven behind the scenes that I know enough to make some real changes.

Specifically, I want to build a whole customized UI for people like me who want to do all their blog maintenance from a mobile device. (There are so many, in fact, that a term's been coined for them called "mobloggers." I don't particularly care for the term, but I'll use it for the rest of this entry to make my point.) See, for those who don't understand the process, there are two parts involved with being a moblogger, with most people having the capacity to do the first but not the second. There are the actual programs people have invented for various mobile platforms (for example, U*Blog for the palmOne Treo) that will let you post new entries, new photos, etc., straight from your device to your site, without needing to go through a web browser, which is how most desktop bloggers do it. And this is great for loading new content to your site from your mobile device, and if that's all you're planning on doing with your mobile device, that's the only thing you need. But if you're super geeky like me and want to do all your blog maintenance through your mobile - if you want to be able to add categories, and rebuild your pages, and tweak your templates, etc - the only way to do that is through your UI, which can only be accessed through web pages.

The default UI for MT is very pretty on a desktop, don't get me wrong, but is awful for mobile devices: it's littered with commands for new pop-up windows, for example, which typically freak mobile devices out; lays many of its pages out through tables, historically not a good protocol for mobile devices; and uses an extraordinary amount of text decorations and background images for each menu option, leading to insanely long load times on mobile devices and an inelegant layout. So really, my customization challenge is not as bad as it could be; mostly what I'm looking to do is change the look and layout of the page elements (done all at once in a CSS stylesheet, just like your web pages), change all the pop-up window commands so that they simply load in new pages instead, and get rid of the extraneous options one would not normally access through their mobile device. (Like, since a moblogger posts new entries through a different program, there's no need for a "Create New Entry" button at the web-based UI.) Not too terribly mind-boggling a challenge (although a bit), and when I'm done I'll have a version of the UI that's so minimalistically sharp it'll be able to cut steel. And then I'll pile all the template files up into a .ZIP archive and post them as an entry into my blog database, so that other mobloggers can simply download them if they want and install them in their own user interface. Anyway, a lot more on this when I have more to report.

Is that finally it for today? Yes, I think so! Goodbye!

UPDATE: Well, it's been about 24 hours since I wrote the above post, and I have yet more changes to report. Made some small changes to the date- and category-based archive pages, to give you a little more information on what month or category you're looking at. Added a tag to the main category page to now show the number of entries associated with any given category, and tricked out the CSS specs even further for loading well in mobile devices. Oh, and speaking of which, I've decided to send mobile users to desktop templates now when accessing anything at the site besides the main front page - that way I don't have to be constantly updating a special mobile page for joining the mailing list, one for viewing categories, etc. It just makes sense, now that the desktop version is much friendlier to mobile devices.

Configured my notify module in what I think is a correct way; I'll be uploading it later this morning, so hopefully it'll work and you can start signing up for the mailing list if you want. Made small cosmetic tweaks to all kinds of elements, in both the desktop and mobile versions. I've also tried putting up a sample photoset and audio file, and posting my first "How Do I..." tutorial, both to see that they work right and to see if my automated update list in the sidebar is working correctly. There are plans afoot as we speak, in fact, for getting a lot of my archived material imported quickly into this new database, and maybe even to have all 2,000 pages of material or whatever from the archives all live by Christmas; the import process, it turns out, is much easier than I was expecting, but I'll have a lot more details concerning that up here soon enough. But it doesn't really make sense to start importing this stuff now - once the page is "official," I'll be moving to the base root of this server, so that it'll be the thing you see when you go to the very front page of this site, and at that point I'm going to have to rebuild all the old archive pages anyway. So, just a couple of samples over the next few weeks, simply to make sure they're working the way they're supposed to.

And finally, I've been reading up on template modules over the last 24 hours - which, it turns out, is going to save me a lot of time and duplicated effort, so thought I'd mention it to fellow MT geeks that are going through the process as well. You know, of course, that MT allows you to save an unlimited amount of customizable templates at your site, for things like the Index page and the RSS feed and your CSS stylesheet. But MT also allows you to save customizable template modules as well, which are merely snippets of text you might have use for in a number of different templates at once. Let's say, for example, that the header in all your templates uses the exact same HTML code; you could then just save that code as a template module named "Header," and then use the following special tag at the top of all your templates:

<$MTInclude module="Header"$>

Then when MT builds the page, it simply copies whatever text is found in that "Header" module and pastes it where that tag is found. Now, I already explained above how the "shells" of your three major types of templates (Individual, Category and Date) are basically replicas of what appears in your Index template as well, with only what is appearing in the main "entry" area changing from template to template. What I'm going to try to do, then, is create two new modules, one simply containing everything on the page above the entry area, and the other with everything below it. Then in all three archive templates, I should be able to include just the few lines of code comprising what's actually appearing on that page (summaries? full entries? titles? dates? etc) and have MT automatically wrap all the other code around it for me. And sure, I'll still have to hand-change the module code whenever I change the main Index template's code, so that the two match, but this is much better than having to hand-change the code on three templates. And in the meanwhile, this moves all three archive templates into the "frozen" list as well, meaning I never have to screw with them again, bringing me that much closer to the "official" release of this new site design and the final closure of my Geocities page. Not to mention, if I'm thinking of all this in the right way, I should be able to use those modules for every specialized template at my site - the page for subscribing and unsubscribing from the mailing list, the main list of categories, etc. And so that will suddenly be something like six or seven templates then that will be frozen, and that I never have to screw with again on future updates - just those header and footer modules.

Okay, that's it for today!

Copyright 2005, Jason Pettus. All rights reserved. This was published under a Creative Commons license; click here for details. Contact: ilikejason [at] gmail [dot] com.