Weekend Challenge Results - Twitter Client
Note: Been a busy week+ with bug squashing and devtime on other projects (plus house hunting, more on that later). Full source will be distributed when I get around to it. Sorry for the delay!
Nice weather can really ruin a goal that involves being inside for most of the weekend. Luckily, I managed to strike a balance between spending some time outdoors and still finishing up the challenge in time. While my Twitter client is not polished, it is functional and met the goals that I set out on Friday. I will be updating this post with some snippets for the important functionality later today.
This project took approximately 6-7 hours of coding in all, but that could easily have been reduced if I'd come in with knowledge of Basic Auth to use with Twitter's API. Being that this was meant to be a learning exercise, I'm pretty happy with the total dev time. It obviously would have been more if I'd started from scratch, but a weekend project means you use all the shortcuts available.
I started with a Utility Application framework in XCode, which set up most of the core functionality that this application needed. Running it just after creation resulted in a main view with an Information icon that flipped to what would become the settings view. A "Done" button on the flipside view returns to the main view. From there, all it took was some layout design and coding to make a functional client.
The Main View
This section will be updated soon. As I was preparing for this post, I realized a better way to doing the authentication with Twitter. Don't want to put out "bad code" since the second it hits the web, Google will make sure it stays out there. Stay tuned.
I utilized TouchXML to parse the API's response to my query, which handled everything nicely. I've used it before with iGoozex, and there's a great tutorial to get started with TouchXML over at dblog.com.au.
The Settings View
You can download the source files for this view: TwitterClientSettingsView.zip
The settings view is pretty simple. It loads the user defaults and sets the view's contents to reflect them when it loads. When you press the Done button to return to the main view, the settings are saved back to user defaults. Pretty self explanatory.
Rob Zimmerman
Reader Comments (2)
Great job! Very cool, will you be releasing the whole project?
@keyvisuals
I plan to release the whole project as soon as I've cleaned up the code and made sure I've properly commented everything. Thanks for the support!