Unread by the Numbers

We’re in the midst of an enormous refactor at Bloglovin. We’ve left thousands of lines of code in our wake over the last three weeks, and it got me thinking about the amount of code that went into Unread over the ~12 months of its development.

Here’s Unread by the numbers, counting lines of code just in .m files. These line counts do not include header files, documentation, or third party libraries except for libraries like JTSImageViewController or OvershareKit which were written by me1 in the course of developing Unread:

26,993       UNRKit (API & persistence code)
20,138       Unread iPhone Project (misc. & not-yet-reusable UI)
17,514       Overshare Kit (sharing library)
 8,637       UNRUIKit (reusable UI code)
 2,430       JTSImageviewController
   381       JTSReachability
   239       JTSScrollIndicator 
   139       JTSSemanticReload
------       ------------------
76,471       TOTAL

I worked on Unread for about a year before handing over the reigns to Supertop. Most of this code was written in the first-six months of development, though.

People might be most surprised by that Overshare Kit count. It represents 23 percent of the overall amount of code. I wanted Unread to have lots of great sharing options from 1.0, and with a library that could be reused in any future app. Overshare Kit is now mostly obviated by iOS 8 Extensions, but at the time it was unclear if Apple would ever bother trying to make sharing easier on iOS.

These numbers also don’t include numerous lines of code from open source libraries without which Unread would have been impossible: FMDB, FastImageCache, jQuery, Bigfoot.js, and others.


  1. In the case of OvershareKit I am not the only author, but I contributed the bulk of the initial library and API design. 

|  1 Nov 2014