About My App: Time Off

Time Off (App Icon)

Time Off (App Icon)

The feedback from my last post has been GREAT this week. A lot of people have expressed their excitement for me and their interest in trying/buying my app. But in the process I’ve realized that I hardly mentioned what my app does, so allow me to explain…

The app is called Time Off, it has been approved by Apple, but it wont be for sale until February.  Here’s how I plan to describe it in the app store:

The BEST Time Off tracker in the app store!

This handy app is the easiest way to keep track of how much paid time off you get from your employer, and how you’ve used it!

Time Off not only has a robust feature set, it also has the most polished and intuitive interface so you can get in, update your time, and move on with life.

Enjoy conveniences like:

MULTIPLE JOBS: Share the app with your friend or spouse because Time Off can easily track multiple jobs.

HOURS OR DAYS: Record time as hours or days, whichever you prefer!

5 CUSTOM LEAVE TYPES: Enter up to 5 different types of paid leave. Customize the names and colors however you like!

OVERVIEW: Get a birds-eye view of the year on one simple Overview screen. Each leave type can be color-coded and ordered to your preference.

CATEGORIES: Time Off automatically organizes your time into categories such as Pending, Currently Using, Reserved, Used, and Denied Requests.

EMAIL REQUESTS: Email Time Off requests directly to your supervisor and CC yourself.

ROLLOVER: Whether your time rolls over from year-to-year or you “use or lose” it, Time Off has got you covered.

RETINA SUPPORT: iPhone 4 users will enjoy crisp, high-resolution graphics that make full use of the beautiful Retina Display.

Here are the screenshots that I have for now:

Time Off Overview Screen

Time Off Overview Screen

Instances of Time Off

Instances of Time Off

Taking/Requesting Time Off

Taking/Requesting Time Off

Up to 5 Custom Leave Types

Up to 5 Custom Leave Types

Customizing Vacation Settings

Customizing Vacation Settings

Multiple Jobs

Multiple Jobs

Posted in Uncategorized | 1 Comment

Your Application Is “Ready For Sale”

A Mountain Top Experience

A mountain-top experience, to be sure...

PRAISE THE LORD, I DID IT!  After 6 months of development I finally got my first App, “Time Off”, submitted to Apple and APPROVED!  It all happened last week. I’ve been a bit quiet on the blog, and on Twitter these days, but that’s because I’ve been busy! Busy fine-tuning my app, busy setting up iTunesConnect, busy learning how to prepare an Xcode project for submission.

I submitted my app last Tuesday night. It was such a great feeling to finally see the words “Waiting for Review”.  No matter what happens now, at least I’ve taken that first big step and handed my work over to the critical eye of the app reviewers.  I was planning for the review process to take a week or two, so imagine my joy and surprise when I got an email on Friday afternoon that the app was  now “In Review”.  Ahhh! That means a real person at Apple is putting my work under a microscope right now! Holding my breath, not knowing how long this could take… But then, within a few short hours I got yet another email that said “Your Application is Ready for Sale”.

So my app had only been submitted for 3 days, and only in review for about 6 hours before being accepted! That was WAY quicker than I expected!

Oh man, I can’t tell you how excited I was. I couldn’t help running around the house shouting. It was such a great feeling, like a burden had been lifted. Since it was almost dinner time I took my wonderful wife and son out to dinner to celebrate. My wife Bekah has been a huge encouragement to me through the process, and I can’t thank her enough.

I was so happy that the process went smoothly. But I have to say that a lot of things in iTunesConnect are not obvious. I had to do a lot of prep work to figure out what I needed before officially submitting. I was also afraid of the website timing out in the middle of the process. Seemed a bit short, so I recommend you get all your stuff together first before adding your app. It will make things a little less stressful.

So what now?  Well, the app still isn’t for sale yet. I plan to do some more testing and prepare some marketing. I’ve got a lot of work ahead of me still, but I hope to do the product launch in about 2-3 weeks. Sometime in early February.  If anyone would like to test an ad-hoc version then just let me know!

Thanks to everyone for everything! I’ll keep you posted as the release draws closer.

Posted in Milestones, My First App, Uncategorized | 7 Comments

Tips on Designing an App

iphone sketchbook

iPhone Sketchbook

Having a well-designed app is a must if you plan to stand out and get noticed. If you’re not experienced as a designer then I recommend you budget something to contract with one. Doesn’t have to be a company, there are a lot of capable freelancers out there.

A good place to start is to do some rough pencil and paper mockups yourself. Plan out how the app will look and how the user experience will flow. Try to keep things simple. You don’t have to be good at drawing, just get the rough idea on paper.  I like using the Apress iPhone Sketchbook and while I don’t have the iPhone Stencil, but that looks like it might be helpful as well.  Otherwise just make due with a napkin or something : )

OmniGraffle

OmniGraffle

If you want to be a bit fancier you could use something like Omnigraphle or Balsamiq Mockups. These will help you do more detailed wireframing.  If you have photoshop, you can find templates with lots of nice ui elements to work with, and that’s what I prefer.

Whether you hire someone or bootstrap it yourself, it will still be helpful to have done this prototyping because you’ll have a plan and you’ll know exactly what to build and how to build it. You’ll spend less time coding and recoding UIKit stuff, and trust me, that’s a good thing.

Teehan+Lax iPhone 4 GUI

Teehan+Lax iPhone 4 GUI

Hope this helps. Best of luck with your appventure! God bless everyone!

Posted in Uncategorized | 3 Comments

I’m Not Afraid Anymore

Home Alone

Ahhhhhhhh!

It’s Christmas time, so I’m sure you’re all planning to watch the beloved family classic “Home Alone” at some point soon if you haven’t already.  There’s one particular line that I’ve always loved from that movie. It’s the part when Kevin runs away from the old man who shovels snow, and one day he finally realizes he’s being silly, so he goes outside and faces his fear, saying “Hey, I’m not afraid anymore. Do you hear me? I’m not afraid anymore!”. Then the old guy walks up to him and of course he tears into the house screaming.  Every time I realize that I’m afraid of something I think of that scene, and laugh to myself. It could be a spider in the garage or something, and I’ll just start saying “Do you hear me, I’m not afraid anymore!”.  Haha!

Being afraid of stuff is just stupid, so find the source and put a stop to it…

That’s my own advice to myself after realizing that fear of one feature in my app was taking hold of me. My lovely and patient wife helped me realize that I was afraid of this “big” feature because I hadn’t really scoped it out. I keep thinking it’s going to be this big scary nightmare feature, but hey, maybe it wont be so bad. I haven’t actually sat down and thought hard about it. I’ve realized over the years that it’s easy to become fearful when you don’t have a plan, and that goes for just about anything in life. What I need is to take a close hard look at this feature, break it down into all of its smaller less-intimidating, bite-size pieces and have a plan for each piece. I need to know how many classes the feature will affect, how many new views it will require, how long each piece will take, and when I can reasonable expect to be done. Once I have a plan, then it’s just a matter of working the plan.

So that’s my next step. Wait right there, I’ll be right back… “This is it, don’t get scared now.”

OK, wheew, I’m back now, and happy to say that I’ve spent the last 2 hours making a game plan for this feature. Boy, it really feels good to know what I’m really up against. There were moments when I caught myself over-complicating the feature, and I had to keep stepping back to decide what was really necessary. At one point I thought I would have to completely restructure my database! That was out of the question. I just had to think “simpler”. And ya know what? I really like the plan so far, so the next step is to impliment it.  It is kind of a big feature, so I think it would be best to program all the logic in one sitting. But I wont have that kind of time until the weekend. Until then, I plan to use the next couple weeknights to do some of the prep work. It’s like when you paint a bedroom or something like that, you find it takes longer to put down dropcloths, bust out the tools and tape the trim than it does to paint! So I’m going to try to do all that kind of prep-work this week and sink my teeth into the logic on Saturday.

So just a minute as I fast forward through time…

OK, wheew, that time travel stuff is rough, but here I am again. So yah, basically those first couple nights of prep were were a piece of cake, because I had a plan. Then came the the tough part. I actually had to break that down into a couple of different phases, because it turns out that this feature will impact several view controllers and require lots of new logic, most of which I’ve never attempted before. Well, I just took it one phase at a time, and at this point I’d say the feature is about 90% done. And the other 10% doesn’t really scare me because I know what to do, I just need to finish doing it.

However, in the process I came across a couple other big challenges that I wasn’t expecting. Adding this new feature was going to alter the functionality of another big feature!  I also discovered aspects of the feature that I had never considered before and this just made things more complex. I have to say things are getting kinda hairy now, but I don’t think it can be prevented. I’m coding this thing as simply as I can, but it’s doing a lot of complex things for the user. Those things are what make the app valuable, so they are must-haves as far as I’m concerned.

So while things are taking longer than I thought, at least I’m not living in fear of the big, bad feature. “Hey, do you hear me? I’m not afraid anymore!”

Posted in Uncategorized | 5 Comments

Feeling the Fatigue

Fatigued iPhone Drinking Cocoa

I don't drink coffee.This will have to do...

OK, so as you know I’m in the last 10% of development for my first app.  I have to admit that I’m getting very tired at this point. It’s always challenging, but I’m really feeling it now. Oddly enough, my wife is pregnant with our second right now, and we joke about how both of us are about to give birth. We’re hoping that I deliver my “baby” before her  so I’m not working as much when our baby girl is born. (Which we’re very excited about of course!). Like her, I’m starting to slow down a bit, and feel like I’m carrying around a few more pounds. I really can’t wait to finish, but there’s no shortcut I can take. There are a certain amount of “to-dos”, and they each require a certain amount of time to complete. I’m still looking at another month of development. I keep hoping to finish the beta by Christmas, and I think that’s reasonable if I can keep up the momentum. But the truth is that I feel my momentum slowing down.

A lot of my fatigue has to do with the fact that my “day” job is so similar to my “night” job. I work a full time job for a web-based software company called Ministry Sync. I do UI design as well as front and back-end development of web applications, so I not only work on a computer all day, but I also perform very similar tasks as I do at night when working on my app. I really like computers, design, code, logic and the like, but man-oh-man it really is hard to do it round the clock sometimes. Sheesh! I also work from home during the day, so there’s not much to “break” up my day.  On weeknights I move my computer to a different room of the house so I don’t feel like I’m in my office all the time. On the  weekends I try to go somewhere else, like the public library for a change of scene. While working from home totally ROCKs and I do recommend it, it’s not without its own challenges : )

Doing this completely independently is fun, but it’s also a burden. It’s tough when you don’t have anyone to help you. I’m grateful to the community for their tips and encouragement, but sometimes I wish someone could just do it for me! Haha. I spend a lot of my time working alone during the day, which has its upsides, but I also enjoy collaboration so I admit my app development feels lonely sometimes.

As I mentioned before, I do have a family as well, and I’m very intentional to spend time with them and not miss out on the moments that matter in life. My favorite things are spending time with my Lord and with my wife and son. I work to live, and I refuse to live to work. So I have to play a very careful balancing act with my time. I don’t feel like I’ve been neglecting my family lately, but I look forward to wrapping this up so we can have more relaxing evenings together.

I’m not complaining, or looking for sympathy by sharing all this, I have a truly blessed life, I know that. I just want to be honest as I process through my experience. I know many of you out there can relate to what I’m doing, so I hope you are encouraged that you’re not alone if you feel this way sometimes. For those of you who are starting to get into this, I think it’s helpful for you to know that you will be tested in many ways. If you’re wondering whether it’s worth it, here’s what I’d say… So far I haven’t published an app yet, but I do feel like it’s already begun to pay off. I’ve learned a LOT of useful knowledge, I’ve met a lot of great developers, I’ve pushed through some intense challenges and uncovered a lot of potential inside of me, I’ve grown closer to the Lord as I’ve relied upon his strength and I’ve had a lot of fun!

That said, I still have to keep going. But this Sunday my pastor at church reminded the congregation that life is about the journey, not as much the destination. This whole process is interesting because it’s challenging. If it were easy, then everyone would be doing it, and it wouldn’t have any any appeal. I’ve got my eyes on the prize, but I need to remember to enjoy this whole appventure.

Posted in My First App, Soul Searching | 2 Comments

My First App – The Last 10%

Oh man, when will this app ever get published?  That’s the question I’m facing as I approach the last 10% of this first iPhone app project. If you’ve ever worked on a really big project, particularly one that completely rested on your shoulders, then you know this can be a very challenging phase. The devil is in the details, as they say, and this is where he really starts to rear his ugly head.

As I’ve been approaching this benchmark I’ve been preparing myself for what I should expect: lots of unforeseen bugs, the urge to add features that aren’t necessary, undesirable tester feedback, a brutal app testing/approval process, etc. Since my attitude is often influenced by my expectations it’s important that I be prepared to mentally adapt to any of these circumstances.

Here’s where I’m at right now…

Time Off - Running on my iPhone

Time Off - Running on my iPhone

I’m a “real” iOS Developer

A couple of exciting things have already happened recently.  After using Apple’s SDK for free all these months, I’ve finally plunked down $100 to be a paid member of the developer program. So it feels more “official” now, and that’s cool. The best part though is that I can FINALLY test the app on my own iPhone. What a GREAT feeling it was to hold my creation in my hand and use it as it was meant to be used. And I was quite relieved to only find a couple of minor bugs on the device that I had never seen in the simulator. Otherwise it looks and feels great!  Getting the app on my device was a challenge, but not as much of a nightmare as I expected. I did have trouble getting authenticated by Apple because of a mix-up over the way my name was typed, but they worked it out over the phone with me. Once I was “in”, I had to update the SDK, which took hours, and then update my iPhone as well.  Getting the provisioning profile wasn’t too bad actually because Apple has a handy wizard now to help with this process.

Scope Creep

I’ve been spending a lot more time these days organizing my thoughts about the app.   I’m well aware of own perfectionist tenancies, so I’ve been trying to think objectively about each feature. Asking myself “Is it necessary for this first release?” I’ve had to move a lot of ideas to the “Next Release” to-do list because they’re just not realistic to add right now. At this point in the project I have just a couple more “BIG” features to add and tons of other little things to fix or clean up, and I’m constantly re-evaluating the importance of these things.

Getting Feedback

So far everyone that I’ve shown the app to has given positive feedback about it. They’ve pointed out a couple things that immediately stick out as confusing and I’m working to remedy those.  The real test will come when I start distributing ad-hoc test copies and let other people use the app without me showing them how. I’m guessing this step will be somewhat bitter-sweet.

So in summary, I’m in the “almost, but not yet” phase, and  it’s wrought with technical challenges as well as mental/emotional challenges.  I’m trying to keep focused on the main thing, and just get it done. I still expect that I’ll need the month of December to finish what I’m working on. Hopefully I’ll be ready to pass it to my beta testers around Christmas, then take a couple of weeks to prepare some marketing and do some final bug fixes before submitting the app to the store sometime in January. Hopefully I get approved and find myself in the app store before my second baby is born mid-February. Sound like a plan?

Posted in Milestones, My First App | 3 Comments

Reflections on a Great Conference

Last week I had the great opportunity to attend the 360iDev conference in Austin, TX.  If you read a couple weeks back you know that I actually won a free ticket!  I was happy to pay for the travel and take advantage of a $600 freebie!

Earlier this year I wrote down some personal goals for the next 3-5 years concerning my iPhone app development.  Attending this particular conference was on my list of things to do in 2011!  Praise God that I got to go a year sooner than planned, and it was definitely as good as I hoped it would be.

360iDev Socializing

360iDev Socializing

I really liked the size, at around 275 people it didn’t feel too crowded.  It was nice to have a variety of workshops to choose from every day. I liked the schedule, it felt like a natural pace. There was a good balance of general sessions, workshops, breaks and hang out time.

I really had fun meeting Indy developers and hearing from guys who’ve made those legendary apps that everyone has heard of and we all wish we could build.

The hotel was great, although I do have an interesting story about my room.  The first morning when I woke up, I turned on the light and looked up at the wall. And what did I see running by? Oh yeah, a roach. Gaahhhh. I looked around. The place didn’t feel infested, but you know that where there’s one there’s a million more somewhere.

I asked the front desk to be moved to a different room, and they took care of me right away. I was actually moved to the “concierge floor”, which was a blast because it offered a private lounge with plenty of food and beverage! So I didn’t have to buy dinner every night. It turned out to be a pretty sweet deal.

Perishing Planets Mockup

Perishing Planets Mockup (click to enlarge)

One of my favorite parts of the conference was the GAME JAM on Tuesday night. I joined forces with Brandon Williams (@opetopic) and Brian Buck (@triplethreatmob) and we worked on a game called “Perishing Planets”.  Those guys did the programming and I did the art design.  We only got a couple of hours of sleep because we worked on it all night.

It’s an iPad game where you have to get a bunch of astronauts off of their home planet (which is dying) and across the galaxy to a new home planet. We had a nice demo going, and presented it on Wednesday morning.  It was great! The three of us want to keep chipping away at it in our spare time. You can see the original concept art to the left, but there’s already a lot more in the works!

Anyway, there you have it, the conference was a blast. I’ll definitely try to make it next year if I can.

Hats off to John Wilker (@jwilker) and his wife for hosting a great conference. Hope to see you again soon!

Posted in Design, Milestones, Training | Leave a comment

How Do I Get Started?

So I just got done talking to a new friend who will hopefully begin iPhone development soon. He has 10 years programming experience, and he has some ideas for apps that could reach niche markets in India. Interesting combo. He asked a very simple question: “What do I need to get started”?

I thought others might be wondering the same, so here’s a basic checklist:

  1. Good App Idea
  2. Mac Computer
  3. OS X Snow Leopard
  4. iOS Software Development Kit
  5. A Good Support  Group
  6. A Good “Intro to iPhone” Book
  7. A Good User Interface Template
  8. An iOS Device
  9. iOS Developer Program Membership
  10. LOTS AND LOTS OF TIME

So there you have it, my top 10 list. Most of the items on this list come with a price tag. When my first app is released I plan to do a post that breaks down all my appventure expenses. Plan on spending more time and money than you thought you would. That’s all I can say about that for now. Peace.

Posted in CocoaHeads, Resources | 1 Comment

I Won a Ticket to 360iDev

360iDev

360iDev - Austin, TX - Nov. 2010

Yay! This is so sweet, I actually won something!

Last week at CocoaHeads there was a drawing for 2 free tickets to the upcoming 360iDev conference in November.

My name was drawn and I won a free ticket worth $600! You have to understand, I’m not one of those guys that wins stuff, so this is quite a big deal for me.

Granted, I still have to find my own way to Texas next month, and pay for food/lodging, but hey, this is an opportunity I just can’t pass up. I’ve wanted to hit one of these iPhone conferences for a while now, but I thought I should wait until my first app is published.  Now it seems I’ll be going sooner than planned, which I’m certainly not complaining about.

I’m really excited to go, as I’m sure I’ll learn lots of great stuff and meet plenty of cool people. If YOU are going to be out there, let me know so I can say “hello”!

Posted in CocoaHeads, News and Commentary, Uncategorized | 2 Comments

Free iPhone Resource Collection

Guess what!? I finally started a new page on this site that catalogs some of my favorite iPhone development resources.

Check it out!

This is just getting started, but I’ll be adding to this list as I go about my appventure, so be sure to bookmark it. You never know what you may find that could save you an hour of hair-pulling!

Posted in Resources, Uncategorized | 1 Comment