Pinch Media posted a slide deck covering 30 Million application downloads. It covers what it takes to get into the “Top 25” (20,000/day), App Usage (4% after a month), free vs. paid app statistics (6 free to 1 paid) and how to make money advertising in your App. There are many details in the 33 pages of the presentation so if you’re interested in this stuff go have a look. (Unrelated Note: The Google Group is up to 488 members today.)
May 9, 2009
May 8, 2009
I am following the #CS193P tweets and today one came up with a link to a Japanese blog called “Tomute’s Notes” following the class. It was fun to poke around (Google translate works well). He has good code examples for the Poly and Presence assignments. The Stanford iPhone class is spreading around the world! Edit: Tomute’s author tweeted me and suggested another blog (blog.seiji.me) as a very good CS193P reference.
Posted today on the TUAW website: “According to an email sent to developers, “Beginning today, all submissions to the App Store will be reviewed on the latest beta of iPhone OS 3.0. If your app submission is not compatible with iPhone OS 3.0, it will not be approved.” ” This change seems to make sense from the iPhone User point of view so it seems to me that it is a good change.
May 7, 2009
While working on Presence #2 I hit the stage where sending -initWithName messages to my Person class was causing the warning during compilation “warning: “Person” may not respond to ‘-initWithName:displayname:pictureUrl:timeline:’ Messages without a matching method signature…”. Then when the code ran it threw an exception. It took 20 minutes for me to figure out why (I know – dumb me). I had typed “displayname:” and not displayName:” . If you see this warning look for typos and fix them before actually trying to run your application. I post this entry so as not to forget this lesson.
I also set my default editor font up from the default ’10’ size to ’12’ after this so I could more easily “see” small errors like this. You do this in the Xcode>Preference..>Fonts&Colors window.
May 6, 2009
Many of us are struggling to use the Interface Builder to do the Presence #2 assignment. Pragmatic Studio has an excellent video tutorial which builds an application with Custom cells and a shared data object to populate them. This is pretty much a Presence #2 walk through! Watch this one before you start the assignment.
When I start each assignment I find it takes an hour or two of searching and reading documents to figure out the basics of the new concepts to get some sample code going.
I have now added reading the TwitterUsers.plist to the JSON code from May 5th. I think this will help you get going. It is my -viewDidLoad code which reads the plist and goes to Twitter. Output is via NSLOG.
There was a one week MIT iPhone class in January 2009. The website is still up with the lecture notes and code samples. It covered pretty much what the Stanford class has so far but used the Intuit web platform for the web application. Its worth a look if you want another take on the iPhone course topics and some code to look at.
May 5, 2009
The instructor of the NYU iPhone class posted to our Google Group a link to their Demo day. There are lots of interesting ideas (iQueue, Pet Wars and iCompose are my favorities).
I wrote a little Demo program to figure out JSON and the Twitter API. This may also help you get started. I did it as follows (assuming WordPress does not mangle it)
1. Start an Xcode “File>New Project” using the iPhone OS-“View-Based Application” as the template.
May 4, 2009
I added cocoawithlove.com to my links today. Matt Gallagher has detailed complete examples with code that take you from using Cocoa and Cocoa Touch features in a basic way to making use of it in a really professional way. His latest post is on adding color and graphics to UITableViews. I included a small screen shot from his site to give you an idea of the difference this makes.
May 3, 2009
Starting to figure out the Presence 2 assignment and I got interested about JSON and the Twitter API (I knew nothing about them before they came up in class). I found the Twitter API page which has example URLs to click on.
Firefox kept popping up the “what program to use” dialog and I did not have any program to parse and nicely display the returned data. I searched in Firefox addons and found JSONView 0.1 and now when I click on the sample API links I get easy to read JSON in the browser. Neat!
I completed extending the first tutorial to include: adding Tags to buttons; passing data from the first screen to the second screen; loading images dynamically; and loading text dynamically. You need to go through the first tutorial to get to where I start with this one. It is not an exact Presence 1 (they don’t want us posting those) but it does all the things you need to know how to do to get the assignment done. I hope these two tutorials help you and I would appreciate feedback on corrections and hints for improvements. I will also post the two .png files I used.
May 1, 2009
It’s hard to believe but the Stanford iPhone class is half way done. I completed the Presence #1 assignment today by adding Image loading, Updating Text labels and Passing the Tag from the List screen buttons to the Detail view. I started with the end result of my first Tutorial so I will add a second Tutorial with these changes. There are now 389 members of our Google group! (more…)
At the 5:20 mark in lecture #9 Evan talks for 5 minutes about two problems in assignment #2 and #3 much discussed in this group …
1. Calling a method does nothing -> Your object is probably still = nil. A message to a nil object won’t fail and won’t do anything. He suggests using NSLog or the debugger to track this down.
2. IBOutlet variables are set up in IB but are nil in your code -> Evan reminds us that the Nib loading is “lazy” and not to use these variables in -init. Put code for these variables in -viewDidLoad (usually just called once after load of Nib) or -viewWillAppear (called before the view is displayed like during the pushing and popping of views with navigation bar). I had exactly this problem when I did the Presence 1 assignment. I put the view update code right after where they set the Title in the -init method and it did not seem to do anything.