Picslide is now open source

I’ve decided to open source PicSlide, which was one of my first iOS games. It isn’t selling enough to make it worthwhile updating for the iPhone 5. When I looked at the code I didn’t find it too embarrassing and it didn’t make me want to vomit, despite being written in 2009, so I decided to share it. Some pieces like scaling & slicing images and doing Quartz drawing may be helpful as sample code.

The source code is now available on Github at https://github.com/mike3k/picslide

Nexus 7

I’ve had a Nexus 7 for two weeks and there are lots of things I love about it and some things I really dislike.

Good:

  • I love the size. After using it, I really want a 7″ iPad.
  • I really like the universal back button at the bottom of the screen.
  • The soft home button moves to the correct position when you use it in landscape mode.
  • Rearranging icons is less annoying than in iOS.
  • Widgets can be placed on the home screen.

Not so good:

  • UI is ugly. No rounded corners, shadows, or gradients. Everything looks flat & square.
  • Endless march of notification icons across the top of the screen.
  • Many of my favorite apps aren’t available for Android. The only Twitter app I use is Echofon because it’s the only one that syncs my mute settings as well as unread tweets. It isn’t available on Android, which seriously limits my ability to use Twitter on the Nexus 7.

For a long time I dismissed the rumors of a 7″ iPad, but after using the Nexus 7 it makes perfect sense. A 7″ tablet is a lot more comfortable to use than a 10″ tablet, yet the amount of screen real estate is just as usable.

R.I.P. Steve Jobs

Apple reports that Steve Jobs has died:

Apple has lost a visionary and creative genius, and the world has lost an amazing human being. Those of us who have been fortunate enough to know and work with Steve have lost a dear friend and an inspiring mentor. Steve leaves behind a company that only he could have built, and his spirit will forever be the foundation of Apple.

Apple’s home page is now a tribute to Steve Jobs.

Screen Shot 2011-10-05 at 8.06.19 PM.png

Steve Jobs truly changed the world. His influence has impacted the music & entertainment industries as much as in impacted the computer industry. The devices he created changed the way we listen to music, watch movies, and interact with our phones.

iDjembe is now free

For some reason I don’t understand, iDjembe, which is my least interesting and lowest-rated app, is outselling my other apps, including Sugar Rush. This is not good because the low ratings brings down my average app store ratings, despite Removr & Sugar Rush’s much higher ratings.

Last week I tried to kill iDjembe by quietly raising the price to $1.40. That did stop iDjembe sales, but at the same time it brought down the sales of my other apps. Rather than kill it, I tried the opposite by making it free. That experiment seemed to work, and I’m now getting 700-800 free downloads a day, so I decided to keep it free and use it to help sell my other apps.

To go along with the pricing change, I submitted a minor update to iDjembe, version 2.1.2, which updates the info screen with the description & app store link for Sugar Rush, and makes the info button a little more prominent with a cute sugar rush player icon.

Screen Shot 2011-06-26 at 5.25.43 PM.png

Sugar Rush, Removr, and iOS 5

I’ve been able to test my apps in iOS 5 and the only one that has an issue is Removr. Sugar Rush is 100% compatible with iOS 5 and doesn’t require an update.

Removr immediately returns to the menu when you tap play or try to go to a level. I’ve already fixed it and will submit the update after some further testing as soon as Apple accepts iOS 5 application updates.

There seems to be a change in SQLite’s behavior under iOS 5 which affected Removr. I’m storing the level maps as a SQLite database in the application bundle. In the current version, I’m opening the database as follows:


int err = sqlite3_open([self.dbpath UTF8String], &db);

Under iOS 5, that fails unless readonly mode is specified when opening the database. The simple fix was merely to specify read only mode as follows:


int err = sqlite3_open_v2([self.dbpath UTF8String], &db,SQLITE_OPEN_READONLY,NULL);

I will release a Removr beta in the next few days to anyone whose device ID I have (I can’t add any new devices until July 16).

Useful tools for iOS developers

Although Xcode is all you really need to get started with iOS development, there are a lot of useful tools that can make your life a lot easier.

When you’re writing code, Accessorizer can eliminate a lot of the drudgery. You usually find yourself creating lots of properties, which involves declaring an instance variable, adding a @property declaration, and @synthesize in your implementation file. With Accessorizer, you simply select the instance variables, hit a hotkey, and copy the generated code into your source. For example, if you have the following ivars:

NSString *title;
UIView *aView;
NSInteger count;

Accessorizer will generate the property declarations & implementations, which you can customize. In the simplest case, you’ll get this:

@property (nonatomic, copy) NSString *title;
@property (nonatomic, retain) IBOutlet UIView *aView;
@property (nonatomic, assign) NSInteger count;

@synthesize title;
@synthesize aView;
@synthesize count;


You can also have it generate init & dealloc methods and accessor methods.

For source control, you’ll probably want something more advanced than Xcode’s built in source control, especially if you’re still using Xcode 3.2.x. Even with Xcode 4, it only tracks files included in the project, not related files such as artwork & documentation not included in the project.

For Subversion, I like Versions. After looking at every Git GUI client, the only one I found that I like is Tower. For a file comparison & merge utility more advanced than Apple’s FileMerge, I like Changes. It gives a lot of display options and is also really nice for comparing directories.

If you’re using Cocos2D, you’ll need a few utilities to generate sprite sheets, textures, and particle effects,

One tool that’s absolutely essential is a sprite sheet generator such as TexturePacker. It takes a collection of single images and packs them into a single image file with the most efficient arrangement along with a plist that tells how to access each piece. TexturePacker is available in several free & paid versions.

In many apps, you’ll use some particle effects such as smoke, fire, and explosions. Particle Designer makes creating them fun & relatively easy with a large online collection of shared emitters. The plist file it generates can be used with a single line of code.

If you’re using a tile map, Tiled is a nice, free tile map editor.

If your app uses the accelerometer, you’ll need iSimulate to test it in the simulator. iSimulator consists of two components: an iPhone app and a library you include in your simulator builds. When you run the iSimulate app, all movements & multi-touch events will be sent to your app.

Finally, you’ll need to create a nice demo video for your app. Sound Stage is a great way to record videos from the simulator. It can record either the app content only, the app running inside the iPhone, or a custom background. You can also use iSimulate with it.

Minor iDjembe Update

I just submitted a minor update to iDjembe that adds Retina display graphics, a new icon, and a new app info screen. For some bizarre reason it’s selling fairly well, so using it to cross-promote Removr and my upcoming game, Sugar Rush, may help the sales of my other apps.

Speaking of Sugar Rush, the first beta went out yesterday. I’m still waiting for some of the final graphics & sounds. The release is scheduled for Apr. 28.

Removr 1.3 is now available

Removr 1.3 is now ready for sale. New in this version:

  • Now a universal app that runs on iPhone, iPod Touch, and iPad
  • Updated to the latest version of Cocos2d with native retina display support
  • Removed the option to turn off accelerometer.

 

Removr is becoming universal

I was originally planning to make a separate HD version of Removr with different levels designed especially for the larger screen, but after looking at several other games I saw that many of them use the same levels in the iPhone & iPad versions. Therefore, I decided to make a single universal version that supports iPhone, iPod Touch, and iPad. The current levels work nicely when scaled up on the iPad, and I found that kids especially prefer to play it on the larger screen. I’m still doing some final testing and will hopefully submit it in a few days.

Twitter for iPad

I seem to be in the minority, but I don’t like the new Twitter for iPad. It looks much too cluttered, with all of those gratuitous popups & sliders. I still haven’t figured out how to get rid of the panel that appears when you tap on a tweet, other than switching to mentions, direct messages, or timeline in the far left. Entering a new tweet is even worse, with the new tweet sheet popping up above the timeline & detail panels.

I still prefer Echofon, which isn’t as pretty but is a lot more functional & usable. Echofon is still the only Twitter client that supports push notification and can sync unread between the Mac, iPhone, and iPod (which for me is the killer feature).

tweetieforipad.PNG