Wednesday, November 5, 2008

The “How’s Your Thesis Going?” Post

My house is buzzing with the sounds of heated political debate. We’ve experienced being minorities in the US so we know that this is huge and may very well usher in a new age of Civil Rights reform but how will Obama’s victory impact the world? In the midst of all this buzz we are planning something special. I’ve alluded to this special thing in previous posts. People wonder if this indicates romance, it does. And now to supplement your suspense I bring you nuisance! I will force you to switch from your emotional driven hemisphere and engage your more logical half. Yes time to put on your Vulcan caps and dip into a bit of hard science. (Aren’t I a stinker?)

It’s going good, thanks. Read on to see what I am doing:

I had to ask myself what interests me enough to take on such a challenge? The answer lies in Human Computer Interaction (HCI). Currently the boundary that separates us from our computers is the User Interface (UI). The most popular example of a UI is Window’s start button. It allows us to access our programs quickly and easily (most of the time). Otherwise we would have run them using a command prompt, yummy!

So what could I do in this area? Help out HCI designers of course! They have to follow a set of heuristics when designing an Interface. They may not be aware that their design may be violating this set of guidelines. That’s where I come in; I’ll be creating a tool that analyzes end user behavior when using a UI. After the analysis is complete the tool will generate a report stating which guidelines were violated.

As always this post will be updated and reposted when new information is available about this project, so here’s the low down:

Nov 02: Had a meeting with my research group. We reviewed the algorithm plus took a look at the partially implemented tool. Both areas need improvement. This verdict was a bit hard to take after all this effort it still wasn’t good enough. At that moment I lost my resolve. Am I in over my head? Were the naysayer right when they told me not to take on this challenge? Should I just give in and quit? I had to convince myself that I was being overly pessimistic. I conceived of this idea, I laid out a grand plan for this idea, I lobbied for this idea. In the end it is mine and it deserves to see the light of day.

I was also reminded by others that my project will become part of the CRUC’s repository. This means students who will come after me may view my thoughts and efforts. They may take my work and build upon it. Taking it in directions I could not have. In the end they will grow more competent becoming a valuable resource for the Pakistani IT Industry. So in this way I am helping to build the technological capabilities of my ancestral homeland. In a beleaguered nation where more than half the population is illiterate, every effort counts. This is something that drives me and pushes me to keep moving.

Oct 12: Indeed, genius is 1% inspiration and 99% perspiration. I was hit with another bolt of insight. I didn’t have any paper on hand so I wrote down on the back of a receipt. I had to get it down at that second or else it would have been lost. That insight was enough to keep me busy programming this whole week. And I still have a long way to go.

Oh and I hate debugging code. Tracing out an elusive error makes my skin crawl. It requires to dig into your code and route it out. All though at the end it’s satisfying to remove the little bugger getting there is very painful. Maybe this is why I didn’t become a developer.

Also, always, always take the time to refactor your code. I feel lazy at times and lope things together. Bad idea. Your poor method or class get overworked and underpaid. Plus it’s an eyesore navigating a sea of code all lumped together.

Sep 13: After figuring out the backend, the next biggest technical hurdle that I had to overcome was working with graphics. Java has put in a lot of effort to make graphics easy to work with. However I am just not getting it. After several haphazard attempts I had to face fact that I didn’t know what I was doing. Once I admitted this to myself I took the next logical step and began writing “hello world” graphics programs. How rude.

Also if you can’t figure out how something works just think of it as magic. Getting into the details will only sidetrack you. Of course if you must know try understanding the overall concept before getting into the nitty-gritty. You keep your sanity this way.

Sep 05: A certain UCFer was gracious enough to become a participant in my case study. My goal is to have a wide range of interfaces to test, to make the study as comprehensive as possible.

Sep 03: Handed in my proposal to a duly designated university official. He carefully placed the hardcopy in a binder. I wonder where it goes from here.

read older updates

1 comment:

vince said...

Well, if you're going to make us wait in suspense...:-)

As a programmer, what you're doing sounds both interesting and fun - except for the debugging part. I absolutely agree with you on that.

I conceived of this idea, I laid out a grand plan for this idea, I lobbied for this idea. In the end it is mine and it deserves to see the light of day.

Good for you! I'm glad you're hanging in there. Very often the things most worth doing are the things that challenge us most.

Now, can we get back to the important stuff?