OH HAI IM DOIN TEH MAGICZ!Adam never really had a lot of faith in those "Professional Networking Social Luncheons" that were hosted by his university's career advising office. Despite their seemingly good intentions, there was an air of the events being a safari for smarmy headhunters. But Adam couldn't pass up their latest offering: The Mobile and Telecom IT Ice Cream Social.

Hoping to break into the wacky, wonderful world of mobile IT telecommunications, Adam did his best to "bump elbows" with IT professionals in the mobile and telecom field. Armed with a stack of resumes in one arm and a bowl of strawberry swirl in the other, Adam was able to pass out all of his resumes and meet a few interesting people. Over the next few days, he received a few callbacks for interviews and, in the end, was able to land a gig at a large mobile provider on a small team lead by a senior developer named Carl.

Where the Magic Happens

During his tour, Adam kept hearing about how he was going to "love working with Carl" and that "Carl is an industry leader." After finally meeting the mighty Carl, Adam understood why the guy had such street-cred: Carl was basically the developer version of Paul Bunyan. He had a shelf of awards, a few framed covers to technical papers, and loads of corporate swag that surely dated back to the early 80's.

"A wise man once said that any sufficiently advanced technology is indistinguishable from magic," Carl said to Adam, "and by the time we're done with our first project, you will know my magic!"

"M-Magic?" asked Adam.

"Yes!" Carl replied enthusiastically, "You see this BlackBerry? If you follow the manual, they'll have a green developer like you hopelessly lost and wandering around in the woods for hours. But once I get things ready, you'll be able to move mountains with your code. But first, I'll need to get the groundwork in there."

Proof of Magic

For the next three weeks, Carl kept Adam and the other developers busy with all sorts menial tasks: writing test cases, commenting old code, and so on. Whenever they'd ask Carl for some new tasks, he'd reply "Don't worry, your guys' part is coming up soon enough. Still doing my magic, you know. It's all coming along nicely, trust me!"

Then one day, Carl announced that his part was ready and all that Adam had to do was bring all the parts together. Excited that his drought seemed to be over, Adam jumped straight into Carl's carefully prepared documentation ...and threw a cocked eyebrow at step 1.

1) First, click on the following link \\AppShareB\Carl\build-files\05\design\ and open up the User Interface Definition Spreadsheet (UI.xls) and the review contents.

Expecting to find a spreadsheet in some way describing screens and field specs, Adam found...code. The spreadsheet was a 230 row pile of mumbo jumbo where each row defined a control that would be rendered onto the screen and described vaguely what happened when the user did something.

The next few steps weren't any prettier.

2) Locate the dialog and/or template to modify, and add the appropriate changes
...
5) Execute UIGen.exe in the same folder as spreadsheet
6) Copy the resulting tilde-delimited file (ui.tsv) to the mobile application's root

UIGen.exe was a VB6 app which, among other things, converted the spreadsheet file into a single line of text delimited by ~’s. This file, in turn, was then read by the mobile application's UI, which presented to the user the equivalent to something on a pre-2000 monochrome flip phone.

Carl noticed Adam's agape mouth and said "See? That's the groundwork I laid for you. This way, we only have to define the UI once and it can be used anywhere! Some tweaks to that and you'll be set. And they said BlackBerry development was hard... talk about some REAL magic!"

Conserved for Posterity

Through sheer fortune and good luck, not two weeks after releasing his BlackBerry UI magic, Carl put in his resignation; apparently, his mobile development skills were in high demand and he was wooed away by another company. Shortly after departing, Adam and team promptly archived his codebase and started fresh.

Adam has no doubt, however, that Carl brought his BlackBerry UI magic to another company. Some days he can't help but wonder if some other Jr. developer out there is staring at cell after cell of store+validate.tempstate.tempcity+dataview.11+url+source.datacall+store.%street.tostreet

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!