Wireless Markup Language


I was going through some old books and came across "HTML for the World Wide Web Visual Quick Start Guide - 5th Edition (with XHTML and CSS)" by Elizabeth Castro (which is probably the most unweildy book name ever). Beyond just being a dang good book, Chapter 23 in it has always intrigued me. "WML: Web Pages for Mobile Devices".

It explains WML, a primative XHTML-derived language that, honestly, is pretty cool. I'll quickly list out some features:

- Each WML file is a "deck" which contains multiple "cards". Each card is like an individual web page, while a deck is like a whole web site (or a subset, if that's what you want.) Kinda like Ceefax, almost, where the browser downloads everything so you can switch between cards seamlessly
- There's very basic formatting, just 'p', 'br', 'em', 'strong', 'b', 'i', 'u', 'big', 'small', 'table', 'tr', 'td', and comments.
- Each card can be assigned soft keys, which are quick shortcuts to other cards. You can also assign individual links to buttons on the numpad.
- It does images, barely. Most browsers only support 1-bit 'WBMP' files, although some browsers also do JPEG, PNG, and GIF just fine.
- You can define "actions" to occur when landing on a page. This is how you do redirects. You can define an action going forwards, and another when going backwards.
- You can schedule navigation actions on a timer, to make a sort of slideshow.
- You (or the user, via a form) can set variables, which are preserved between cards.
- You can submit forms to a CGI script (or whatever's on the receiving end these days).

So, honestly, there's a LOT of stuff I really like about this. It's a stripped down, one-file-per-site markup and hypertext format. It has *just* enough bells and whistles to let you do things, but not enough to allow for abuse like in modern browsers.

Naturally, I spent today porting my website to WML.
Here it is, if you want to view it. (External)
It's one deck containing the entirety of my site, excluding images. If you need a WML browser, get a copy of SeaMonkey and install
this add-on, which is a version of 'wmlbrowser' hacked to support the newest version of SeaMonkey. (External)

It wasn't too hard to set up on my existing web server. (it's a crazy flexible Flask application, so I pretty much set this up similar to how my RSS feed is generated) The fact that it's served over standard HTTP is an advantage for me here, but maybe you could serve these over the Gemini protocol too?

I kiiiinnnndddaaa am wondering if a WML revival would make sense? I know y'all here love your Gemini, but WML seems to hit much closer to the feature sweet-spot for me. Gemini's just a little *too* simple for me.