My eBook Apps 1: Introduction
Sep 11, 2012 09:05

About two years ago, I came out with my first iOS app, Remembary. The App Store makes it easy to sell your own products, so I've started building up a portfolio of different kinds of apps. Ideally these apps can make me some money, but they also make nice portfolio pieces.

Two of the new apps have been interactive books, using a common framework. I've been meaning to write a blog post about how I built them for a while, but have been busy with things like Remembary 2.0. I'm starting a promotional push on these books, starting with a half-price sale until September 18 2012 - so this seems like a good time to finally write it.

About the Books

There are a lot more books out in the world than you'll find in a bookstore, or even in Many consultants and speakers and entrepreneurs have self-published books that they use to supplement their workshops or talks. Many of these books mix short informative chapters with worksheets that the readers can fill out to help them with things like their investments, their pregnancy, their business plan, or their exercise regimen.

These contents-and-assessments books are a natural fit for mobile devices with their portability, storage, and computing power, but most read-only eBook formats don't support these kinds of fill-out forms. So I built an iOS framework for this, and now have two titles:

Leadership @ Work

Leadership @ Work by Bart Mindszenthy and Harvey Silver (App Store Link) is a guide to leadership and effective, responsible management in the modern workplace. The previous printed version became a Globe & Mail Business Best-Seller. The book consists of 75 short chapters which each have an assessment form for the reader to fill out to get a better sense of their leadership abilities and assumptions.

Don't Just Retire: Live It, Love It!

Don't Just Retire. Live It, Love It! by Rick Atkinson (App Store Link). While most retirement guides concentrate on financial planning to make sure that you have enough money in your golden years, this book also helps you figure out how to truly live in your retirement - how to live without a job and still keep your sense of purpose. This is useful for lifelong careerists, but even freelancers who might not ever really 'retire' in the traditional way can learn a lot about how to successfully deal with the later chapters of their lives.

Content and Layout?

In building Remembary, I had already figured out basic ways to flip through and navigate around pages in a virtual 'book'. I adapted the original Remembary framework for Leadership@Work, and by the time I started Don't Just Retire I was able to use iOS5's iBooks-style UIPageView framework like I was using in Remembary 2. Each page would have a chapter or part of a chapter, and you would be able to navigate between chapters by tapping and swiping, or by using a UITableView listing.

The first challenge was in figuring out the best way to lay out the content - not just the pages with their formatted text and integrated graphics, but also the forms, which needed to support different sizes of text box as well as radio buttons and checkboxes.

Now, if only there was some kind of markup language available for this kind of thing. A markup language that mostly kept content and styling separate. A language that deep down worked from plain text source and configuration files marked up with simple tags. Support for scripting would make it a lot easier to work with, too. Wouldn't it be great if this markup language was also already supported in iOS, and wouldn't it be better if I already knew all of the ins and outs of this language as if I had been using it for most of my professional career?

Yeah, it's HTML. And yeah, deep down these books are a bunch of web pages, stored as files inside the app, styled with CSS, and with extra interactivity added with JavaScript.

It's a little secret in iOS development that a lot of apps have bits of HTML in them. The UIWebView interface widget can be squeezed into any corner of an interface where an image or text box can, and it often ends up being used for fancier layout, displaying dynamic or downloaded data in a nicer format, or even for certain kinds of interactivity that might be unwieldy in Objective-C.

This isn't to say that these books are just converted web sites. These books also include iOS-based navigation, and they even store the information that you've written. I discuss how this happens in the next post.

Quick Tip: No Sound on Mountain Lion
Aug 12, 2012 19:43
Other Blog Posts
My Expanded Twitter Thread about BurgerWeek 2021 This Is Nowhere: The Server Side Building a React Native App Without Tears - Part 3 Building a React Native App Without Tears - Part 2 Building a React Native App Without Tears (Mostly) This Is Nowhere: The Memento Edition This Is Nowhere: Aspects of Accessibility Presentations About NowHere This Is Nowhere: Head-First Into React Native This Is Nowhere: Bloomsday Halifax This Is Nowhere: Why an HTML/JavaScript Single-Page App With GPS Is A Bad Idea This Is Nowhere: GPS and Wayfinding and More UX This Is Nowhere: The Single-Button UX This Is Nowhere: Don’t Just Stand There! This Is Nowhere: Finding My Duck Finding Burgers Fast: My DIY Halifax Burger Week Site "This is Nowhere" at PodCamp Halifax 2018 The Diary Diaries: Fixing Remembary's Facebook Connection Special Leap Day Edition of "Some Weird Things About Time" What's Up With Remembary Can't get pg_dump To Work Now That Heroku Has Upgraded Postgresql to 9.4? The Best Thing I Ever Did To Promote My App If You Build It, They WON'T Come #deployaday, My Big Hairy Plan for 2015 Extracting Plain Text from an NSAttributedString My Year of "Hits" Part 2: Remembary Rolling My Year of "Hits" Part 1: Remembary Rises (and Stumbles) Handy Little Test Method to Check for Translations in Rails Apps My Suddenly Slow-Waking MacBook Air Indie App PR: Keeping Control of Your Tone A Quick Note on 'clone' in Rails 3.2 My eBook Apps 2: iOS, JavaScript, and Ruby My eBook Apps 1: Introduction Quick Tip: No Sound on Mountain Lion My Upcoming Talk at PodcampHFX 2012: My Year of "Hits" Building at the Speed of Funny Screencast Tips Remembary's Cool New Picture Support Indie App PR 2: Keeping On Top Of User Feedback Indie App PR 1: How to Handle an App Disaster Giles Bowkett Diary Project 2 Remembary Video Congratulations! Welcome to Your Nightmare! How My iPad App Remembary Took Off Why You Should Have an App in the App Store (Even If You Probably Won't Make Any Money) PodCampHFX Remembary Presentation - Part 3 How I Used MailChimp Autoresponders to Promote Remembary PodCampHFX Remembary Presentation Part 2 PodCampHFX Remembary Presentation Part 1 Why AdWords Ads Don't Work for iPad Apps Remembary is Sponsoring PodcampHFX Why Can't I Resize my Views in Interface Builder? Momento and Remembary Concerning Remembary iPad-Friendly eBooks of Gracian's Art of Worldly Wisdom Project Report: PTOS2 A Quick Note on Encryption We're all LUsers Thoughts on HAML Friday Afternoon Hack - Getting Beyond the Basics Halifax Friday Hack and Back to Basics Quote from Wil Shipley FutureRuby Make Web Not War Busy Week I: Toronto Ruby Job Fair Employment.nil - the Toronto Ruby Job Fair Code Count: Ruby on Rails vs. C#/ASP.NET A Brief Note on Twitter The Hub Halifax and Mobile Tech for Social Change Deep Thoughts on Microsoft From The Accordion Guy The Two Kinds of Defensive Programming Presentation - Fixing Careerious: From C#/.NET to Ruby on Rails Enterprise! Presenting at Ruby on Rails Project Night - May 7th New Name and New Look for Careerious/Clearfit FutureRuby and More From Unspace Health Tips for Programmers This tables meme won't die Careerious - Ruby and Rails vs. C#/.NET Yeah I Use Tables For Layout, So Sue Me The Different Kinds of Done Giles Bowkett's RubyFringe presentation OfficeTime: Great Time-Tracking App for OS X Back With A New Look Non-DRY Feed torontorb Keeping Your Sanity With The Command Design Pattern shindigital Is All Grown Up! (according to the spambots) Startup Stars? I'm so bored! The Magic Words for RMagick Jennifer from Operations You see? Naming is HARD Business Software as Process Documentation Deployment note: 'execve failed' Steve Jobs on Market Research Why Canada Is Better for Entrepreneurs "Program first and blog second" Toronto Tech Collage The MacBook Air Is A Roadster RubyFringe! Quote of the Week: Steve Yegge Starting Up: Cards Great design tool: Starting Up: The Logo Quotes Of The Day: Hedge Fund Interview TSOT Ruby / Rails Presentation Night - Part 1 Moneyworks: Accounting Software for Canadians on OS X Starting Up: The Name Nice logo, but why is your site so bland? Welcome to