January 27, 2010 Apple Media Event

•January 27, 2010 • Leave a Comment

You know there are exciting changes when the iPhone Developers Connection is unavailable! iPhone OS 4.0 here we go! Whooot!

Apple iPhone Developer Connection unavailable

iPhone Tech Talk World Tour: New York December 1, 2009

•November 10, 2009 • Leave a Comment

I just received email notification this morning that my registration request for the iPhone Tech Talk World Tour in New York on December 1 was accepted! I am glad to have been accepted especially since face time with Apple engineers is always invaluable. I was lucky enough to attend the first iPhone Tech Talk: Safari on iPhone in October of 2007 in Boston which of course was pre-SDK. I did not learn about the iPhone Tech Talk World Tour in 2008 early enough to get in unfortunately. This year I received confirmation that Apple had received my registration request 18 minutes after I received the initial email from Apple notifying me of the event. So I’m looking forward to this event and hope to see you there!

Speaking at NYC iPhone Software Developers MeetUp group on October 28

•October 25, 2009 • 1 Comment

I will be speaking at this month’s meeting of the New York City iPhone Software Developers Meetup group on October 28. I will be speaking on “Concurrency Using Operation Objects and Blocks on the iPhone”. Hope to see you there!

Concurrency using NSOperationQueue, NSOperation, and NSInvocationOperation on iPhone OS

•October 10, 2009 • Leave a Comment

Some of the new technologies that most impressed me after attending WWDC 2009 were Grand Central Dispatch (GCD), OpenCL and Blocks. For developers needing to make their applications more performant through concurrency GCD allows developers to look at their application in terms of work units or blocks and how that work might be achieved through queues. It isn’t too far a leap to wonder whether these technologies might be coming to the iPhone in the future. And if they are coming to iPhone OS how can iPhone developers start to take advantage of those technologies now? In June when I had to submit a topic for my talk at 360iDev Denver I thought that this would be good to talk about since operation objects and queues were introduced in Leopard and are available on the iPhone. Using the operation objects NSOperationQueue, NSOperation, and NSInvocationOperation are the easiest way to start learning about Grand Central Dispatch. And using operation objects and queues may allow iPhone applications to take advantage of these technologies and multiple cores when they appear on the iPhone. At the very least it allows concurrency to be achieved in current iPhone applications through a higher level of abstraction than Coca threads. Taking into consideration Apple’s purchase of the chip design firm P.A. Semi in 2008, want ads for OpenCL engineers from Imagination Technologies, the availability of an implementation of blocks for iPhone OS (PLBlocks by Landon Fuller), and ARM’s announcement of the Cortex-A9 dual core chip in mid-September my prediction is that these technologies will appear first in the rumored iTablet device coming in early 2010 followed by a dual core iPhone in mid 2010. Time will tell and only Apple knows.

My presentation Using Concurrency To Improve Responsiveness of iPhone Applications at 360iDev Denver focused on operation objects. During the course of developing the demos for my talk I discovered bugs in the documentation. First, the class reference for NSOperationQueue states that the KVO-compliant properties include operationCount and name. They do not. After trying to determine if it was something I was doing wrong in my application I looked at the header file for NSOperation on iPhone OS 3.0 and 3.1 and on Mac OS X 10.6.1 and it was apparent that it was never implemented for iPhone OS 3.0 and 3.1. It had been discussed at WWDC as an optimization for Snow Leopard but the documentation led me to believe that it was available on the iPhone as well. I filed an enhancement request (radar #7293124) and also provided feedback to correct the documentation. The second issue with the documentation is that it is very easy to become confused when trying to understand Concurrent Versus Non-Concurrent Operations. The bottom line is that nonconcurrent operations (where the KVO property isConcurrent returns NO) execute asynchronously since the operation queue on iPhone OS creates a separate thread on which to run the operation. Concurrent operations (where the KVO property isConcurrent returns YES) on the other hand execute on the current thread because you have determined how you want to handle concurrency in your NSOperation subclass. Note that on Snow Leopard operation queues use GCD and both concurrent and nonconcurrent operations are launched from a separate thread. I’ll upload the demo code that are a part of the presentation in a few days. Have fun with operation objects!

Post-WWDC thoughts — User Interface Design, Internationalization, and Entrepreneurship and 360iDev Denver September 27-30th

•August 27, 2009 • 2 Comments

I gave a brief presentation on my post-WWDC 2009 thoughts entitled “User Interface Design, Internationalization, and Entrepreneurship” to the NYC iPhone Software Developer’s Meetup Group on June 22 which can be downloaded here. These three topics cover a lot of ground but I chose them as the result of:

  1. attending sessions with guest developers such as the development teams of Things from Cultured Code and Convertbot from tapbots;
  2. lunch time talks by Dr. Ge Wang creator of Smule and Neil Young co-founder of ngmoco;
  3. talks at the Cocoaheads meeting at the Apple Store by Joachim Bondo creator of Deep Green (a chess game), Dirk Stoop from Sofa on going indie, and a great talk on selling software by Will Shipley dressed formally in a tux;
  4. and talking to fellow iPhone developers.

Sure the new 3.0 APIs are important but without spending at least as much time (if not more) on creating a great user experience, internationalizing your app to take advantage of Apple’s world wide distribution mechanism, and learning about different aspects about being an entrepreneur your app may not sell as much as it could. It’s impossible to do these three topics any justice in a brief talk but I thought it would at least give those who couldn’t make it to WWDC one man’s partial take away thoughts.

I expect the upcoming iPhone developer conference 360iDev Denver to provide all of us with knowledge not only of iPhone APIs but with ideas on:

And that’s only a fraction of the sessions you can choose from! If you are going make sure you register for 360iDev Denver before prices go up on September 1!

Speaking at iPhone Developer Conference: 360iDev Denver September 27 – 30th, 2009

•August 21, 2009 • Leave a Comment

I will be speaking on “Using Concurrency to Improve the Responsiveness of iPhone Applications” at the 360iDev Denver iPhone Developer’s Conference September 27th to 30th. I’m excited about speaking at and attending 360iDev. Whether you’re new to iPhone programming or have been doing iPhone development for a while there’s something for you at 360iDev. With sessions covering game development, going indie, design, marketing, legal issues, location aware applications, MapKit, performance, debugging, push notification, Core Data, Core Animation, internationalization of your application, code reuse, NewsGator, Rails, OpenGL ES, WebKit, user experience, or porting your iPhone application to other mobile platforms there is a session for you. With a keynote by Matt Drance and the opportunity to talk to Mike Lee about your code it promises to be a conference not to be missed! Register before they sell out and hope to meet you there!

WWDC 2009 Tuesday Evening: Stump The Experts

•July 6, 2009 • 1 Comment

Stump The Experts audience at WWDC 2009

One of the great pleasures I’m sure for many WWDC attendees is the evening event Stump the Experts. As you can see from this official Apple photo everyone in the audience has a great time including me! Stump the Experts is the no-holds barred annual game show pitting Apple engineers against the audience. Stump the Experts has been co-hosted by Fred Huxham and Mark Harlan since 1992. StumpTheExpertsFred wore a Dr. Seuss “The Cat in the Hat” hat and Mark wore a gray and white camouflage suit topped by a green and white umbrella hat. The score is kept by “The Crazy Swiss Guy” Sandro — a WWDC attendee from Switzerland. The audience wins points by naming the songs played before the game starts and stumping the Apple engineers with their pre-show submitted questions. The experts can also ask the audience questions and can even cheat when they answer questions! Fred Huxham and Mark Harlan deserve a lot of credit for their willingness to appear silly in their costumes and being such great hosts. And the Apple engineers deserve a lot of credit for their participation and helping to make it a great evening of entertainment. Thanks to all the Apple Experts! The experts won this year. I have never laughed so hard at a conference event so I’ll be sure to attend again next year!

Post-WWDC 2009 Early Monday Morning: Reflections About Lining Up For The Keynote

•July 5, 2009 • Leave a Comment

My goals at WWDC were simple — learn as much as possible, network and meet fellow developers, and to enjoy the whole WWDC experience. For some of us part of that experience is to line up early for the 10 AM keynote. Lining up at 7 for a 9 AM conference keynote I’ve done before. But lining up at 5 AM or earlier? No way — that’s only reserved for rock stars or World Series tickets or so I thought! Well, as the saying goes — in for a penny, in for a pound. So for the full WWDC experience I thought I would go for it. Lining up at midnight was too extreme for me  even though I’ve read that some developers do just that. A more “reasonable” approach I thought would be to get up at 4 AM and join the line around 5 to see how many of us were nutty enough to  do  this.LineAt504AM  At 5 in the morning there were enough of us lined up one to  two  abreast to cover one side of the Moscone West building.




 At about 5:30 AM there were still no Apple employees inside the hall that I could see. WWDCEntranceHallAt524AM When an  Apple employee came by later to compress the line and asked  us to  count off I was number 173 (or 193 I forget which).




DudneyAndLaMarche As it got lighter around 7 I saw Jeff LaMarche stop by to say hello to Bill Dudney who  was closer to the beginning of the line than I was. So I guess I wasn’t that  crazy!





FrontOfTheLine Around 8 AM we were admitted to Moscone West and this is the view to the  beginning of the line on the second floor.





BackOfTheLine And this is the rest of the line behind me.






MovingUpToKeynote And finally around 9:40 we were allowed to move up to the keynote on  the third floor.




Would I do it again? Yes I would! You get to meet other developers, talk to a few vendors as they ply the line, and watch the sun come up. After all it is part of the WWDC experience!

WWDC 2009 Videos and Slides Are Available!

•June 29, 2009 • Leave a Comment

Wow! It must be a record —  the WWDC 2009 videos and slides are available via ADC on iTunes for attendees and ADC Premier members!  Apple deserves kudos for getting this out in what must be record time. Thank you Apple!  🙂

To Help Create or Recreate That Special WWDC 2009 Feeling

•June 15, 2009 • Leave a Comment

One of the things that I enjoyed about the JavaOne Conferences over the years was the music played at the conference. In the morning live musical performances were played before the kickoff mini-keynote hosted by John Gage (Sun Microsystems’ former Chief Researcher and Vice President of the Science Office) and other Sun executives. Music was also played between sessions. The music was always lively and upbeat and was a welcome addition to the silent sounds offered by developers drifting sleepily in. The music was vibrant and mood setting. While WWDC did not have live music each morning followed by a mini-keynote they did play music between sessions which I enjoyed. So if you were not able to make it to WWDC or want to recreate that WWDC feeling here is a very short playlist of some of the songs that were played:

The Bourgeois Blues, Ry Cooder
That’s Not My Name, The Ting Tings
So What, P!nk
Circus, Britney Spears
Stir It Up, Bob Marley / The Wailers
Don’t Stop Believing, Glee
Just A Friend, Biz Markie
Porcelain, Moby
A Mhuirnin O, Clannad
Colorado, Nortec Collective
Bar Infierno, Nortec Collective
Wonders Never Cease, Morcheeba
Low Sun, Chicane
Another Postcard, Barenaked Ladies
Tell Me Why, Los Lonely Boys
Rich Girl, Gwen Stefani Feat. Eve
Wonderful Night, Fatboy Slim
Black Horse…Cherry Tree, KT Tunstall
Lift Me Up, Moby
This Fire, Franz Ferdinand
I Don’t Want To Be, Gavin DeGraw
Times Like These, Foo Fighters
Heaven, Los Lonely Boys
Ghosts In My Machine, Annie Lennox
To Get Down, Timo Maas
Feel Good Time, William Orbit / P!nk
Whip It, Devo
Working On It, Chris Rea
All Along The Watchtower, Jimi Hendrix

Now you can queue these up to play on your favorite iPod and create or recreate that WWDC excitement while you work!