Category Archives: Blog

Adventures in App Development

It has been a while since I did any real app development, but I have been slowly getting back into it over the last few months. I have been playing around with several tutorials and reading a ton of docs but I keep getting overwhelmed with the volume of information that I feel I need to learn. I have fallen into the trap of trying to learn it all before I start on “The Project”. I want to make things “perfect” this time. The end result of this faulty thinking is that I am not actually producing anything.

Today iOS 6 was officially released. I am going to take this opportunity to really focus on making things happen. I installed the update on my iPhone and fired up my app RipDeck. It launched without issue and all of the tabs had basic functionality. I decided to put it through the paces when I got home from work and complete a workout.

I chose to use a custom workout and everything worked fine setting it up. It was time for the real test. Deep breath. Tap “Start Workout”. Three of diamonds for 3 push-ups. So far so good. Fifty four cards later I was about to pass out. The core functionality of the app was alive and kicking. The results screen was showing the workout stats correctly.

The first snag was trying to share the results on twitter. It prompted me to login and seemed to accept my credentials but kept displaying an error when trying to post a tweet. Sharing on facebook complains about a deprecated endpoint or something like that. Trying to email the results is broken as well. Not good. Looks like it is time to brush the dust off of this app and start work on an update.

Having a clearly defined goal will definitely help with my motivation. I want to clean things up and add a few features in addition to fixing the broken sharing functionality, but I will focus on fixing the bugs first.

Time to get busy. What is it going to take to get this to build?

  • checkout code
  • new 2.0 branch
  • open in Xcode 4.5
  • let Xcode upgrade project settings
  • let Xcode add blank Default-568h@2x.png
  • try to build (bunch of AdWhirl errors)
  • delete AdWhirl folder (wasn’t being used but never properly removed)
  • clean up a bunch of stale AdWhirl code
  • try to build again (success! 31 warnings but hey, it runs)

TODO

  • fix broken sharing (twitter, facebook, email)
  • test for other broken features
  • clean up warnings
  • convert to arc?
  • update third party libraries

Daily Reading

More to come.

Back on Track

Rather than viewing a brief relapse back to inactivity as a failure, treat it as a challenge and try to get back on track as soon as possible.
Jimmy Connors

A few weeks ago, I posted about lacking motivation towards my app dev projects. I was not getting anything accomplished and needed to get back on track. I decided to publicly admit my slackness in the hope that I would be shamed into doing something about it. I set a goal of completing one task each day with the intent of spending at least an hour a day.

Today, I am going to share the results of my experiment in self motivation. I am working on an update for my workout app RipDeck, and I am very happy with my renewed interest and enthusiasm.

Work Log

The log below is based on my commit log and is sadly not as complete and thorough as it should be. Maybe that needs to be my next goal. The details aren’t that important. I just want to show the kinds of tasks that I have been working on over the last few weeks.

Friday 9/23 – 1.25 hours
Ripped out the tab bar. A tabbed interface was overkill for this app.

Saturday 9/24 – 1 hour
Researched ad placement and moved banner ad to the bottom for lite version.

Sunday 9/25 – 1 hour
Fixed display of history detail on workout completion. Added done button to dismiss detail view and removed ability to go back to other history entries from this view.

Monday 9/26 – 1 hour
Cleanup of warnings from tab bar removal. (Removing the tab bar caused all sorts of pain and suffering.) Updated ShareKit to latest version.

Tuesday 9/27 – 1.25 hours
Added nav bar to main workout view but had to hide status bar to avoid clipping. Looking for solution.

Wednesday 9/28 – 1.25 hours
Added display of modal settings view but need a better button. Fixed clearing of history.

Thursday 9/29 – 1.25 hours
Added icons to workout view for help and settings and wired them up.

Friday 9/30 – 1 hour
Added button for history and wired it up but still need an icon.

Monday 10/3 – 1.25 hours
Cleaned up inconsistent done buttons. Changed history table views to grouped and added share button.

Tuesday 10/4 – 2.5 hours
Watched 4s announcement. Upgraded VMware Fusion to 4. Installed Lion vm. Installed iOS 5 sdk in vm. Launched RipDeck in iOS 5 sim.

Wednesday 10/5 – 1 hour
Cleanup rotation issues. Work on showing news view when new news is detected. (incomplete)

Conclusion

Whew, that brings us up to date. I feel like I fell back into the groove nicely. I missed a few days this weekend due to a family trip to Carowinds (Intimidator is awesome), but worked every other evening for at least an hour. I am pleased with my results and I am very glad that I challenged myself to get back with the program. I still have a lot of work to get the update completed, but I have rediscovered my enthusiasm and I am having a great time doing what I love.

Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don’t settle.
Steve Jobs

Fun with UIWebView

Introduction

Hi. This is my first post for iDevBlogADay so a quick introduction is in order.

My name is Wiley Wimberly and I am a part-time indie iOS developer in Greenville, SC. I use the studio name Warm Fuzzy Apps for my indie projects. During the day I write glue code to make back end systems play nicely together for a telecommunications company.

I have one released app, RipDeck, and several others in various stages of completion. RipDeck is a fitness app based on the classic deck of cards workout. Give it a try for a fast paced, fun and challenging workout.

Continue reading

Automator Service – Add to Reading List (lax version)

Recently, I was playing around with Safari’s new Reading List feature, and I was pleased to see that there is a Services menu item to add links to the list from other applications. Unfortunately, it didn’t work for a bunch of the URLs that I tried to add.

The link detection is overly strict and it seems to only work with well formed URLs that contain the scheme. This didn’t help at all when trying to add links from twitter where just about every one is shortened and does not contain the http:// cruft.

Continue reading

Custom Live Music Archive Feeds

I rely heavily on the Live Music Archive for background music while I work. I like listening to recent shows by my favorite groups for hours of distraction free computing.

The LMA provides a feed of newly posted shows, but it can be somewhat overwhelming due to the number of artists and shows available. To help find shows from just the collections that I am interested in, I created a custom feed using Yahoo Pipes. New shows from each collection are aggregated into a feed and sorted by the date added.

LMACollections

Continue reading