Learn to Make Apps in 4 Books

If you already have a basic understanding of Object Oriented Programming and a little bit of C, then you can skip the first book. Aside from that, begin reading book number one and start powering through these titles. In a few months, you’ll find yourself in a position to put your ideas and designs into code and bundle it up for the App Store, then dive into your Money Bin like Scrooge McDuck.

  1. Objective-C for Absolute Beginners
    APress
    Link
  2. Learning Objective-C 2.0
    Addison-Wesley – by Robert Clair
    Link
  3. Programming iOS 4
    O’Reilly – Matt Neuburg
    Link
  4. Graphics and Animation on iOS
    O’Reilly – Vandad Nahavandipoor
    Link

An 11-inch MacBook Air for iOS Dev?

Oh yeah.

The iMac in my home office couldn’t cut it anymore. I had to have Xcode and Photoshop with me on the go. It turns out this little computer can handle everything I’ve thrown at it. If I need to render 3d, edit video, or watch 32 tabs of flash movies, my desktop will come in handy for that. The 11-inch Air is amazing. It crushes Photoshop CS5.5, with an average load time of just shy of 3 seconds. I’ve also been running Xcode without a hiccup, including some rather detailed XIB interfaces. I think it’s crashed only 2 or 3 times in 4 months, which by my standards is pretty decent for Xcode 4.2.

Outside of iOS development and design, the MacBook Air 11″ is without a doubt, the funnest computer I’ve ever owned. It’s small enough to carry with me anywhere, thanks to the InCase neoprene sleeve. I absolutely love this computer.

Backlitbox is here

Years ago I headed up a design and marketing team for a local restaurant chain. We were constantly printing off our menu board panels to accommodate new products and pricing. I kept thinking how cool it would be to have a panel in my house to show off my (then brand new) photography skills.

I’m pleased to say that somebody has created the perfect product, and made it better than I ever imagined. Faxon Moulder from Pleasant Grove, whom I have known from a local 4×4 club, has started up a neat little company called Backlitbox.com. The product is simple, clean and top notch. He makes illuminated picture frames directly from his customers’ photos. The detail in the images is tack sharp, and bursts into full color with the hundreds of tiny LED’s within the frame.

I had the chance to help Fax put together a promotional video for his boxes, in return for a custom box. I chose an image of a red fern, taken in Moab, Utah several years ago. The result is amazing. My family and friends can’t believe how clear and vivid the image quality is.

If you’re looking for a great holiday gift, you have to check out Backlitbox.com!

**December 19th Update**
Backlit Box #2 is here. This one turned out even better than the first in my opinion. I took this shot in Arches National Park a few years ago. It’s a two-minute exposure with star trails, one of my favorites.

Go get a backlit box!

I’ll add some higher quality photos, but for now, here’s a fast iPhone pic:

iOS Fonts

I was curious which fonts were shipping with iOS5. So I punched in a simple method into a new Xcode project. As it turns out, iOS5 supports more fonts that I thought.

To recreate my simple method, start a new Empty Application project in Xcode, and paste the following code into the application:didFinishLaunchingWithOptions: method of the AppDelegate.h implementation file:

NSArray *familyNames = [UIFont familyNames];
for (NSString *familyNames in familyNames) {
   NSLog(@"Family: %s", [familyName UTF8String]);
   NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
   for (NSString *fontName in fontNames) {
      NSLog(@"     Font: %s", [fontName UTF8String]);
   }
}

It doesn’t get any simpler. We’re making an array of objects filled with the default fontNames in the UIFont class, and outputting them to the console in list form.

Let me save you some time firing up Xcode and just click ‘Read More‘ to view them all. Read the rest of this entry »

Cinemagraphs

A few months ago I stumbled upon a new photographic technique called ‘cinemagraphs.’
It’s an artistic take on combining still photography and the emotion of film.

Examples 1

Examples 2

And here’s my first one:

Rake for iOS? Yep.

When most developers think of Rake, they think of the Ruby Make command. Well Dave Newman has set up a slick Rake script for creating very useful macros for setting up structures outside of Rails, particularly in Objective-C. One I found particularly interesting is the Rake command for creating sprite sheets.

Automating your iOS projects with rake

Very useful if you have tons of sprites to work with.

Magento snafu

I’ve been messing around, building sites in Magento eCommerce. It’s a pretty straightforward and flexible commerce based CMS that is friendly for developers and designers alike.

Installing a local copy of Magento might seem like a trivial task, but there’s some serious lack of documentation in a few key areas. After creating a database and installing the downloadable ‘sample-data’ from Magento’s site, import that data into your database. I’m using a Mac running MAMP to handle php, mySQL and apache for running a local server. Once you have copied the magento folder over to your server root, navigate to the localhost/magento folder. I tried many times to get through this installation wizard. First off, the default installation for the magento CMS is defaulted to ‘localhost:8888/magento‘, which, being localhost, will not accept or process cookies. Instead of localhost, use the standard machine IP address in place of localhost, “http://127.0.0.1:8888/magento“. This will allow cookies in all sessions on your local server.

The next issue deals with cookies also, and took me forever to find out. What you will need to do is navigate to your magento install folder and find:
~/app/code/core/Mage/Core/Model/Session/Abstract
and open up Varien.php file.

find the following lines:

// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);

and replace with:

// session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
//'domain' => $cookie->getConfigDomain(),
//'secure' => $cookie->isSecure(),
//'httponly' => $cookie->getHttponly()
);

Basically we’re just commenting out the cookie requirements for secure, domain and getHttponly methods. Now your local server will allow you to install Magento and login to the backend system. Remember this is on your local machine, so you’re not going to be concerned with security, it’s just for testing, theme development and/or tinkering.

Doin’ Work

Record Browser View

Just a peek at what I’m working on.

Competitors Flummoxed

More significant than today’s iPad hardware bump is the focus on vibrant, clean, realistic, pixel-perfect interfaces with animations to match. Garageband was a complete surprise, visually. Here are a few snippets of the eye candy unveiled by Apple:

Pour Some Vinyl On Me

In today’s world of 99ยข pick a track, al a carte, playlists, shuffling, iPods and earbuds, it’s nice to know the only true listening experience is still available. Vinyl records.

This is a quick video I made after scoring a boatload of vinyl classics off of eBay. The track was recorded straight off the record player into my computer. I love the anomalies of vinyl; pops, clicks, hissing, and an overall warmer sound.