Friday, September 10, 2010

Alex's Week 1 Update

Hello all!

First off, I must start by saying that I have never written in a blog before; This is mostly because nothing that I've had to say has been worth other people's extended attention. However, with work starting to get underway on Access Lecture, I now feel important (and required) enough to do some blogging!

As previously mentioned, each member on the AL team will be posting weekly updates on this blog. These updates will serve as...
  • A glimpse into the general process of developing AL.
  • A source of general information regarding the project. This includes feature updates, testing and progress reports, and updates on various other events as they occur.
  • A way to follow how each individual member of the team is contributing. If a certain feature interests you, then simply keep an eye out for a blog post by that feature's developer!
  • A summary of our work each week, both technical and non-technical. This also includes major accomplishments and challenges.
Oh man, I even got to make a bullet-point list; This blogging thing is pretty cool.

Getting to the point: Week 1 can be summed up as, "intense". Three technologies, all unfamiliar to me, were thrown at me at once. These were the iPad, Xcode, and Objective-C. The iPad was easy enough to use, and we were all able to grasp its abstract and concrete concept implementations in a very short amount of time. We made sure to take note of certain iPad features that may help us or give us trouble, especially in regards to accessibility. Our major discovery was that the "zoom" feature was glitchy and unreliable, especially when used in conjunction with the on-screen keyboard. To me, this means that AL must be designed as an accessibility-friendly app from the ground-up; It cannot simply be a "normal" app and then layered with faulty accessibility features. This will be important to keep in-mind during the cycle of the project. Luckily, the iPad (being a touch interface) supports large buttons and text naturally. Additionally, there is a very generous amount of screen real-estate available. Given these two things, as well as the high customization potential for iPad apps (full control over the visuals), I believe that we will be able to mitigate the accessibility issue without much trouble.

After playtime with the iPad was over, we were off to learn some Objective-C. As a programmer with extensive experience in Java, and a sizable amount of experience in C++, I found Objective-C to be less than user friendly. The syntax is definitely going to take some getting used too, but some cheat sheets and online tutorials will help me out there.

I have managed to make two apps so far, which I have named in an effort to make them seem innovative. The first app, "iCount", displays a number in the middle of the screen. What makes this app so revolutionary? You can tap the "+" and "-" buttons to increment or decrement the number respectively! The second app, "iPress", gives the power of choice back to the user. The user is presented with two buttons, labeled "Left" and "Right". Upon touch interaction, a message is displayed on the screen indicating which button was pressed!

...Ok, so they aren't exactly the next "I am T-Pain", but they are certainly a start. Making actual applications gave me...
  • Familiarity with Objective-C and the iPhone SDK
  • Practice with the Xcode IDE
  • A feel for how to make accessible apps
  • A solid foundation to build off of
My current plan of action is to make a basic Calculator app from scratch (T-i86?). This will give experience in developing a more complex app for the iPad, and will familiarize me with the Objective-C syntax more. Additionally, this will give ample practice with the Interface Builder in Xcode (a WYSIWYG editor for iOS apps), and how to make the correct links between objects to make proper use of the MVC design pattern (all iOS apps use a variation of the MVC).

In summary, I have spent this first week developing my toolkit and learning the framework from which I will be working in. I am confident that given a bit more time, I will be able to confidently work within the iPhone SDK. It is important to solidify this knowledge now, so we can focus on problem solving project-specific issues later down the road.

What next? The team has plans to meet with several focus groups before work on the actual project begins. In the meanwhile, we will continue to familiarize ourselves with Objective-C and the iPhone SDK.

I am extremely excited to continue work on Access Lecture, as well as with the iOS and Objective-C! The challenges are only motivating me to push farther, and I do so with confidence and enthusiasm.

Until next week...
- Alex

No comments:

Post a Comment