Working on GITI’s third version has been harder than any of the previous versions. V1 was an experiment that grew into a mostly-functional personal information manager. From the start is barely did anything beyond schedule items and some basic educational tracking stuff (assignment-level stuff). V2 grew out of V1 being structurally inadequate for the mission it was to take on. The change over to V2 was filled with struggles, but it wasn’t too bad because all of the V1 modules were mostly compatible with V2 except for some minor encapsulation changes. V3 presents more of a challenge.
Whereas for V1 and V2 I was the primary person responsible for writing “The Interface” (the back end that runs and “is” GITI), for V3 Chris has taken on the responsibility of writing that portion of the code, as well as some additional supporting frameworks. Chris has written an Interface that is drastically different than any of the previous versions of GITI and therefore all of the modules are completely incompatible and have to be adjusted or re-written to make them work. On the surface this is a pain and a problem, but in reality, it gives some much needed revitalization to code that in some cases may have not been changed in 10 years.
Earlier today I began reading the Wikipedia articles for Personal Information Management and Personal Information Manager. Reading those articles reminded me a lot of what GITI is supposed to be. GITI can’t be just a simple piece of software, it has to take on the personality of its users to be useful. The personal information manager article notes that one of the key problems facing PIMs is that they become a part of a fractured data ecosystem, which ultimately is against the goals of personal information management. GITI started off handling address books, schedules, todo lists, assignments, journals and a variety of other information. Since that time it has become more practical to keep address books in a cloud service like Google Contacts, same with schedule on Google Calendar. Journals have been moved to WordPress. The only thing remaining is the data that GITI stores on educational activity (assignments, class registration, etc) and a few other items that aren’t easily tracked through other tools (like footwear utilization). Some aspects of personal information management have passes beyond the scope of GITI’s usefulness and become a ubiquitous part of mobile computing (or ironically “ubiquitous computing” as it is being called recently). Address books and calendars have always shared a dual space between PIM and PDA tasks and now smart phones cross the bridge between the two, so perhaps those entities no longer need a home in GITI beyond a token level of access? I would love to be able to see my external calendars in GITI, but I don’t really have a need to manage all of that information from GITI. At some point trying to do everything in GITI is just reinventing the wheel and does not go anywhere productive. Some modules have outlived their useful lives and need to be retired instead of being brought into the new version, while other modules (new modules) need to be written to reflect the needs of the users.
While the old modules are being converted by Chris and myself, I am also working on writing a new module to handle domain names. I have had this “need” in a PIM for a while, but it was never really possible to practically implement a module to take care of some of this stuff until last year when I gained access to my registrar’s API. This is another situation where I really have to focus on the fundamentals and not reinventing what has already been done. The utility provided by my registrar to manage domains is great, but it is nice having access to that data inside GITI as well. I am sort of merging my previous host registry/WHOIS tool with the APIs to create a functional information source to take care of my needs.
V3 is far from complete and it is questionable whether or not it will be ready for the semester, even as a fully-functional experiment. There is much work to be done, but hopefully the inspiration will strike to put things in the right direction for an orderly transition to the new GITI.