Wednesday, August 12, 2009

iPhone Cool Projects Review

iPhone Cool Projects
Quick Facts: 240 pages
Source Code: 184.98 Kb (.zip file)
Where to buy: Buy from Amazon.com or eBook from Apress Buy eBook

iPhone Cool Projects is a very broad and deep iPhone development composition. The book is broken into 7 chapters:
CHAPTER 1 - Designing a Simple, Frenzic-StylePuzzleGame
CHAPTER 2 - Mike Ash’s Deep Dive Into Peer-to-Peer Networking
CHAPTER 3 - Doing Several Things at Once: Performance Enhancements with Threading
CHAPTER 4 - All Fingers and Thumbs: Multitouch Interface Design andImplementation
CHAPTER 5 - Physics, Sprites, and Animation with the cocos2d-iPhone Framework
CHAPTER 6 - Serious Streaming Audio the Pandora Radio Way
CHAPTER 7 - Going the Routesy Way with Core Location, XML, and SQLite

For new iPhone developers, Apress provides the source code for each chapter’s project to help those of us that like to learn by seeing the code work, and only then decomposing it into various pieces for learning purposes.

Without going into gross detail, I mainly bought the book to gain some insight into threading, multitouch interface design, audio streaming. Chapter 3 (Threading) opens by describing the taxonomy of threading and several keywords such as thread, process, multitasking, synchronization, deadlock, etc. After the description, the chapter walks you through the steps AND color graphics of each of the XCode screens. There are LOTS of diagrams to explain the setup and the arrangement of threads in the example project as well. In the past, when books have very intense globs of code, there is something lost when attempting to explain each line. iPhone Cool Projects actually does a decent job of walking through the connections to UIControl objects and completing tasks such as an event processing loop or implementing a critical section. Chapter 4 (Multitouch Interface Design and Implementation) explores many concepts and breaks mutilt-touch gesturing into 2 tasks:
- Arrange for touch messages to get routed to your code (Event handling: touchesBegan, touchesMoved, touchesEnded, touchCancelled)
- Understand the information passed to you (gesture recognition: tap, double-tap, finger scroll, swipe, pink/unpinch, two-finger scroll)
- Track and parse gestures from that information


Many of these sorts of topics are available via the Apple Developer Connection, but it helps to have additional context and perspectives on how to implement these types of methodologies for multiple situations and architectures.

If you are a skeptic and want to see more before committing to purchasing this book, Apress has generously provided a sample chapter (Chapter 5) to entice you to buy.

Try it out!

Labels: ,

Monday, August 3, 2009

Why so few humanitarian iPhone apps?


It may not be obvious, but I’m an iPhone designer and developer. Although I got started late last year, you could say that I’ve been pretty successful at it, for the most part.


Recently I decided to do something I considered to be an act of selfless design: concept and build an iPhone application for a non-profit group that may benefit from exposure through 40,000,000+ iPhones and iPod touches. In June 2009, Apple stated there were 50,000+ iphone applications, so I figured “why not build one or more that might benefit humanity?”.


After contacting several groups, I found that several did not think that it was worth the time or effort to build an iPhone app for their cause...even if it was done free of charge!! Primary reason: “We don’t think an app might help us”.


Is awareness not enough? Can socializing ideals that a group promotes hurt them in some way? If so, why do so many have websites? Is it because there is a lack of understanding of how Apple's or Google's success could benefit non-profit organizations? Could it be because there is no incentive for designers or developers to volunteer to build humanitarian apps when the contract market rate is between $100-$200 an hour? Is it because no one believes that consumers are willing to be a part of a philanthropic effort when accounting for the cost of ownership of an iPhone or Google Android device?


Or is it something else altogether??


Please comment and let me know your thoughts on why there are so few humanitarian apps. Comment if you managed to find a humanitarian app in the iTunes App store or in the Google marketplace. If you even have a cause that you think is worthy of an iPhone app, let us know. Maybe the iPhone development community can get something built for them...


What can we / you do about it?

Labels: , ,

Tuesday, May 5, 2009

Video Games - Entertainment or Creative Immersion

I’m not sure if you are a video game player, but even if you aren’t, there are some pretty exciting things happening with the market, namely the devices that run video games as well as the method of interaction with games. Everyone has heard of the Nintendo Wii and their innovation in regards to a motion sensitive ‘wii-mote’ which detect the controllers orientation, motion, and alignment relative to the screen. But if you’ve played any games on Apple’s iPod Touch or the iPhone, I think you’ll be impressed by the level of interaction that the iTunes App Store provides. Click here to see Apple’s iPod Ads featuring games.

Even the quality of free iPod / iPhone games such as Metal Gear Solid Touch and Tap Tap Revenge 2 have intense graphics and unexpected points of engagement ranging from the intellect all the way through fine motor skills. See the Tap Tap Revenge 2 video:
I don’t know if Apple had the iPod and iPhone in mind as a legitimate gaming platform (Apple's iPhone emerges as gaming platform, but it has definitely become more viable and it is only going to grow in the next few months with new software and hardware announcements coming at Apple’s WWDC in June. 

Sony isn’t far behind with their six axis motion sensitive controllers that use games such as Flower, built by That Game Company. Flower is not your typical game by any means. Its hard to explain, but take a look at the video below:

The game is a little strange at first, at least with the years of experience I’ve gained, but I LOVE IT and its a good release from the serious, goal oriented games I’m used to. Instead of being a ‘character’, you become a flower petal that seems to ‘recruit’ new petals along a journey throughout a very detailed and vast universe. 

Echochrome, another engaging example, is a game that makes a player think about perspective. Use the controls to change your perspective and make obstacles ‘hidden’ from view in order to advance to the next level. See the video below:

So what’s the conclusion? It is an exciting time for games and even if you haven’t thought about them or even tried them for lack of interest, it might be worth trying to play a game. It won’t be long before these interactive points find their way into everyday software and everyday lives. We might as well have fun learning it before it becomes a ‘requirement’ for living.

Labels: , , ,

Monday, April 6, 2009

New iPhone App (NBA Game Time)


(See larger image on Flickr)

Disclaimer: This post is my own opinion and is no way affiliated, directed toward, or on behalf of Turner Sports, the NBA, or its affiliates.

There is a new iPhone app called NBA Game Time. It is a sports application which gives iPhone and iPod Touch owners the ability to receive live updated scores from NBA regular season games. You can get it FREE from the iTunes App Store. Click here to download (iTunes is required)

The navigational structure is a tri-view of NBA information categorized into ‘Scores’, ‘Schedule’, and ‘Standings’. On the landing screen, a user can select yesterday’s, today’s, or tomorrow’s scores which will take them into one of the three days viewable within the 'Scores' view. Inside of the ‘Scores’ view, a user can toggle between yesterday’s, today’s, or tomorrow’s scores manually. Users can 'touch' games that are in-progress or FINAL whereas as a subview containing team boxscores, player stats, and team stats appears. In addition, the 'Scores' view shows television broadcaster tiles that highlight nationally broadcast games (i.e. ABC, TNT, ESPN, or NBATV). From the ‘Schedule’ view, users can select a date from the 2008-2009 season to see historical, current, or future game data outside of the 3-day range. From the ‘Standings’ view, users can see the current East and West conference standings. The top 8 teams from each conference are highlighted to show eligible teams if the playoffs were to start today.

The application is extremely data intensive and pulls game data to populate all of the play and team statistics fields and the court images of the home team. I'm hoping that in the near future, the app will be able to use some rich media such as recap videos and / or live audio within the application to provide the 'immersive application' experience as defined by Apple.


I'm looking forward to the 2008-2009 Playoffs version of the application and maybe the app will get some sort of honorable recognition @ the 2009 Apple Design Awards.

Labels: ,

Friday, April 3, 2009

Mobile Interaction Design


(Wireframe built using iPhoneMockup)

You may have seen through the infinite number of blogs and news feeds that there are 10 skills that developers will need in the next five years. Surprisingly, the last item in the list is Mobile Development. I’m a little confused by how low mobile design / development is ranked as we are at the beginning of a new era of interaction design based on gesture and touch. The very catalyst for the new methodologies and the widespread use of multi-gesturing and multi-touch is mobile devices. For example, with so many wireless options of interaction, some applications have actually made tactile contact a highlight of functionality within the app. See below:


Visual design of mobile applications is changing to incorporate new points of interaction such as depth perception and virtual environments. See below:


Stanford University, for example, is now offering their classes and programs through the iTunes U. Big deal, you say? Its not new that a school decides to spread knowledge through Apple. However, look at HOW they give information about heir school and classes to their students via an iPhone application. They use an iPhone application model that uses a 'nested application' view to give the user's the ability to feel like a single application is multifunctional. See below:



Lots of good ideas are coming out everyday and we, specifically the interaction designers and developers, can use these platforms to set good behavioral examples for the future and drive home basic interface rules and principles that have been ignored in other platforms. Just imagine the possibilities when the Palm Pre becomes available...

Labels: , ,

Friday, February 6, 2009

iPhone SDK: Application Development Book Review


When I first started learning to develop iPhone Apps, I went and bought a copy of Beginning iPhone Development: Exploring the iPhone SDK, mainly because it was the only book available that seemed promising in January 2009....

Then, I found the iPhone SDK: Application Development book and it contains details of ALL of the user interactions that I've been trying to develop on my own.

The Beginning iPhone Development: Exploring the iPhone SDK book is great for beginners to get up to speed on the iPhone's functionality, but it lacks the basic components needed to complete the user experience that people have come to expect from most iPhone Apps. I was constantly soliciting help from other iPhone developers on Twitter for help with things like the Page Flick interaction because it wasn't written up in this book. It has lots of pictures of the iPhone sample programs running in the screen view, but this just means there is less room for explanations that could lead to something you or I can customize. This book, in my opinion, won't be enough to build a production ready program that will garner high sales in the iTunes App Store by itself...

Bottom Line: Jonathan Zdziarski's iPhone SDK book provides fully detailed instructions to intermediate XCode programmers on how to construct and embed almost all of the iPhone's notable UI features: Date/Time Pickers, Progress / Activity Indicators, Proximity Sensors, Cover Flow, and the Movie Player Controllers to name a few. The book even covers network connectivity (CFNetwork) which is quintessential for data driven applications. The prospect of using rich media components such as video and page controls means that others will be adding these features to many iPhone Apps in the future and soon demand for those items will be commonplace. There aren't a lot of pictures of sample apps running, but that's where the examples come in and you can customize the code however you want. My bet is on the book that has sections dedicated to user experiences that most iPhone users will pay money to download. Plus, most software companies won't hesitate to pay top dollar for people who can actually build Cover Flow into their software either...

Real: iPhone mastery, charging high hourly rates

Imagined: Reasons not to design / program for the iPhone

Labels: , ,