An iPad user tries a Nexus 7

Apple has always been really good at paying attention to the little details, the ones that make their products just that much better than anyone else.  I think people refer to this as being the “best”. 

I cam across this great post by Eric Sink detailing his experience with a Nexus 7 after having an iPad as an appendage since April 2010.  What I found interesting is his use and requirements are almost exactly like mine. I carry an iPhone but I rarely use it except for the occasional phone call or reading Twitter while standing in line somewhere.  

Google is starting to show how it pays attention to those details that really matter to us.  Things like a seamless integration between our devices and the parts of life we care about; calendars, email and photos.

9. Unsurprisingly, Android’s integration with my Google calendar is ridiculously good. On iOS, I use CalenMob Pro, which has sometimes been disappointing. With the Nexus 7, I feel like access to my calendar is fast and reliable. That is an unfamiliar feeling.

10. Ditto for Gmail. Very slick setup. It just works.

I like the Apple hardware still better but the Google hardware is getting better:

Judging the OS and its built-in apps, I gotta say I think Android might be generally better than iOS.

But third-party apps for Android, when they exist at all, are generally worse than their iOS counterparts.

In terms of overall quality of the hardware, the iPad Retina Mini wins. The Nexus 7 feels like quality, but the iPad is just better.

Overall, I am fairly impressed. And surprised (as usual). I can’t describe myself as “immediately hooked”, but I can say that I might stay with an Android tablet for longer than I expected.

Apple needs to pay attention. 

It’s becoming somewhat clear that Apple may be developing a few chinks in their armor.  Some people I know who have labeled themselves iOS developers in the past are gravitating toward Android.  I have been working with Android a bit more myself and spend some time with my Nexus 7 (first gen).  I don’t like it any more than my iPad Mini, it’s just too small for my eyes.  I like my full-size iPad Air but if we see a second generation Nexus 10, then I may give it a fair try.  The apps are getting better and although not all of my iPad apps are on Android, there are usually suitable replacements.  Maybe someday they will be better than their iOS counterpart.

Come on Google, give me the Nexus 10 V2

Vesper Quickly Becoming a Valuable Case Study

When I first heard about Vesper, a note-taking application for $4.99 that only runs on the iPhone, I was a bit skeptical.  Vesper comes from Q Branch, LLC and consists of some fairly high-profile people including: John Gruber, Brent Simmons and Dave Wiskus.  My gut told me these guys are leveraging their Internet fame to sell a lot of Vesper.  I believe my gut was very wrong.

The trio appeared on an episode of the Debug podcast and John discussed this very aspect of marketing Vesper.  He pointed out their fame would only take them so far and fame alone will not make this a successful product.  In order to build a successful business from Vesper, they would need much more. This was the turning point in my thinking and John was exactly right, they need to create a great product people will want and only then will they gain the momentum they want.

Since the release of Vesper, I’ve seen consistent discussion about the design and some of the decisions which went into its features.  We can all speculate on it, but fortunately the Q Branch team has been taking it further with a level of transparency we don’t usually see in a high-profile iOS application.

Vesper is an application we can all learn from, starting with design to the thought process of feature implementation.  The team is doing a great job of helping us see their process from detailed design discussions to open sourcing code they use.  I hope they continue the level of transparency with the dialogs they have, I know I personally address they questions myself and often times don’t have an echo chamber to help me out.  I often look at a good application and wonder how or why something was done.

Here are a few of the nuggets of information we don’t usually see, but are so valuable:

How to Make a Vesper: Design - a great view into the history of Vesper design discussing all the different aspects of what goes into design.  Each aspect of the application design is discussed, what made it in and what did not. 

Vesper is opinionated software. Every interaction, pixel, and line of code was carefully considered, and no work was too precious to throw away. I’d like to share some history of how Vesper came to look and feel the way it does. 

You can learn a ton about design, especially if you are not a designer and may not be aware of all the things needing consideration when building a beautiful application.

Open Source: DB5 – at times it becomes difficult to effectively work with non-developers on a project and collaborate in a positive way.  DB5 is a simple idea solving a common problem in an elegant way.  The Vesper team releases their tool to everyone who may face a similar problem.  It’s open source so anyone can make it even better.

Brent Simmons Gists – a nice collection of code from the Vesper developer, someone who is a very experienced Objective-C developer. 

Technical Notes on Vesper’s Full-Screen Animations – a detailed look on animations, comparing the standard way most developers do it to how they did it with the logic behind the decision making.  This is how a regular application can be outstanding, paying attention to these kinds of details reveals the difference between an artist and a laborer.

How should you handle beta testers for you application?  Lots of ways to do it but this is how Vesper does it as explained by Brent Simmons.  Being very open about the tools that worked for a particular style and project is always very nice to know.

No developer is proud of a bug in their creation and most of us go to great lengths to hide the fact that they exist.  It’s only human nature to not want others to know we have failed in some way.  Not surprising, the Vesper team is open about this aspect too

Here’s a bug in Vesper. You can reproduce this easily.

  1. Start dragging a note from right-to-left to archive it.
  2. Before you let go, take another finger and tap the hamburgrabber button in the top left to open the sidebar.

Note that the sidebar opens and the note is still in a partially-dragged state. That shouldn’t be, but I didn’t think of it when I was writing the code.

You can figure out why the bug exists. When I’m writing a feature, I don’t necessarily think of all the interactions with all the other features. I try to, but it’s easy to get overly-focused.

I bought Vesper *because* of the openness of the team and I want to witness the evolution of this application.  It’s refreshing and rare to be told a story you can witness about the crafting of a product.  The Vesper story is just that, the story of crafting a great application.  We are often pushed or expected to be producers, our parents and grandparents were the crafters of our time, proud of the things they created.  It is time we show that we are crafters too.

The openness and transparent style of the Q Branch team seems like a winning approach.  It will at the very least continue and grow the discussion of their application.  If people are talking, they are probably buying…like I did. 

Let’s hope for more thoughts and reasoning from these guys in the future.

Getting Started Resources for Mac and iOS Developers

Are you just getting started with Mac or iOS development?  Maybe just trying to improve what you know?  Here is a great resource from Dave Mark.  Everything is covered including blogs, conferences, forums and official Apple documentation.

I went looking for a reasonably recently updated list of dev resources to link to from the article. Couldn’t find one I was happy with, then remembered that we included a pretty solid list at the end of the book Beginning iOS 6 Development. Since that list needed to be updated for the iOS 7 rev of the book, I thought, why not pop the list into a blog post. And here we are.

At its core, programming is about problem solving and figuring things out. It’s fun, and it’s rewarding. But, at times, you will run up against a puzzle that just seems insurmountable—a problem that appears to have no solution. In those situations, it’s good to have friends in high places. This post outlines some resources you can turn to when you’re in a bind.

So add Resources for Mac and iOS Developers… to you reference list and be sure to check out the post comments for some other great resources.

Dave also has a great list of developer tools as well, Dave’s List: Apple Dev Tools…


Vesper – The First App for iOS 7

01 Hero

I’ve been spending a fair amount of time with Xcode 5 and iOS 7 lately.  I can’t mention specifics, but I can say it’s a direction I am very happy to see.  There are a lot of good things happening in there.

Charles Perry points out how Vesper, the note taking application for your iPhone, is a  window into what users can expect from design in iOS 7:

As it turns out they were right on the mark. This style of clean, edge-to-edge design that emphasizes content and deemphasizes the interface was exactly where iOS 7 was headed. As Jony Ive explained in the WWDC keynote address, “In many ways, we’ve tried to create an interface that is unobtrusive and deferential. One where the design recedes, and in doing so actually elevates your content.” And that’s exactly the effect we see in Vesper. Without toolbars, without even separator lines between table view cells, Vesper draws users’ eyes to the content so they can quickly access their information and be on their way. This deference to content is going to be a hallmark of iOS 7 design and will be something for all developers to keep in mind as they plan for the future.

Charles has some really good observations that point out the parallel between Vesper and what users can expect in iOS 7 when it arrives in the fall.  Considering who is on the Vesper team, I wondered how much they knew about iOS 7 redesign while putting Vesper together.  I’m not the only one:

With so much of iOS 7′s new design anticipated by Vesper, it’s natural to wonder how much of this is coincidence. Did Q Branch get tipped off? Or is this just a matter of great minds thinking alike? Who knows. With this group of characters, it could be either or both. Ultimately, though, it doesn’t really matter. What matters is that now we all can see the new direction that iOS is heading. We know that in iOS 7, content is king. We know that in iOS 7, color and animation are more important affordances than ever before. And thanks to Vesper, we now know that it’s possible to combine these traits of iOS 7 to create a unique app that retains an individual identity while at the same time fitting into the rest of the iOS 7 ecosystem. If you’re one of the many now thinking about your own app and its transition to iOS 7, I suggest that you consider what lessons you can take from Vesper. It’s a great app, but I think we’ll soon see that it’s a great iOS 7 app as well.

I don’t use my iPhone enough to make a commitment to Vesper but an iPad version would be a quick purchase.  Of course the $4.99 price tag might be a cheap investment to learn a bit about design.

Talking about Building iOS Application on The Tablet Show Episode 85

I was a guest recently on The Tablet Show with Richard Campbell and Carl Franklin, to talk about iOS development, client projects, API’s with Ruby on Rails and creating applications with interactive back ends.

I think it turned out pretty well but I really can’t stand listening to my own voice, so please give it a listen and decide for your self.|remaining=yes|titles=Rob

Thanks to Richard and Carl for having me on the show.

More Great iOS Developer Podcasts

Podcast RSS

I subscribe and listen to a lot of podcasts.  I wrote about some of my favorites before, 7 Great iOS and Mac Developer Podcasts to Learn from Today, and I wanted to share some more today.


Hosted by Myke Hurley, CMD+Space is a show with interviews various independent Mac and iOS developers from the perspective of running their businesses and how they got to where they are today.

So many developers go independent all the time and could use some solid guidance.

CMD+Space is on then 70decibels network which hosts many other shows that you might find interesting.


Hosts Guy English and Rene Ritchie have been running this podcast for the past few weeks but it quickly became one to get sync’d to my iPhone for listening while driving or daily walks.

Debug is also an interview show with well-known Mac and iOS developers.  As often happens while I listen to interviews various questions come to mind that go unanswered, not the case here.  These guys seem to ask the questions I want answered.  Coincidence?  Most likely but the great questions result in solid advice.

Identical Cousins

Hosted by Michael and Brent Simmons, they discuss various topics important to Mac and iOS developers who are mainly independent but also those gainfully employed at companies large and small.

I stumbled across Identical Cousins while listening to another podcast, which is often the case.


This podcast is a bit different with a focus on the design side of mobile development for Mac, iOS and Android applications.

Iterate is hosted by Rene Ritchie and others.  Rene seems to be a repeat name here and other podcasts including MacBreak Weekly.

31 Great Days of iOS

It’s been a while since I had the time to post anything but I wanted to share this great summary post by Chris Risner of the Microsoft Azure team where he is focused on mobile.

Chris blogs each day in January about a specific topic iOS developers may face in their applications.  The post is titled 31 Days of iOS and each post is a detailed tutorial on a specific topic that day.  

Day 1: Getting set up for developing for iOS
Day 2: An inro to Objective-C
Day 3: Creating your first iOS App
Day 4: Working with Multiple View Controllers and Storyboards
Day 5: Programmatically showing View Controllers
Day 6: The Delegate Pattern
Day 7: Making Network Requests
Day 8: Performing Posts and Setting Request Type
Day 9: Handling Text Input
Day 10: Singletons and the AppDelegate
Day 11: Saving Data using NSUserDefaults
Day 12: CoreData
Day 13: The TableView
Day 14: The UIWebView
Day 15: Connecting to Built-In Apps
Day 16: Handling Device Orientation
Day 17: Using the Debug Console
Day 18: Opening your App from a Link
Day 19: Showing the User’s Location with Maps
Day 20: Displaying Info with Maps
Day 21: Using the Camera
Day 22: Using the Gallery
Day 23: Using Background Threads
Day 24: The View Life Cycle
Day 25: The Application Life Cycle
Day 26: Setting up Push Notifications
Day 27: Sending and Receiving Push Notifications
Day 28: Activity Indicators
Day 29: Advertising with iAd
Day 30: Adding Analytics to your Apps
Day 31: Submitting your App to Apple

Chris is speaking at CocoaConf DC in March, in case readers are planning on attending.  I will be there.

Work Hard, Work Smart and Don’t Play the Lottery

Helpful apps

The New York Times had a great article this past weekend titled As Boom Lures App Creators, Tough Part Is Making a Living.  As the title indicates, the life of a mobile developer is not often the glamor we hear about.  The million-dollar jackpots are few and far between and are more difficult now than in the early days of the Apple App Store.

The article chronicles the two very different levels of success; one, Ethan Nicholas who created the iShoot game and made over $1 million in 2009.  The other part of the story is a couple who worked full-time on a handful of applications focused on children.

It saddens me when I see smart people treating the app store akin to The California Gold Rush; same state and the same dreams of getting rich and too often a very similar outcome:

The Grimeses’ quest cost them more than $200,000 in lost income and savings. So far this year, their eight apps have earned $4,964. When the newest iPhone came out at the end of September, the couple immediately bought two. 

I can attest to the same experience as the couple who lost it all.  I didn’t let it go that far but having an idea, creating an application over a couple months and receiving very little return for my efforts…followed a similar path.  In hindsight, I shouldn’t have been surprised. 

The app store is stocked with so many applications it’s almost impossible to stand out in the crowd.  Unless you are well-funded and can afford a lengthy and costly marketing campaign you will likely be cast to the abyss that is the app store.  Those lucky few will be selected by Apple to be promoted on the store, to be glorified in iTunes and will go on to nice rewards.

This is not the path a smart business person should travel.  Developers are smart, we work hard and just want to be rewarded for our efforts.  It is because we are smart that we should step back and think about the path of one-time customers greedily parting withe their $2.99, $1.99 or, I shudder to say, their $0.99.  We can’t support our families with these measly morsels.

Creating applications for iOS and Android are fun and very rewarding but these platforms should not be the island for your application.  The people building businesses in this space today should be cleverly thinking of ways to monetize their idea without the goal of hitting gold but rather building on a customer base willing to keep giving you money.  How many applications can someone create, sell for $0.99 and get a lifetime return of $5,000…if you’re lucky?  This is not even breaking even, it’s a really weak business model.

The better approach is solving real problems for someone who is willing to give you money to ease their pain and continue this on a regular basis.

Refer back to Ethan Nicholas and the direction he has taken since his million-dollar application idea:

Mr. Nicholas and a friend, Brent Miller, were inspired to form a company. “We were going to make another million or two,” said Mr. Miller, 38. But when none of their new games sold like iShoot, the pair moved in an entirely new direction. They founded echoBase, a start-up with 14 employees that is developing apps to allow doctors and nurses to view and update medical records across different computer systems. They brought in Mr. Miller’s father, Rod, a former I.B.M. sales manager, as chief executive.

This is an example of a solution to a real problem, making the life of doctors better and at the same time providing accurate and reliable care to the patient.  The application is free on the App Store but it’s very clear in the description that a server piece is also needed.  I am sure THIS part is not free.  This is someone who has made it in the App Store but realizes it’s not easily reproducible.  This should be the type of applications we are creating, ones that create a revenue stream for developers but also add real value to users. 

An organization like echoBase has iOS client software and some generic server piece which opens the doors to using other clients as well.  Anything from Android and Windows RT to web and rich Windows Desktop apps.  

The Apple App Store is very different today than it was in 2009 but it still holds great value to the people who are smart and don’t try to play the app lottery. 

Great Companion eBook for Stanford iPhone Course

CS193P 225x225 75

The Stanford University course for iPhone Application Development (CS 193P) is a really great course and one all new iOS developers should check out.  

Daniel Steinberg has recently released a companion text for the Stanford course under his Editor’s Cut series:

This is the official companion text for the popular iTunes U series from Stanford University taught by Paul Hegarty in Fall 2011. The book is full of code examples and animated walkthroughs designed to teach experienced programmers how to write iPad and iPhone applications.

The book is available from the Apple iBookstore.  The only downside of this book is that it’s only available in the iBookstore from what I can tell.  Which means, I have to read it on my iOS device not on my Mac where I might be coding.  Come on Apple, get with the program here.

If You Attend Only One Conference, Make It CocoaConf

Cc logo

I recently had the chance to attend CocoaConf DC in Herndon, VA, June 28-30 at the Crowne Plaza Dulles.  Unless you have been living under a rock, you have heard of CocoaConf but for those that haven’t, CocoaConf is a small, focused iOS and Mac developer conference.  The idea of CocoaConf is to be small, intimate and come to you.  Conferences such as Apple’s WWDC are huge (5000+ attendees) and it costs people a small fortune between conference ticket, travel, lodging and food.

CocoaConf is different in that it happens multiple times a year in a different city, closer to people who want to attend but don’t want to spend the big dollars for travel.  The regular price of $600 (after early-bird of $450)

Conference Organizers

The people behind conferences are usually the ones that make or break the experience.  Sure one can say it’s the sponsors or even the attendees but without good organizers, it just doesn’t work.

The conference organizers for CocoaConf really did make the conference a real pleasure.  The unusual things about the organizers, they are a family.  A single family headed by Dave Klein and his outstanding children of varying ages.  From Dave’s Twitter profile he says he is:

Christian homeschooling father of 13. Author of Grails: A Quick-Start Guide.

And they homeschool; impressive indeed.  I’ve ever seen this before.  I have seen friends and associates but never a family.

The Klein family did a fantastic job of running this conference, well organized and very attentive.

The Venue

Although the conference is touted as being in Washington DC it is really in Hearndon, VA.  It seems all the VA towns near DC consider themselves part of the city.  

The conference was held at the Crowne Plaza Dulles. I have attended a few conferences at a Crowne Plaza and they always please.  They really are a conference center and do a fantastic job of taking care of both guests and attendees during the conference.  

I have to say the food during the 3 days was the best food I have seen so far at a conference.  Each day included breakfast and a huge hot lunch in buffet format with food for each palette and eating disorder, er I mean eating selection.

The discounted room rate really made a big difference as well.

Pre-Conference Tutorial

Chris Judd taught an awesome iOS Tutorial on the day before the official conference started.  I was fortunate enough to be able to attend and learned a bunch along the way.  I wanted to pick up some tips, especially for Storyboarding, and it was well worth it.  I was exhausted after this intense day.

session 1:

  • Basic Xcode/Interface Builder
  • Creating iOS Projects
  • Running in Simulator

session 2:

  • Objective-C Primer
  • View Controllers

session 3:

  • Storyboarding
  • Creating Universal Applications

session 4:

  • Table Views
  • Data Storage with focus on Core Data

session 5:

  • Camera

session 6:

  • Core Location/MapKit

Even if you are an experienced developer, take this day of training because you will have an audience to ask questions of and learn some things along the way.

It was great that we were kept busy and having an NSCoderNight was awesome. I  have always wanted to attend one of these hacker nights but none exists in our area and hadn’t had a chance while traveling.  It was a great time with people just sitting around discussing iOS and Mac development along with other aspects of their business or job such as supporting Android with a big application across many handsets.  Good content.

Conference Sessions

The session list for CocoaConf was long and consisted of a who’s who of the Apple developer community, including Daniel Steinberg, Chris Adamson, Mike Ash, Mike Dalyrmple, Chris Judd, Saul Mora, David Smith  and other great local speakers..  The topics covered a large array of topics with an audience ranging from beginner to experienced developer.  

When attending conferences I try to pick the sessions that I can’t normally find the information easily online.  These are usually topics that are experience-based or deep topics that are make digestible by the speaker.  Sessions that exemplified this:

  • Enter the Matrix by Mark Pospesel – this was my favorite talk and really let me see the power of the iOS framework.  It was all about 2D and 3D graphics with transformations, scaling and rotations.  Mark really knew his material here and showed it with the demo application he created for the talk, it showed off all that the framework could handle as well as how good of a developer Mark is.  Great talk.
  • iOS Computer Vision by Jonathan Blocksom – this talk also exemplified how the iOS 5 SDK and OpenCV libraries can extend what we can do with applications today and use augmented reality to create some really crazy applications.  The augmented reality demo was mind blowing.
  • The Wonderful World of Text by Chad Sellers – handling text in iOS or Mac application is not something that gets a lot of coverage but lot of apps do it.  Chad is the owner of Useful Fruit Software and creator of Pear Note for the Mac and iPad.  Both apps make heavy use of text and we got to see some experience with text while making his products.  Great guy to speak with as well.
  • Getting to Know Core Data by Whitney Young - this sounds like it might be a beginner’s talk but it wasn’t.  Whitney uses Core Data daily and knows it really well.  He gave attendees the real insight into using Core Data with iCloud and what is possible and what Apple tells us.  Very insightful and valuable content.

There were 3 tracks and a total of 30 sessions and a keynote on Friday evening giving us knowledge until 8:00pm.  After the first two days, my brain was truly mush and I was very exhausted. 


One of the reasons I like to attend conferences is because of the other attendees I meet.  I always find the story of others interesting and inspiring.  

I met a lot of people and made many new friends all from different skill sets and walks of life.  I heard many stories of application success and some failure.  There were people who had been writing Objective-C since the early days while others just starting out.

It’s also inspiring to see young people finding enjoyment in coding.  Conferences don’t seem to attract young people but at CocoaConf there was one exception.  A young developer who came all the way from Texas to join the fun and learn.  He was 14 years old and already had 5 application in the Apple App Store. Quite an accomplishment with the demands of school today.   He was very well-spoken and a pleasure to talk with.

This conference is small, 80 attendees or so. You can almost meet every person if you try over the 3 days.


I really had a great time at this conference.  I have attended many conferences over the years and the combination of the great group of organizers, venue, content and the attendees, made this the best conference I’ve attended.  I would certainly recommend this to others and I will return to another CocoaConf.

Did I mention the swag?  T-shirt, logo’d notebook and pen, bag and an awesome coffee mug.

IMG 0452

CocoaConf is not an annual conference but is run many times over the course of a year in a various cities, making it easier for you to attend.  The next city is Columbus, OH, August 9-11 and future cities with unannounced dates are Raleigh, NC and Portland, OR.

The only thing I would change or add to this conference is recording of sessions.  I know it’s expensive and some speakers don’t want it but it would help overcome the tough choice of which session to see in a multi-track event.  It’s minor, but would be nice.