DV Digital

Photos, videos, and general ramblings from myself. Content is king.

If It Looks Good in Lynx...

| Comments

The other day, I jailbroke my iPhone. Encouraged by the positive results I saw from the evasi0n jailbreak with regards to iOS 6.1, I decided, in the continuation of the quest of my “mobile infantry” project, to take the plunge and jailbreak my iPhone…

Initially I’ve always been loath to jailbreak. The stock apps did me fine, and I didn’t want to play the waiting game each time iOS updated, in addition to most jailbreaks being somewhat time-consuming.

The new evasi0n jailbreak changed that. It’s basically automated. You download the exploit to your laptop, plug in your iDevice to the USB port, fire up the app, and follow the directions. No big deal, and it jailbroke the latest iOS version, 6.1

Jailbreaking gives me complete access to my phone, including the ability to access the local filesystem, and run UNIX commands directly, such as the text-mode web browser, Lynx.

By default, a jailbroken iPhone only has a few basic UNIX commands packaged with it, so I had to get Lynx from the Cydia repository, which is a trivial exercise. It was more of a thought experiment than anything. A text mode web browser on a touchscreen device is a bit of an anachronism after all.

One of the first sites I went to, out of curiosity, was Venue Driver, the nightlife web application I assist Ryan with in terms of development and testing. On a lark, I sent him a screenshot of Lynx in action on Venue Driver.

Ryan’s response summed it up:

Oh wow now that’s pretty cool. My all-time favorite web browser, because if it looks good in Lynx then you know that you did it right.

And it makes sense. If your web site or application is usable in everything from Chrome on OS X on down to a text-mode browser on a mobile device, you definitely did something right.

One of the primary issues facing most web application developers and designers these days is that of cross-browser usability and compatibility. The simplest way to address this is to stay within accepted standards, and not use any unsupported hacks and shortcuts. This makes for a clean, fast, and easy-to-maintain site or application, and certainly lessens your workload from an administrative point of view.

Just as an experiment, I ran through a few common sites on Lynx.

This very site loads fine. You can see the content, navigate through the categories, and so forth. My humble blog doesn’t much care which platform you are viewing it from. Success.

TNL loads fine, for the most part. It’s a bit cramped reading through posts, and navigation isn’t intuitive, but the site can be read and utilized. The community can be accessed from anywhere on any platform or device.

Twitter fared well. Aside from an SSL error which Twitter gracefully segued me to the non-SSL version of their site, the service is usable under Lynx. Which makes sense, since Twitter is, at it’s root, a text-driven service.

Google came through with flying colors. At it’s base, the search page loads and can be used, which is all you need to do.

And of course, what would a post by me on web technology be without a critique of the almighty Facebook? Facebook ended up loading, eventually. But along the way, there was an (expected) SSL error, and several redirects while FB tried to figure out just what the hell I was trying to do. Eventually I landed on a login page, with a bunch of text encouraging me to use a supported browser. It’s Facebook, it’s quite complicated, I was shocked I even got that far. However, the site could be used. That being said, on Facebook’s part, it is most likely by accident and not design that the site is somewhat usable via Lynx.

While Lynx is over twenty years old at this point, and is rarely used, I can see how it is a great measurement tool to test usability and the intuitiveness of your web application or site. So yeah, I can definitely endorse the evasi0n jailbreak, and the subsequent access to the command line, for Lynx. Definitely an essential component of the mobile infantry toolkit.