25 June 2011 1 Comment

This post was hand crafted with love by dowdingh

SVNs, APIs, and Android Emulators (oh my)

After a long week of project-ing, it’s nice to sit back and reflect.  With the deadline of our final project fast approaching, the 9am to 4pm days of the fieldschool have become all-out workdays, everyone sat dutifully at a laptop computer chugging away on his or her own assignments.  Curation of the aural environment is about the only varying element within this structure, and so the days have begun to blur together into one long eye-straining event.

As it goes, the final project, msu.seum, is coming along nicely; the content and design teams have already accomplished a good amount of their own work, and the interface of the app is in sight.  The better half of the programming team is likewise carrying out all of the arduous code design that goes in to the creation of a mobile device application, and it seems as though we’re almost ahead of schedule on the overall page designs (almost).

As the not-so-better half of the programming team, however, my role in the project sometimes seems a bit of an outsider, as I restart my Android emulator for the umpteenth time and open twelve tabs in my browser in hopes of finding the proper documentation to solve the mystery of the missing semicolon.  While I have accomplished a fast education in the tricky ways of Javascript, JQuery Mobile, PhoneGap, Xcode, Eclipse, and about a dozen others, I find myself taking the role of analyzer more than anything – not of the code, mind you, but rather the issues and essence of programming.

While my knowledge is still quite tentative (I’m still not even sure I know the difference between an API and a plug-in), three days of coding, or about 24 hours, has taught me a fair deal.  For example, patience is a virtue.  That old axiom is indeed true, and so much more when it comes to eight hours of staring down source code without throwing the computer out an eighth-story window.  It’s likewise necessary for learning programming languages in the first place – while some coding argot can be picked up fairly quickly, learning to communicate in an entirely new language is most assuredly no small task.

Another thing: answers sometimes do fall from the sky.  Maybe that one’s a bit untrue, but sometimes a simple reboot is all it takes to find the answer you’ve been looking for all day.  Otherwise, give it two hours and pray that the emulator shows you what you want; the simplest solution is never- NEVER- the right solution, and so sometimes it takes a bit of waiting to come to the real deal.  Really, now that I’ve learned a bit about coding, the final result seems even more serendipitous.

Finally, there’s simplicity.  While I still haven’t quite figured it out myself, it seems that a successful programmer can move elements around so that they’re arranged in a familiar, and easily handled, way.  All of the APIs, SDKs, and plug-ins can get confusing, so keeping everything organized and manageable is key.

With only one week of the CHI fieldschool left, I have a lot of programming to do and learn.  So far, this has been an illuminating and altogether humbling experience, and while I haven’t been hitting success after success in each of our undertakings, I’m loving all that I take away from the attempts.  This final project is likewise bumpy, and while I look forward to the finished product being a success, I’ll take a failure just as readily – either way, there’s no better way to learn than by jumping in head first.