Working with Core Data has been an interesting experience. It's safe to say that none of it worked like I thought it should out of the box. Once I completely digested the documentation it was easier to get my head around some of the concepts. Hopefully I'll get an example application up shortly. Finding any examples that used Core Data with NSFetchedResultsController and background fetching proved to be very difficult.
Lessons learned:
1.) Not thread safe -> merging MOC's, and passing object id's is critical
2.) Locking the persistent store when background fetching is a life saver
3.) NSFetchedResultsController isn't perfect and took a lot of massaging
4.) Don't ever pass MOC's and you'll be better off for it with cleaner code and design
5.) Keep a designated read MOC on view controllers for listening, write to new MOC's, then merge changes into the read MOC on the view controller is my preferred methodology
Friday, September 18, 2009
Wednesday, September 9, 2009
iPhone Gaming
I really didn't mean for this to become an iPhone blog, but GameLoft have just released two games that have really blown me away. Modern Warfare: Sandstorm and Blades of Fury. Unfortunately both are knock offs of other IPs, but they did a superb job with both titles.
As the quality of software and even games improve it will help establish a greater trust in mobile computing. Hopefully more trust will equate to a greater need. Point in case, I can't wait for Madden, FIFA, and Doom.
Update: Even despite a hard crash bug in Dungeon Hunter, I would still purchase it again. I believe one of the side affects of quality games for the iPhone is that independent developers are going to have to work extra hard for a piece of the pie. Gameloft, EA, Flick, and Ngmanco are setting the bar high. Justifying anything of lesser quality on my iPhone is going to take some serious convincing, ingenuity, or cleverness on the part of the publisher.
As the quality of software and even games improve it will help establish a greater trust in mobile computing. Hopefully more trust will equate to a greater need. Point in case, I can't wait for Madden, FIFA, and Doom.
Update: Even despite a hard crash bug in Dungeon Hunter, I would still purchase it again. I believe one of the side affects of quality games for the iPhone is that independent developers are going to have to work extra hard for a piece of the pie. Gameloft, EA, Flick, and Ngmanco are setting the bar high. Justifying anything of lesser quality on my iPhone is going to take some serious convincing, ingenuity, or cleverness on the part of the publisher.
Monday, September 7, 2009
OpenID I'll actually remember to use
I just setup an OpenID account using my domain name and myopenid.com. For the first time I actually have an OpenID that I will remember to use. Even more importantly the 37signals guys did some interesting single sign on features that made it useful to use.
Would it pass the mom test? Heck no. It took me an hour to setup with DNS registration and I didn't have a webserver for verification. Even if my mother finds an IT guy to set it up for her I still doubt she would take the time to learn the insanely long url for login. SSO is still a geek toy and won't be going mainstream anytime soon.
What about bit.ly for OpenID? Still annoyingly long but the more you could shorten the url the better for ease of use. Email addresses would still be the best SSO in my opinion. You have the username@domain. Everyone knows their email address. Why can't I find more documentation to do this instead of http://openid.myopenid.com/username?
Would it pass the mom test? Heck no. It took me an hour to setup with DNS registration and I didn't have a webserver for verification. Even if my mother finds an IT guy to set it up for her I still doubt she would take the time to learn the insanely long url for login. SSO is still a geek toy and won't be going mainstream anytime soon.
What about bit.ly for OpenID? Still annoyingly long but the more you could shorten the url the better for ease of use. Email addresses would still be the best SSO in my opinion. You have the username@domain. Everyone knows their email address. Why can't I find more documentation to do this instead of http://openid.myopenid.com/username?
Saturday, September 5, 2009
Mobile Revolution
1994 was the year my father bought the families first PC and plunked it into the den. I had never wanted a computer before, but their it was in our living room. At first I only used it to write papers. Then came Doom, telnet, winamp, Napster, AIM/ICQ. The families PC had just turned from a powerful word processor to a gaming/communication/entertainment center. The PC was changing my life. Fast forward to 2008.
Mobile phones were useful, but felt like a necessary evil. Smart phones were expensive and struggling to take off. Data plans and hardware were expensive. No one outside the work place could justify the cost. Then Apple introduced the iPhone. I didn't adopt myself until shortly after the App Store arrived. For the first time in my life I actually was interested in what other software was available for my phone. In my opinion, one of the smartest things Apple did was open up an API and the App Store for 3rd party developers.
Today I feel privileged to be writing software for mobile applications. Much like the early adopters for writing Windows software probably felt. Developers are increasingly pushing the boundaries of the hardware at their disposal. Hardware you don't typically have access to on a PC such as GPS, gyroscopes, compass, camera, and video that offer unique ways to create interesting and engaging software. I never would have imagined seeing augmented reality on a mobile phone the way they were floundering in mediocrity just 3 years ago. It's almost laughable to think how cool the Motorola Razr was. The work being done in the mobile space is starting to change science fiction into reality. For the first time in my life I feel like I have a mobile computer in my pocket and not a phone.
The best thing that could happen for my field is for other smart phones with similar platforms to take off. Writing one application that can run on millions of phones has been the dream of many developers. Until Android or some other platform takes off, I'm content with writing for one hardware device as long as I know I can reach millions. I'm still crossing my fingers that Android can be to the mobile world, what Windows was to the PC.
Mobile phones were useful, but felt like a necessary evil. Smart phones were expensive and struggling to take off. Data plans and hardware were expensive. No one outside the work place could justify the cost. Then Apple introduced the iPhone. I didn't adopt myself until shortly after the App Store arrived. For the first time in my life I actually was interested in what other software was available for my phone. In my opinion, one of the smartest things Apple did was open up an API and the App Store for 3rd party developers.
Today I feel privileged to be writing software for mobile applications. Much like the early adopters for writing Windows software probably felt. Developers are increasingly pushing the boundaries of the hardware at their disposal. Hardware you don't typically have access to on a PC such as GPS, gyroscopes, compass, camera, and video that offer unique ways to create interesting and engaging software. I never would have imagined seeing augmented reality on a mobile phone the way they were floundering in mediocrity just 3 years ago. It's almost laughable to think how cool the Motorola Razr was. The work being done in the mobile space is starting to change science fiction into reality. For the first time in my life I feel like I have a mobile computer in my pocket and not a phone.
The best thing that could happen for my field is for other smart phones with similar platforms to take off. Writing one application that can run on millions of phones has been the dream of many developers. Until Android or some other platform takes off, I'm content with writing for one hardware device as long as I know I can reach millions. I'm still crossing my fingers that Android can be to the mobile world, what Windows was to the PC.
Subscribe to:
Posts (Atom)