The iScripture.org project was retired on March 3, 2011. See comment #15.
Today marks the official first day for iScripture.org, a Bible viewer for the iPhone. It was specifically written to be extremely easy to use and fast without any distractions getting in the way. I stuck to the KISS (keep it simple stupid) style. The interface is very simple, no images were used, and code was trimmed to reduce loading times on the EDGE network. On the server-side, code and databases are also kept as simple and fast as possible to give the most time to the network to actually transfer search results.
I’m very excited to see how the application scales under heavier use now that it’s out in the wild.
The Story from Start to Finish
So I decided to put my rather idle server to work and make use of the spare resources. Within a few hours I had a simple working implementation. Long story short, and I really wished I had been blogging through each phase, I ended up including several other people in on the project (see iScripture.org About Page). After several redesigns based on the inital underlying implementation we settled on the current one, based off of the simple FaceBook website. Throughout the course of the week we added functionality for complex passage lookups and full text database searches while spending the bulk of our time pulling our hair out trying to actually get The Bible into our MySQL database.
What should have been the easiest part of the project turned into the longest and most complicated: getting The Bible from a poorly formatted text file to the database. I personally wrote 2 different parsers, both iterations failed horribly because of special cases in the text file. The final working parser was written with the help of Professor Schmidt in PHP to achieve the final successful import and ended up being around 230 lines of code. With the different design implementations and glorious failures, I would say that over 2,000 lines of code (incl. HTML & CSS) were written then tossed for various reasons. So, if you have been adding those numbers up, the entire project both client and server-side ended up being roughly only 631 lines with documentation.
Update 3/8/08 @ 5:40 PM: Updated final server-side lines of code tally. The application has also been submitted to Apple Apps repository!