Ranea.org

Watts Martin’s Web Space

Work Projects

Nokia Point & Find

Point & Find was (one of) Nokia’s “Alternate Reality” projects, a downloadable application for some Nokia devices. Point & Find customers—business, tourist agencies, and the like—could create “worlds,” data sets combining images and and location metadata, that let P&F’s users get information about whatever they were looking at. If you’re thinking that sounds like Layar or Google Googles, you’re right.

I worked as a web developer on both the “Management Portal,” the back-end system customers used to manage their worlds, and the consumer-facing landing site. We used a canonical LAMP stack with services built on the Symfony web framework as well as an in-house framework we inherited from Pixto, the company that became Point & Find. (Let’s tactfully describe that framework as “eccentric.”)

Point & Find Splash

As Point & Find’s operations wound down, I worked as part of Nokia’s “Universal Search” team, developing on-device user interfaces in Qt QML. That UI may be on the Nokia N9, or may be in a future update for the N8, or may not be anywhere at all. Seriously, your guess is as good as mine.

Fiji Island Escapes

The way I usually describe this project is: think of hotels.com, but just for Fiji. Island Escapes was conceived by two guys who have deep connections into the hotel and tourism industry on Fiji, and figure they can do a better job with the nuances involved in lodging and traveling there.

I did nearly all of the work on the site, both behind the scenes and in front: database design, front- and back-end implementation, interfacing with the payment gateway and the frustratingly API-free booking system, and most of the UX work (modeled on both the client’s design sketches and the work of a third-party graphic designer who came up with the logo and color scheme). I even ended up choosing the web host. The work was done on a standard LAMP stack, using the CakePHP framework, sprinklings of jQuery, and one Python script that synced our availability tables with the booking operator’s.

Fiji Island Escapes Screenshot

Website

Illumant CAM

CAM is an SaaS-style web application designed to manage process controls in an enterprise. A less buzzword-laden way to look at it is as a calendar-based task system on steroids: a manager can assign tasks to employees that require proof of completion, anything from a “I did this” checkbox to a form they have to download and re-submit. Tasks can be recurring or fired off on-demand, and completing one task can in turn trigger another task. (After Bob has completed the TPS Report, it’s sent on to Emily, who uses it to order more staplers.) Managers get high-level views of all the tasks under them with the ability to drill down, and auditors get their own reports with downloadable supporting documentation.

CAM was designed in CakePHP, which turned out to be quite an adventure after the good folks at CakePHP HQ decided that version 1.2 didn’t need to really be backwards-compatible with version 1.1. The system used a mishmash of Prototype and YUI for Ajax stuff; I’d do it all with jQuery this time if I had to do it again. (And I’d do it in Symfony or Django.) I implemented nearly all of the system, from front-end to back-end, using design specs from the executive at Illumant whose idea CAM was. As usual, it was a pretty canonical LAMP stack. Incidentally, CAM stands for “Control Activity Manager,” although I’m pretty sure it stood for “Compliance Assistance Manager” when I wrote it.

PowerPoint Slide Show (Sorry, that’s all I have!)

Other Work

RivalZone

A social network for “everyday atheletes,” RivalZone features both an iPhone app and a Flash-based web app for scheduling events—golfing, tennis, full-contact shuffleboard, whatever—with your friends, finding new people interested in the same sports you are, and keeping up to date with one another. (This reflects the service concept during the first quarter of 2011.)

I was brought into RivalZone after they were already most of the way through the development, to help update and enhance the service back end as well as implement the designer’s work on the landing sites. They have a fairly traditional LAMP-style architecture with the distinction of using Amazon’s “elastic computing” services for hosting.

As of this writing (August 2011) RivalZone is a current client and we are doing Interesting Things that will change the service in ways I can’t talk about. But I’m excited to be designing a Python-based service stack built around Flask and SQL-Alchemy.

RivalZone

Linvatec Applicant Tracking

This was my first big “public” project, although it had both an internal and external side—a system for Linvatec’s HR department to post job listings which could be filled out online by candidates. The resumes, in turn, could be reviewed by prospective hiring managers, both applications for specific positions and ones in the “candidate pool” that hadn’t been hired yet but met the qualifications.

While the system really shows its age in some regards—tables, tables everywhere!—as near as I can tell, it was successful enough that Linvatec’s parent company, Conmed, adopted it, and judging by their web site a descendant of it is still in use today.

Netwolves CRM2

Netwolves sold a firewall/VPN appliance ostensibly aimed at enterprise customers which was essentially a rackmount PC running FreeBSD and a bunch of open-source software, with a proprietary web-based front end managing it all. Besides this UI, the main innovation their “WolfPac” box brought to the table was the remote management system: basically, you could pay to have Netwolves manage your box for you. CRM2—I believe it stood for “configuration and remote monitoring and management,” or something to that effect—was this remote management system. It did most of what other network management systems did, but didn’t require any open ports on the customer side, a neat trick pulled off at the cost of not really being real-time.

Both CRM2 and the on-box front end were written in PHP, backed with PostgreSQL rather than MySQL. I did a fair amount of the coding, particularly on CRM2, and led a three-person development team (a subgroup out of the whole twelve-person engineering group).

Netwolves is still around—and as near as I can tell still advertising the same hardware they did in 2002.

Technical Writing

I take some pride in being an engineer who (kind of) likes writing documentation. I’ve authored/edited hardware documentation for Global Locate, edited documentation for Yahoo (as a subcontractor), and did some authoring work—along with content management—at Cisco. In addition, some of my other jobs have involved preparing white papers. Unfortunately, I have very few samples, as the writing I did tended to be for internal use.

One bit of more consumer-targeted work you can still find of mine is a review of Nisus Writer Express written for “About This Particular Macintosh.”

Close