Friday, November 2, 2012

iOS Dev Center woes

Don’t you just love getting an Apple Developer email, clicking on the link to the web site, and having the site be down for several hours for maintenance? Come on Apple, you’re the masters of public relations and logistics in everything else — why can’t you coordinate your developer ecosystem a little better? 

Every year at WWDC you tell developers that you love us. Why not demonstrate that throughout the year?

Saturday, October 27, 2012

Designing for iOS 6: add a Default-568h@2x.png

If you’re updating an iOS app to support the 4” tall screen of the new iPhone 5 and iPod touch (5th generation), all you need to do is design an appropriately sized default image. This is in addition to the regular Default.png for the original 320 x 480 pixel iPhone screen, Default@2x.png for the iPhone 4 (Retina display), and any iPad default images if your app is universal.

The default image for 4” screens needs to be named Default-568h@2x.png. Its size is 620 x 1136 pixels. I’ve included a sample from one of my apps below.

Friday, October 26, 2012
When using NimbleKit 1.9.9 with Xcode 4.5.1 to develop an iOS 6 app, there is a minor bug in the default settings that you’ll want to check for. If you look at the Build Settings tab of the main project file, you might find (as I did) that the iOS Deployment Target is set to 4.0. The trouble is, an iOS 6 app is only backwards compatible to run on devices with iOS 4.3 or later. So change this setting to iOS 4.3, as shown in the diagram above, and then you should be fine. Not changing this setting will result in some build errors that, unfortunately in typical Xcode fashion, do not provide enough detail so that you can actually fix the problem.

When using NimbleKit 1.9.9 with Xcode 4.5.1 to develop an iOS 6 app, there is a minor bug in the default settings that you’ll want to check for. If you look at the Build Settings tab of the main project file, you might find (as I did) that the iOS Deployment Target is set to 4.0. The trouble is, an iOS 6 app is only backwards compatible to run on devices with iOS 4.3 or later. So change this setting to iOS 4.3, as shown in the diagram above, and then you should be fine. Not changing this setting will result in some build errors that, unfortunately in typical Xcode fashion, do not provide enough detail so that you can actually fix the problem.

Sunday, October 21, 2012
After working on an app update for iOS 6 and the new iPhone 5 and iPod touch (5th gen.), here’s a comparison of how it looks in the new 4 inch screen size (left) versus the former 3.5” screen size (right).

After working on an app update for iOS 6 and the new iPhone 5 and iPod touch (5th gen.), here’s a comparison of how it looks in the new 4 inch screen size (left) versus the former 3.5” screen size (right).

NimbleKit 1.9.9 now available

NimbleKit is now on version 1.9.9 which supports iOS 6 and the 4” screen size of the new iPhone 5 and 5th generation iPod touch.

Additional release notes:

  • Improved iOS 5 support
  • Dropped 3.x support
  • Orientation and video issues fixed

To download, visit www.nimblekit.com.

Note that I updated NimbleKit to version 1.9.9 after updating my Xcode to 4.5.1, which requires OS X Lion (version 10.7). Xcode updates are now obtained from the Mac App Store application. Please note that the download experience of an Xcode update is extremely poor; you do not get any visual confirmation of the download in progress. So if you think nothing is happening, rest assured that your download is happening in the background! You’ll know when Xcode is updated by going to the Xcode menu, About Xcode, to verify that 4.5.1 has been installed.

Saturday, August 20, 2011
Using SQLite with NimbleKit
I am excited to be working on an iOS project for a client that uses an SQLite database to store data locally on an iPhone, iPod touch, or iPad (note that this is also a universal app). The app is a mobile resource for pregnant mothers, and the screenshot above shows the Labor Log screen that allows her to record the frequency and length of her contractions before giving birth. This data, along with any comments, is stored right on the device; no internet connection is required.
For designers and developers with database experience, NimbleKit’s support of SQLite is fantastic. And at some point, I hope to share an expanded article about this topic and have my project collaborator explain how the database works (I’m not a database developer). Meanwhile, if you already know SQLite or have an interest in learning it, I hope this project example gets you excited about the possibilities of storing data locally in your iOS app!

Using SQLite with NimbleKit

I am excited to be working on an iOS project for a client that uses an SQLite database to store data locally on an iPhone, iPod touch, or iPad (note that this is also a universal app). The app is a mobile resource for pregnant mothers, and the screenshot above shows the Labor Log screen that allows her to record the frequency and length of her contractions before giving birth. This data, along with any comments, is stored right on the device; no internet connection is required.

For designers and developers with database experience, NimbleKit’s support of SQLite is fantastic. And at some point, I hope to share an expanded article about this topic and have my project collaborator explain how the database works (I’m not a database developer). Meanwhile, if you already know SQLite or have an interest in learning it, I hope this project example gets you excited about the possibilities of storing data locally in your iOS app!

Monday, July 25, 2011

MIMA Summit 2011: The Digital Decade

I am honored to be speaking at the 2011 MIMA Summit on October 12 in Minneapolis. The title of my talk is Learning from Luther: Mastering the Second Mobile Revolution. Hope to see you there!

Thursday, July 7, 2011
The Web is a cross platform solution that worked. We have argued that the Web was a huge reason that Microsoft lost its dominance, and the first “post PC” era was that of the Internet and the Web. It was at that point where life wasn’t just about Office and productivity apps. Google and Yahoo! and AOL and eBay and …. mattered more, and you could access them through a browser on any platform. As we see app dominance have a massive impact with the mobile ecosystem boom, we see people wondering if the Web can step up again. Sometimes people think that means a write-once-run-everywhere solution where you build a Web app that runs on a variety of platforms. This can work for some subset of applications. People love to pit “web vs. native”, but if you look at what is being bought out there, there is much more “native WITH Web”. FunctionSource: Cross Platform Leverage: Not about write once run everywhere, not about native vs. Web (via johnallsopp)
Wednesday, June 15, 2011
Designing a Universal iOS App with a Tableview Navigation, an article I’ve written for Peachpit.com.

Designing a Universal iOS App with a Tableview Navigation, an article I’ve written for Peachpit.com.

Tuesday, May 10, 2011
Two Apps Per Day will be in San Francisco for the beginning of WWDC! Join me on Sunday June 5 from 4-6 p.m. at the King George Hotel for two hours of discussion and demos about designing native iOS apps with Web Standards and the NimbleKit JavaScript API. Registration is free, but seating is limited to 20 people.

Two Apps Per Day will be in San Francisco for the beginning of WWDC! Join me on Sunday June 5 from 4-6 p.m. at the King George Hotel for two hours of discussion and demos about designing native iOS apps with Web Standards and the NimbleKit JavaScript API. Registration is free, but seating is limited to 20 people.