Recently, I am working on a “Bible app”, want to share some thoughts.
My goal is to build a Bible app which is fast and easy to navigate, also with note taking function in three months. (Please don’t ask me why build another Bible app… I am really not the type of business man who is good at marketing research)
Native or Web or Hybird ?
This should be the last question , too early to talk about it 😛
Offline capable ? (Yes)
We should be able to read Bible anytime anywhere, offline reading should be a reasonable user’s expectation.
Social or Personal ? (Personal)
Almost everything go social, but it increase the complexity and I will lose the laser focus. (Social network for christian should be a big thing )
Flat or skeuomorphism design ? Flat (almost flat or not skeuomorphism)
Many peoples love it and it is trending, it can also present text in clear way.
Core data or SQLite ? (Core data)
There are note, highlight and history. Core data is really good for CRUD, it can save many lines of code.
Textview or Webview? (Textview)
Most blog readers use webview, HTML handles text render in elegant way, but there are some problems
– It is difficult to do highlight in HTML, many dom object operations.
– Javascript bridge with native code is difficult and messy.
– Slow in old device (Not a big concern…)
The problem of “Native or web or hybird” always bothers me. In user point of view, I love native because it is fast and polished with animation. In developer point of view, web can save time and allow us to focus on important things. It seems hybird is the way to go, don’t need to reinvent HTML and take the advantage of native UI experience.
Finally, I chose native, because it is easy to do highlight in textview. Also with the support of attributed string in iOS 6, it make text formating easier. (There is a bug in rendering attributed string with paragraph attribute I will explain in another article later).