Warming up to iPhone

I'm on the startup path. One thing you realize when you set out to do a startup where you will initially do all the heavy lifting is that you don't know everything you think you know. For me, I've been training for this for a while, I have web stack burned in to my head and it just drips out of my fingertips. However, what I didn't have was enough mobile to get me by. I've done plenty of web-based mobile apps and mobile web sites but what I plan to do quickly outgrew that and needed access to the phone's hardware.

I have released 2 apps which served me well as learning tools and submissions to the San Diego App Challenge. Win or lose, I figured I'd do these two apps rather than any "hello world" book samples.

San Diego Transit

Available for iPhone, this app is the only native iPhone app that integrates mapping and realtime bus location data for all areas that San Diego MTS covers. I was shocked to learn that such an app didn't yet exist in San Diego, but multiple existed for all other major California cities. See the video below for a walkthrough.

Download San Diego Transit on iTunes:
http://itunes.apple.com/us/app/san-diego-transit/id518207969?ls=1&mt=8

 

What I learned doing this app:

  • UIMapKit, iPhone's mapping framework
  • Loads of strategies for doing databases that live on the phone via SQLite
  • MonoTouch UI development
  • Web service / data connection and parsing (iphone phone-home!)

Street Report

Simply take a photo, share your location, and alert the city to issues. The trick here was getting the data to the city, and using some HTTP POST magic, was able to auto-fill the city's own service request form.

What I learned doing this app:

  • Photo taking / storing / manipulating
  • Low-level HTTP work for iPhone
  • Windows Azure cloud storage from iPhone
  • Location, reverse geo-tagging

Download Street Report on iTunes:
http://itunes.apple.com/us/app/sd-street-report/id518218814?ls=1&mt=8

 

The skinny on MonoTouch

Mono is an open source .NET implementation. MonoTouch, and MonoDroid are .NET libraries that allow for developing native apps in C# on iPhone and Android respectively. Because C# is also the language of the new Windows Phone 7 platform, I was intrigued by the possibilities of less code. I just stuck to MonoTouch

The short version:

I like it. It wasn't no-brainer by any means, but MonoTouch was just the right about of abstraction from Objective-C. I feel pretty confident I can cross-develop for all 3 phone platforms, re-using anywhere from 50 - 90% of the code, depending on the type of application.

The long version:

Since MonoTouch compiles right down to the native objective-c bindings, and it uses the XCode UI development tool, I really felt like I was developing iPhone the way objective-c developers do. In fact, I found I could talk to them and get tips / strategy, or follow along with solutions on Stack Overflow. The best benefit was writing it in C# and getting to use .NET framework pieces, like web service calls, JSON parsing, and a ton of other useful framework pieces we take for granted.

My second favorite thing was how easy MonoTouch can be to do real database work, using SQLite database development. An open source tool called SQLite-NET (https://github.com/praeclarum/sqlite-net). It's kind of like Entity Framework Code-First, for iPhone since it can generate the tables, and makes CRUD operations to that SUPER simple. It's a HUGE time saver and worked perfectly for large data sets / normalized data interactions

Let the fun begin

Now, back to these regularly scheduled programs. 2 Apps published, a ton of new development potential in the vault, and some exciting beta products coming soon.

***UPDATE*** 6/29/2012-  Street Report Wins Grand Prize and City Innovation Award

I'm so grateful to the judges of the SD Apps Challenge for thinking so highly of this app. It won 2 awards, City Innovation ($5,000) and Grand Prize 1st Place ($15,000). The money is of course helpful as I work on my company, Small Steps Labs, but the recognition is equally appreciated. More info from the UT article: utsandiego.com/news/2012/jun/29/tp-winner-fills-hole-in-city-app-market-winning/ 


Narrative vs Gamification

24 Jan 2012 In: Habits, Health, Social Good, Fitbit

I hear the word "gamification" a lot, especially in health related behavior technology discussions. If you sit down with a group of people to brainstorm an app idea, something engaging that gets people to do something positive for their health, it isn't long before you start talking about points / badges / levels / challenges, and on and on. I've shared a few thoughts and enthusiasm before for these kinds of app ideas, but I think there's something more core that we're skipping before we go out and "game-ify". That thing is a narrative.

I recently visited my parents and checked up on my dad's love for his Fitbit activity tracker. Now, my dad is no gadget guy, but he loves his Fitbit so much that he has lost 2 of them and immediately replaced them himself; that's 3 including the one I bought him. He does a good walk in the morning, and tries during the day to get more steps in than he did before. I was expecting to hear some new revelation about how he could get more steps in by doing some other activity / routine in his office day.

"I'm not wearing it anymore." "What? Like, you're just not in to it anymore, you don't care about how many steps you get in?", I asked. "No. I still do my walks, I get steps in during the day at work, but I know how many steps I'm getting in. If I do the walk in the morning and then my normal day, I know how many steps that is. Why do I need to wear the Fitbit to tell me that every day?"

Wow, I was shocked. It was such an about-face. Then he conceded, "I may wear it again, just not seeing the point right now". The something that would get him wearing it again is either a change in his routine that needs quantifying, or, a change in the reason for counting steps. Which got me thinking, if every day my dad pulls up to about 8,000 steps, what is that ultimately contributing to? It's aggregatable, averageable, mean distributable (?), comparable (to me and others on Fitbit.com), and bragable (he's been adding to this for a while). But, it doesn't contribute to a larger narrative that he can identify with. I'll concede though that some people are actively creating a narrative of streaks, bests, and challenges themselves, and for them, the Fitbit (data aggregation) alone works.

Perhaps what my dad needs is something that his 8,000 steps per day is contributing towards. Getting a repetitive high-range step count shouldn't be a bore, it needs to count towards some larger narrative. A game would work, but a game is just one kind of narrative.

Which got me thinking. Most persuasive technology does either one or both of two things:
1) Helps the user tell their narrative. It gives them a structure, an audience, a visualization, etc, of the story of their accomplishments and shortcomings (after all, a good story has ups and downs)
2) Allows users to better consume / understand the narratives of others - Often times, we consume the narratives of others we find interesting, inspiring, or that we feel good about comparing ourselves to.

So, to all those thinking about building apps the encourage people to change, think first about the narrative. Don't concentrate on dashboard view X, data input log Y, cool visualization V, or even game mechanism Z. Those can be part of the way the narrative is filled in, but if your idea of the narrative isn't compelling enough to your users, everything that comes before it isn't important.

For those asking what I'm up to with this new startup -- I'm building a narrative. One that I think people will be excited to do, even if they just do their same step counts every day. I'll be starting with the Fitbit at first. I think they have built the best device so far, and their API is all about getting people to add to the Fitbit experience. They do a few badges / challenge things themselves, but I'd venture to say that they're focusing on making the best device (and ease of use) that inspires a new wave of health related experiences. 

And now, back to work.