Server Change

I’m having DreamHost move my private server to a newer system which will allow me to use Nginx instead of Apache, which should improve the speed and allow more connections.

This means that all of my sites may be down for an hour or so in the next few days and during that time the I Can Has Cheezburger app WILL NOT WORK, since it uses a feed proxy hosted on that server. After the change and after I switch the PS to Nginx, it should run much faster.

If no problems arise when I switch to Nginx, it will let my sites handle many more requests than Apache.

By signing up for DreamHost web hosting here you can help pay my hosting costs, which will let me increase the memory of my private server, and in turn make it even faster.

A first look at ICHC 2.0

I did a lot of work on I Can Has Cheezburger this weekend, and I now have it more or less usable, although a few UI features are still missing. I rewrote some of my views to take more advantage of Three20, which dramatically improved the performance.

I reduced the memory usage in the LOL Creator (which was always a problem) by not creating a full-sized preview, but only creating the full-sized image when saving or sending. For the preview, I now create the image only large enough to fit in the view (an iPhone camera shot is 1600×1200, although the screen is only 320×240).

Here’s a sample of how it performs on an iPhone 3GS with a WiFi connection.

The results are in

I got my app store sales report for yesterday and the results were less than dazzling. My sales for the day were just about average and lower than on some normal days. Yesterday’s sales were $42, but my best recent sales day in the last week was $51. Rather than donating yesterday’s sales, I will be donating my highest sales total for the week to Partners In Health.

Screenshot 2010.01.21 09.04.42.png Screenshot 2010.01.21 09.35.19.png

In addition, I also bought several other apps and a BassJump yesterday.

ICHC News

The guys at Viddler made a few tweaks to the site and now ICanHasCheezburger videos will play in the application.

I’ve made quite a bit of progress on ICHC 2.0 in the last few days, but it’s still far from finished. I’ve thrown out most of the code from the current version except the Cheezburger API. The feed & image loading is completely rewritten, and the image display code is all new.

Still need to do:

  • Open web page action
  • pinch, zoom & flick gestures.
  • LOL creator.
  • Animated load indicator & message if server can’t be reached.

ICHC 2.0 Progress

I made a lot of progress on I Can Has Cheezburger 2.0 this weekend, although it’s still far from finished. I was having too much trouble with Three20’s TTPhotoView, in particular extremely slow loading since the ICHC sites don’t have thumbnail sized images, which it uses to load a low-resolution preview, and the inability to include videos in the photo stream.

Instead, I’m now loading images asynchronously using code similar to this (the current version loads images synchronously using PerformSelectorInBackground, which is actually more complex).

I’m still using Three20 for the home screen and launcher view, which even lets you rearrange items.

Home Screen
Edit Screen

I now recognize movies that are unplayable (which includes almost all videos at ICanHasCheezburger.com, since Viddler movies need to be specifically download enabled to be playable on an iPhone). For those movies, I’m now displaying a notice rather than just loading the page which will tell you Flash must be installed.

Bad Movie

There’s still a lot more that needs to be done before I can release it:

  • I still haven’t implemented pinch, zoom, and swipe gestures (which I need get working better than they do in the current version)
  • The LOL editor isn’t implemented.
  • No saving or sharing LOLs.
  • I still need to remember the current item for each site.

This will be a free upgrade for all users. I’m thinking of adding in-app purchasing to the free version to allow users to remove ads & unlock other pro features (logging into ICHC and saving favorites) instead of purchasing a separate version. However, I will need to support both versions so owners of the pro version won’t have to download the free version & pay for pro features.

UPDATE: I’m now remembering the current item for each site. I’m doing it in a much better way than I do in the current version. Currently I save a fixed array of offsets which correspond to each site in the same order they appear in the selector. In 2.0 I’m using the site name as the preferences key, which will let me add or rearrange sites without affecting the settings for each site.

ICHC 1.5.3 is broken, wait for 1.5.4 to be approved

I Can Has Cheezburger 1.5.3 crashes immediately at startup because the feed it uses is broken. You don’t have to email me to let me know – I get about 10 reports a day.

Apple still hasn’t approved version 1.5.4 free although they approved 1.5.4 Pro in 24 hours. The updated version uses a different feed which I’m hosting myself. See this post from Dec. 24 which gives the gory details about why 1.5.3 crashes.

Not quite rejected

I just got the following email from Apple regarding the free version of I Can Has Cheezburger:

Hello Mike,

Thank you for submitting your application update to the App Store. Unfortunately, the update to I Can Has Cheezburger 1.5.4 cannot be posted to the App Store because the Release Notes mention features that are only available in the Pro version of the application. It currently reads “Save to favorites is available for all items in the pro version.” instead of accurately describing this application’s update, which may lead to user confusion.

While your iTunes Connect Application State is displayed as Rejected, it is not necessary to upload a new binary. Once the necessary modifications are completed, please reply to this email and we will proceed with your application review.

Regards,

iPhone Developer Program

I changed the description as requested, so hopefully it will be approved soon.