Improving The Photics App-Book Engine

Article Thumbnail - Revisions in XcodeAfter the Kindle Experiment, I knew that I had to put Revisions back on the iTunes App Store. Yet, I didn’t just want to chuck the same old code up on the site. This was my very first iPhone app. Two years later, it needed some improvement. I decided to push myself and battle with code. It’s been a grueling past few days, but I think the “Photics App-Book Engine” has improved improved significantly. The relaunch of Revisions includes four-way auto-rotational support, universal binary support and zooming. This should dramatically improve the books readability.

I started out with old-school thinking. I have an Xcode project that uses a WebView for displaying HTML pages. If I can use iOS to display HTML pages, why not use HTML / JavaScript to add new features? And initially, that idea was working. I could use JavaScript to detect the platform. That allowed me to create custom content for iPad and iPhone / iPod Touch. The two main iOS platforms have different screen ratios. To keep everything looking pixel-perfect, JavaScript can be handy. But eventually, I hit a problem…

Apple didn’t like my cookies! :D

This is why it can be difficult to explain what I do. When I mention “Cookies” or scalable text, people either make a joke about sugary sweets or are generally underwhelmed. Yet, it’s these little details that improve the reading experience. Reading on a tablet or a smartphone is different than a printed book. Many of my customers are reluctant to buy my books because they hate reading on digital screens. My role is to make the digital version of the book more enjoyable. Instantly changing the size of the text is not something that can be done with a conventional book. Features like this matter because it makes the reader more comfortable.

So what does that have to do with cookies?! :lol:

I was using cookies to store the font size preference. With JavaScript, the reader could select the size of the lettering. By personalizing the settings, the reader can better enjoy the book. The HTML / JavaScript code worked perfectly in a web browser like Firefox, but it didn’t work locally on iOS. Something was blocking my cookies. And when someone would ask me how my day was, it would sound pretty silly. “Apple is blocking my cookies!” As I was researching the matter, I realized that I should probably expand beyond 1990’s technology. There must be a way to resolve this matter in Xcode.

I don’t like working in Objective-C. It’s so tedious. Unlike HTML, PHP, or Lua… an Xcode project doesn’t start out as a single document. It’s many little annoying files — AppDelegate.h, AppDelegate.m, ViewController.h, ViewController.m, Info.plist, and more! Yet, readers don’t care about the difficulty. They just want a nice reading experience. So, it was a fight with Xcode… one from which there could be no retreat.

I think determination is one of the most important things about app development. After struggling with the problem for many hours, I managed to find a solution. The “Photics App-Book Engine” was enhanced with instant text zooming. I liked it. I had fun clicking the little magnifying glass icon, toggling between the different text sizes.

Today, I felt that Revisions was ready for relaunch. I sent the new app to Apple. In about 7-10 days, it should be online. I’m looking forward to updating The Unofficial GameSalad Textbook with text zooming too. I think it dramatically improves the reading experience — especially on the iPad.