Today’s Apple Announcement

Well, today’s Apple announcement wasn’t as exciting as I wanted it to be. It wasn’t because the iPhone 5 wasn’t phenomenal, it wasn’t because it wasn’t faster, thinner, better display, or any other reason. It was because the great Apple Secrecy has been shattered. There were no surprises.. Even the last minute crazy rumor of a new set of earbuds, turned out to be true. Yes, I want one, yes I have to wait until my contract is up. Yes it will run all my apps.

As soon as iOS6 comes out officially, I will talk about how some of these new features will be amazing on the new phone. Are you going to buy one?

Sunday is coding time

As I’ve mentioned in recent posts, my day job is a bit overloaded lately. The good news is, after spending significant time working on Saturday, I discovered that I will not have my first thing Monday morning meeting. What that means is, today I get to code!

I’ve been struggling with inserting sprites between layers of a TileMap in my game. To that end, I’ve decided to go back and retake some of the classes I took early on when I first started coding for iOS. I realize that like many things, you need to spend time coding to keep some concepts in your mind correctly.

I’ve also picked up a few new tools to help in the game design, the main one being LevelHelper. This allows for integration of cocos2d and box2d for creating level based games. There’s a great tutorial by Ray Wenderlich on how to make a JetPack Joyride like game using levelhelper. I am hoping to play with this design to get my game designs jumpstarted.

What is your biggest challenge

I don’t have a lot of time to do my blogging, coding, and gaming… I have my day job which has been consuming more and more of my free time, including my time on weekends, and evenings. I bet many of you can relate to that, especially if you are doing mobile development in your spare time. I picked up mobile development a few years ago, as a way of getting back to the code. I’d been a developer many years ago, but as my career advanced, I started doing architecture, management, etc. The more I advanced the less I got to code.

Getting back to the code two years ago, was load of fun. It provided me with hands on experiences that many of my day job’s customers were dealing with. The ability to get back to this level of understanding has been invaluable. Having said that, I am also dealing with many of the challenges that customers and other developers are dealing with. A few of the ones I’ve been dealing with are:

  • Keeping up with multiple device characteristics. Even though most of my development is on iOS, I am still dealing with iPhone vs. iPad, normal vs. Retina. I can only think that adding android or Windows phone will compound that challenge.
  • Testing, and I don’t just mean the device problem. As a one person development team, I find that testing mobile apps to be difficult. I use the emulator to test as much as I can, but I also have to test on my devices. Of course, I don’t have all generations of the iPhone. To that end, I tend to force people to upgrade to “current” versions of iOS. This is probably not practical for most developers.
  • UX/UI design. I am not a graphic artist. So even though I have ideas, I can’t always visualize them. So things don’t look as good as I want them.
  • New toolkits. I am working on a game… Of course I am not an expert on all of the classes and methods within iOS, so adding a game platform library into the mix means I am even less of an expert. When should I use the toolkit vs. native? How to best optimize my apps performance

What are your biggest challenges?

How Fresh is your Code?

I was driving back from the gym this morning, I like to swim on Sunday mornings – I find it very relaxing to do a hour long swim and reflect on what’s the past week has been like. As I left the parking lot, I saw a major grocery store chain’s truck with the phrase “We do Fresh – the Best”. The problem with the giant graphic on their truck was that it was a sub sandwich (or a hoagie if you prefer). It consisted of bread, tomato, pickle, lettuce, ham, olives, and cheese. While the bread, tomato and lettuce could be considered fresh, nothing else on the side of the truck was. Pickles were at one time a fresh cucumber. The olives had been cured. The cheese, was at one time fresh milk. And the ham was also cured. So I guess fresh is a bit of a misnomer.

You may ask why I am writing about this (and yes, I gave away the story in the blog post’s title)? In this age of app stores with hundreds of thousands of apps, getting your app to stand out is more than just having a good / great app. It’s about getting and keeping customers. Let’s face it, your idea may be good, but it’s not hard for people to create very similar apps. (Think about Temple Run and the many knock offs that have come out based on it).

You can choose to expand your app via in-app purchases, and that makes a lot of sense for Freemium apps or those apps which have a defined functional domain that can be enhanced with specific features. But what if you created a utility app? It does one thing, and it does it well. How do you keep people updating it, and new users downloading?

Apple and Android are both coming out with newer versions of their operating systems multiple times per year. Try refactoring your code so that it takes advantages of newer functions. I did this personally with Wasted Time, when I replaced the Twitter code with the native iOS twitter features. Yes, this may cost you some users that are on older devices (or require you to have more complex code), but given the cycle time of people replacing their devices every two years this shouldn’t be too big of a worry.

Also, try reworking your user interface. Are you taking advantage of newer screen resolutions? Are you correctly handling all device orientations? Are you bored with the cool widget you designed two years ago? Change them!

While the sandwich had a bunch of well cured products – olives, pickles, ham – it was the fresh bread and juicy tomatoes that really stood out in the picture on the side of the truck. And let’s face it, it got my attention…