7in on 7th?

No Comments

OK, this is just a fun shot in the dark, but…

There’s a lot of speculation going on about what Apple will announce on September 7th.  One of the thoughts that’s been circulating is the 7 inch iPad. To my knowledge no one can confirm this rumor. (Please let me know if I’m wrong) But my theory is that Apple WILL announce a 7 inch iPad because they selected September 7th to be the big day. Why the 7th? Hmmmm. What’s so significant about that day?

Well, what was so significant about 9:41 am?  Besides the fact that it was the exact time Steve Jobs announced the original iPad, and that’s the time that was displayed on the iPad status bar on all of the pre-printed ads, product boxes, etc.

Apple seems to get a kick out of blending this kind of clever symbolism in their products and their respective launches. We’ll see if my theory is correct!

A Lot To Learn

1 Comment

Stack of Books

Stack of Books

I wasn’t blessed with a programming background.  And that just means I have to be more patient with myself, because I’m not just learning Cocoa here, I’m learning EVERYTHING.

When I attended the iPhone Studio in July it seemed like most of the other students had experience in C, C++, C#, Ruby, Java, PHP, etc.  The only background I had to lean on was 1 year of JavaScript experience.  So I can’t compare myself to them. Be THANKFUL, by the way, if you’re in that camp. You have a significant advantage!

If you’re like me, and you want to learn how to make iPhone apps (the right way), but you don’t have a programming background, then consider this fair warning. You have a lot of work ahead of you.

  1. First, you need to understand more about your computer than you may have ever cared to know. What it really is, how it really works.
  2. Then you’ll need to learn a new language. It’s similar to the foreign language class you took in high school. Rote memory has never been my specialty, so language learning takes time.
  3. Did I say language?  Ooops. What I really meant to say was languages. Yah, make it more than one language. Because while Objective-C is the main language at play in Cocoa programming, it’s derived from C, and you’ll be scratching your head like I was until you can at least recognize the difference between the two.
  4. While there are LOTS of languages out there, they all seem to have a few things in common. Things like variables, operators, loops, etc. You’ll have to get your head around these concepts.
  5. OK, so far so good? Now we need to take the language, and the programming concepts, and we need to learn Apple’s special way of doing things. Keywords: “Cocoa Design Patterns”.
  6. Frameworks. Frameworks. Frameworks.  Say “hello” to framework documentation. At a minimum you’ll need to be familiar with the Foundation and UIKit frameworks. To do more specialized things you can get into CoreAudio, CoreVideo, CoreData, AV Foundation, GameKit, MapKit, iAd, OpenGLES, etc.
  7. Of course all of this wonderful stuff is coded, compiled, tested and deployed through Apple’s free set of developer tools. As amazing as these tools are, it still takes a while to get used to each one. The main tools are Xcode, Interface Builder, the Simulator and Instruments.  These are professional grade tools, like Photoshop, and Illustrator. They take time to master.

Wheew. I don’t mean to discourage anyone out there, but it’s important to have realistic expectations going into this kind of thing.  I’ve always been a pretty quick learner, but I underestimated this stuff and have had to continually reset the bar to a reasonable height.

If you’re coming into it with programming experience, then you really only need to start off at number 5 and work your way down the list. It’s a much shorter road for you : )

I’m Finally Getting It!

2 Comments

Tears of Joy

Tears of Joy

Yay! After a very long struggle I think it’s safe to say I’m finally “getting it”.

The blog has been pretty quiet lately, and that’s not because I’ve been slackin’ off, it’s actually because I’ve been working really hard!

In the last couple weeks I’ve been working at this iPhone stuff as if it were a second full-time job. The week of the 16th I estimated 30+ hours and this week was around 15. I had to slow it down a bit to prevent burnout.

All in all, it’s been FUN. I don’t mind working late into the evening as long as I’m making progress and having fun. I’ve really been trying to be patient and set reasonable goals. I stopped trying to build my first app, and went back to the basics.  I’ve just been doing the same, fundamental things over and over again. Each time I encounter a familiar concept it makes a little more sense than the last time, and that builds my confidence.

I find myself thinking out loud while I work, talking to myself as If I’m the teacher and the student.  My wife hears me in the other room going “whoooh!” as I clap my hands because I finally understand how to use some random method.

I’ve also had to take the pressure off myself to really enjoy it more. I’ve made some pretty large investments into this education, via books, videos, and most of all the iPhone studio, so of course I want it all to “pay off”.  But worrying about that stuff just stresses me out. At the end of the day, none of that matters as long as I’m having fun and proving something to myself…I CAN DO THIS.

Recent Investments

1 Comment

OK, so I just thought I’d share a couple of recent purchases…ah, I mean “investments” that I recently made for myself.   Nothing flashy like a new iPad or anything, just a couple of nice titles to add to my bookshelf.

iPhone SDK Development

iPhone SDK Development

iPhone SDK Development (Bill Dudney and Chris Adamson – Pragmatic Bookshelf)

This book is cool because I actually know 3 guys who contributed to it.  Chris Adamson is the co-author, and is my good friend who I carpool to CocoaHeads with. Matt Drance wrote the forward, and he was one of my instructors at the iPhone studio. And Daniel Steinberg was the editor, and he was also an instructor at the studio!

Proud to support the work these guys are doing!

I only wish I got the book for free at the Pragmatic Studio, that would have been a nice bonus. I think they should start giving it away at the studios, or at least roll it into the cost. It’s a great resource, so far it’s been very helpful!

Core Data

Core Data

Core Data: Apple’s API For Persisting Data on Mac OS X (Marcus Zarra – Pragmatic Bookshelf)

I’ve been going back and forth about how to persist data in my first app. I’ve recently learned that plists can do a lot more than I originally gave them credit for, and there’s another approach called “archiving objects” which seems even better than that. But to really get the job done it seems like you need something like SQLite or Core Data.

From what little I’ve seen of the two, Core Data seems to be the better option. SQLite has been around a long time, and as a web developer I thought it might make sense to take the opportunity to get more acquainted with SQL, as it will be useful in more than one place. However, I like what I see of Core Data, and it’s Apple’s preferred method, so I’m going down that road. Chris Adamson recommended this book, and I always trust his judgment in these matters.

So here I go, back to the books!

My First App – Photoshop Mockups 2

1 Comment

Jobs -> Leave Types -> Vacation -> Time Off

Jobs -> Leave Types -> Vacation -> Time Off (Images © Scott Ruth)

It’s been a while since I’ve posted the last mockups of my first App (the “vacation time tracker” is the unofficial name for now).

CLICK HERE TO ENLARGE MOCKUPS

This imge shows the flow of the main 4 screens in the app.  Once you get past a beautiful welcome screen (not pictured here), you will see your list of jobs.  This is a unique feature that sets my app apart from the competitors. I figure many people are working more than one job these days, and also many couples like my wife and I like to share apps. So basically you can save as many job profiles as you want and track your vacation history for all of them!

The next screen shows the types of paid leave available to you in that specific job. You will have to set up the job profile on another screen of course (not pictured here), but once you specify what you’re allotted then the app starts doing all the work for you!

Once you select a specific type of paid leave then you can really see the details. This will show you not only what’s been used, but the app is even be smart enough to know if you’re currently on vacation, or if you’ve made requests to your employer that you’re still waiting to hear back about. As you can see, you’re just a tap away from emailing a time report to yourself, your employer, or your spouse.

If you want to reminisce about the good old days gone by, then just click on an instance of vacation time and you’ll see any notes you may have taken, as well as pictures that you took on  your camera or copied from your pictures app. It’s very easy to edit these details at any time.

Beyond these main screens there are a lot of other “utility” screens that will allow you to do stuff in the app. I would show you those, but I gotta keep something a surprise, right!

CocoaHeads Recap

1 Comment

Introduction to AV Foundation

Slides From Chris' Talk

Yet another great time at CocoaHeads last week!  It’s a long drive to Ann Arbor from here, but well worth the trip every month. The meeting was last Thursday night, and the guest speaker was my good friend Chris Adamson. The topic  was Apple’s AV Foundation framework.  A bit advanced for me, but very interesting nonetheless.

DOWNLOAD PRESENTATION SLIDES

If you like what you see of Chris’s slides, he’s going to be going deeper on the subject at this year’s Voices That Matter iPhone Developer’s Conference. (October 16-17 in Philly, PA).

Chris Adamson

Chris Adamson

Chris Adamson is an independent writer, editor, and developer, living in Grand Rapids, Michigan. Now focusing on iPhone and Mac development, he is the co-author of iPhone SDK Development. His blog is www.subfurther.com.

FYI, anyone who speaks at CocoaHeads gets to choose from a wide selection of iPhone books. See what book Chris chose…

Sources of Encouragement

2 Comments

Thanks a Million!

Thanks a Million!

Last week I was feeling pretty down. I had a few moments where I felt like giving up. I didn’t give up, but I was honest about the way I felt. Many of you extended words of encouragement, and even assistance, which really helped pull me out of the valley, and that’s what this post is about.

Those Who’ve Gone Before

I’ve been blessed to know so many people working in this field, people who do “get it”. The CocoaHeads group and the iPhone studio alumni make up a large network of supportive programmers who help each other out. I’d like to specifically give a shout out to Chris, Jeff, Matt, Daniel, Adam, Guy, Hermano, Esther, Jake, and everyone!

I’m also fortunate that there are SO MANY hard working programmers that have been generous enough to post their work online. I’ve learned a lot by reading forums, blogs, and tutorials that I find.

I’ve also come across some full open source apps, that I can’t wait to download and deconstruct!

The “Body” of Christ

In addition to the developer community, God has given me a strong Christian community to help me through. I don’t know about you, but I believe in God. Ever since I trusted Jesus Christ to save me from myself and be the Lord of my life I’ve been a part of His family, a.k.a. His Church.  God has really encouraged me through His Church this week:

  • I met a nice couple one Sunday last month, and when I mentioned the iPhone studio I was going to they not only said they would pray for me, they did, right there on the spot. Very encouraging.
  • Other Christian friends from church and work have shown interest and support for what I’m working on.
  • I also had the pleasure of meeting two Christians at the iPhone studio. Both were sitting right with me in the front row!  They’ve encouraged me to keep going as well.
  • And of course my family and close friends, many of whom are Christian, have been there all the way!

The fact that I have such a support system could be taken as evidence that God wants me to succeed at this because He has provided what I need to succeed. I feel very encouraged. Thanks to everyone. I hope that I can help and encourage you on your journey too!

Paying My Dues

No Comments

Paying Big Time

To pay one’s dues: “To earn a given right or position through hard work, long-term experience, or suffering”.

That sure sums up the phase I’m in right now. This journey sure is full of highs and lows.  I knew it would be, which is one of the reasons I started this blog in the first place. It’s easy to take for granted the things you already know and forget about all of the blood, sweat and tears it took to learn it in the first place.

I’ve tried to be open and honest about this process for your sake and mine.  I last blogged about the valley I was in a week ago, and I’m happy to say that things are looking up, thanks in large part to the encouragement many of you have given me.

The difficult fact is that I’m just living through the phase where I have to pay my dues. I’ve been here many times before:

  • In leadership I’ve had to work hard and be patient to build true respect and trust among those I lead.
  • When learning how to design I needed to spend hours drawing sketches that just ended up in the garbage before I could show off a finished piece.
  • When carrying that skill over to the computer I had to spend countless hours experimenting with tools in Photoshop, Illustrator and InDesign and learning to be nimble and expressive with a mouse!
  • When I wanted to build websites I had to come home from my day job and work evenings practicing HTML and CSS.  HTML is so simple now, but still felt daunting at the time.
  • Then when I tried my hand at some JavaScript and PHP programming I often felt lost and alone. I was lucky enough to have one friend per language that I could turn to.

We’ve all had these kinds of experiences.  They’re hard, they make us question ourselves. We ask things like: Is this possible? Is this really for me? Is this worth it? How much longer will it take before I “get it”?

When I was young and single I had more time on my hands, I had very few responsibilities and distractions. These questions weren’t so bothersome, but since then the the price of pursuing my interests has doubled, and I don’t just mean financially. This isn’t so surprising, but it is an adjustment.

There is a cost, and I am paying it. But this really is something I want to do, and nothing worthwhile comes easy.

I Don’t Get It

4 Comments

I Don't Get It

"I Don't Get It"

OK, so yesterday my sister asked how the iPhone stuff is going, and I probably gave her more of an answer than she was looking for.  You know when someone just says “hey, how ya doin’?” out of habit, and before you know it you’re just unloading all your baggage on them and they didn’t see it coming.  Ya, that’s kinda what I did.

You see, the honest truth is that it’s not going so well.  I’ve been working hard since I got back from my iPhone studio, and frankly it’s been a struggle.  There have been a couple of nights in particular where I’ve just been at my whit’s end. I try and try and try to get some small, insignificant part of the program to work and it just won’t. No matter what I do, I can’t figure it out, and it makes me upset.  I’ve had to lean on my friend Chris (@invalidname) and some iPhone studio alumni for help more than once.  I just don’t get it! But I really want to get it!  Arrggghh!

I’ve had serious doubts about whether or not I’m cut out for this stuff (programming, I mean).  There’s a lot that goes into developing an iPhone app, and I’m learning that programming the logic might be one of the least enjoyable parts for me.  I really think programming is a natural ability, and you’ve either got it or you don’t. Like being athletic.

Let me be clear that I haven’t given up. While my brain may not function at higher levels like the guys at CocoaHeads, I still think I can program an app on my own.  I just have to be like the guy on the football team who has to work twice as hard to keep up with the other players who are naturally more talented.

I really love the iPhone as a platform, and I thoroughly enjoy the development community I’ve become a small part of. This is WHERE I want to be, but programming isn’t exactly WHAT I want to do. I want to learn the programming side of iPhone development because it will round out my skill set, but it’s not the activity I’m best suited for.  I’m learning that I’m happier when I do the things that I’m naturally gifted at:  vision, planning, designing, project management, marketing, etc.

So if you think of it…pray for me.  Then do me another favor and let me know how I can pray for you.  Thanks!

Waiting for Briefs

1 Comment

While I was at the iPhone studio I heard about a useful tool to build functional wireframes for iPhone apps. It’s called Briefs, and they have a strange but memorable logo.

Briefs - Wireframing iPhone Apps

Briefs - Wireframing iPhone Apps

To make a “brief” you basically you write some code, called “BS”, that specifies what your screens will consist of, complete with input elements and actions that go with them. Then you use a command line tool to compile your bs code into a binary .plist file. This can then be delivered to the Briefs iPhone app over the web.

It all looks pretty cool, but the frustrating thing is that the app is not yet available!

It’s meant to be a framework for building quick and simple app prototypes, but I think Apple is a bit concerned that people would take it too far and use it as a framework to build fully functional apps (albeit simple ones).

As a result, there seems to be a hold up with app store approval on this nice idea. I hope the developers can work something out with Apple, I would really like to try my hand at making some briefs!

Older Entries