Monday, July 12, 2010

More research...by watching YouTube videos

I'm itching to start hacking code, and I probably will this evening, but I forced myself to spend a good bit of time yesterday doing research: I read articles at the Google App Engine site, GWT tutorials, and best practices for both GAE and GWT. Generally, what I got from those is how much I have to learn about these technologies, which is a little depressing. Also, that if I'm not really focused, I'm going to get sidetracked by reading about issues I'm not even facing yet. But the up side is that there's so much information out there, already available, that most of the problems I'll run in to someone else has already hit and written about it.

Google IO videos, or how I learned to stop multitasking and love YouTube


The Google IO talks, presented on the Google Developer's Channel on YouTube, were probably some of the most informative stuff I looked at yesterday, as well as exemplifying my tendency to get sidetracked; do I really need to watch an hour and a half of the Google Wave product launch? I'm not even going to provide a link to that. It also served to remind me that sometimes trying to multitask is inefficient, as when I'd put the videos in the corner of my screen and try to do other work, I'd completely miss huge chunks of the talk. Having to continuously rewind, and, while the video was getting back to the section I missed, going back to my regular work, only to completely miss the same section again...well, it started to border on the absurd. Biting the bullet, and telling myself that just watching the video with no distractions was actually most the efficient way to get this done, was also the way to get the most out of these videos. And there's a ton of good information there.

Max Ross easily rose to the top as one of my favorite speakers. During his videos, I would actually neglect my work and focus completely on the video. The first talk of his I watched was an explanation of schemas in the data store, since I'm not going to have complete SQL functionality while writing an application for the GAE. I also listened to his (audio only) talk about Hibernate Shards, even though I won't be needing that, most likely ever, for this particular project. Speaking to Max's skill as a speaker, my girlfriend, who actively tries not to learn about computers almost to the point of Luddism, got sucked in while I was listening. I believe that, initially, it was her mishearing the word "sharding" as "sharting," and that hooked her scatalogical mind. But she ended up putting down her book, and listening with me. By the end, she actually asked me questions that showed she grasped a lot of what Max was talking about. She's a smart girl, but I was pretty surprised.

Testing


I'm a big proponent of proper testing when I'm developing software, and though I occasionally get some push back for that, it really helps my confidence in code as a project progresses. So it was nice to hear from Max that he really believes in testing, too, during his talk about GAE Testing Techniques. Using the cloud as a test farm is pretty ingenious, so I wastedspent some time looking at Cloud Cover test harness. The code hasn't been touched since May, but I really like the idea of testing my GAE code actually on the App Engine servers. This led to GWT testing, which reinforces the idea that the MVP model will promote not just a clean conceptual layout for the project or make it easier to implement code splitting, but will also make it much easier to have GWT test cases that will run very fast, except for the small percentage that need to test the GUI widgets themselves. This talk also pointed me to WebDriver, which is the heir apparent to Selenium. The fact that Selenium ran the testing through JavaScript always seemed a bit too abstracted from the browser itself to provide true test from the user all the way to the data store. WebDriver will plug directly in to the browser and generate actual key strokes, button clicks, and other events.

Odds and ends


I also watched a talk about some of the new stuff in Google App Engine (at least new since the 2009 Google IO conference), developing complex and scalable apps in GAE, and new query capabilities that have been added to the data store.

And I believe watching all of that in one day kind of made me a bit loopy, and I know that a lot of the specifics ended up getting pushed out by new specifics; but now I have a better idea of what's out there, so when I do run into an issue or question, I know where to look. This post is actually more for me, so I have a place to refer with all of these links. I also have a good idea of how to implement my testing, and how the project should be designed initially.

It was actually time well spent, even though I had to suppress my urge to just start coding, and I'm now in a better position to start without having to feel like I'm going to have to revisit, in the near future, every single decision I make.

And I need to get over my mancrush on Max Ross. He's so dreamy.

No comments:

Post a Comment