Tuesday, June 2, 2009

Ajax

Currently in my "career", I could be best labeled as a "software developer"; though some people have other ideas. Like most other things in my life, I try not to let my occupation define me. I don't really consider myself a "techie" or a "computer geek" or any of the other terms that society assign (or people assume) for people who work with computers. (For that matter, I don't really like being labeled "cyclist", "homebrewer", or "jerk". "dad" is ok. as is "friend".) I am not the type of person who is constantly messing with linux or servers or "open source" stuff. Actually, the stuff I prefer to mess with is the graphical side of things and the usability and "ahh" factors of the web. I am almost constantly messing with different sites that offer new or different ways for people (or me) to express themselves online. (My newest is tumblr.) I am also on facebook, goodReads, ... (the list goes on). I don't really frequently use any of them, but I find most of them interesting for their approach to people, information, and expression.

In spite of my professed non-geekiness and lack of "hacking" interest, I still often have small projects that I am messing with on the side of work. Some are work related and some not-so-much. Usually I only get as far as seeing how things should or would work, and then I often will walk away without even fully implementing the project. It is the understanding the logic or the algorithm behind it that interests me. I also tend to redesign my website at www.mycryption.com almost monthly (right now I am simply redirecting to my custom tumblr site).

When Sudoku was growing in popularity a few years ago, I got into the puzzles because the logic and numbers tend to soothe my mind. Then I ruined it for myself by writing an algorithm that would solve about any sudoku puzzle I came across. By defining how to do it, I lost interest in the puzzles completely. Now I only solve them if I am really bored on a long flight. It is understanding the logic and finding a clever solution that do it for me.

But anyway... one project I have recently been messing with is working with Ajax. Ajax is essentially a "design pattern" or mechanism for web development that enables specific elements on a web page to refresh without refreshing the whole page. Gmail is one of the most obvious web sites that use ajax. It isn't a language, but more of a way of moving data. It also isn't new at all. I have used/implemented in past (and present) professional situations, but I have never really messed with it much on a personal level because I never wanted to mess with the grunt work involved in moving the data. I tend to wait a while to mess with new stuff because eventually someone will release some slick, easy-to-use libraries that handle all the grunt work. That is where jQuery has come in. JQuery is a javascript library that makes many things easier on the client (browser) side of web development, including ajax.

Now that the grunt work associated with passing data back and forth with the server is handled, I can concentrate purely on the web-site-specific side of things. But this isn't enough. There is still grunt-work in handling the data on both sides of the fence (client and server sides), and I don't like grunt work. So my latest push is to essentially write a simple framework (library) that will utilize the jquery tools to make ajax transactions dead simple to the web developer (me). Once I figure it out sufficiently, I may actually complete its implementation... or I may try to convince my employers to grant me the time to complete it at the workplace. (They read this blog - so you could call this entry a passive form of intra-office communication.) So my goal here is more than personal logic interest, but potentially having a slicker, easier way of creating useable web pages.

So you could question my earlier claims to a geek-free existence, but I do need something to keep my mind engaged. And I never did figure out how to work those logic puzzles in the newspaper.. and who gets a newspaper these days anyway.

No comments: