Well, let's get right to it! Development over the last couple of weeks has been slowing down a bit, and I wanted to give a couple of notes why, and why there's nothing to be concerned about.
Kotlin & Functional Programming
Gotta say, I've been a huge fan of Kotlin since discovering it. If I had to make a bet on where the future of Android development was going to take place, this is the language I'd stake it on. While it's not billed as a functional language, it's more than capable of being used that way. I've been doing some significant refactoring of the codebase, and it's so much cleaner not using Java.
But why functional programming? Recently I've been taking a couple online courses at Coursera learning about functional programming. It's seriously confusing at first (no mutable state? no loops?), but it ends up being incredibly powerful and beautiful.
So development has been a bit slow lately - I've been taking that class, and the homework takes a while. But, I'm becoming a better programmer, and that will make development for this app easier. And a whole lot more enjoyable. And now that the class is over
Going forward
So, what will things look like going forward? Here's a couple of goals I'm setting for myself:
Alpha release by November 30th
The core of the alpha release has been done for a while now - I can download the Bible text and display it. I need to get the project roadmap updated but it's there. There are a couple of things left that need to be addressed before I can say I've hit an Alpha point: UPDATE: I'm using Github for tracking issues instead of trying to maintain a roadmap. Find the issue tracker here
- Jump to text: Currently you can only scroll, the navigation drawer isn't functional.
- Switch active book: You can download multiple books, but the system selects one automatically at start.
- Startup time: If at all possible, I want to get the startup time down below 5 seconds. That will be hard, but the work needs to be done.
- Language filter: Currently all available Bibles are displayed, switch that so only Bibles in a selected language are shown.
After this work is done, I will start giving the app to a couple of friends in order to make sure that it works on multiple devices.
Beta Release by January 31st
The Beta release will seek to be an app that I can actually functionally use on a daily basis. The only feature beyond the alpha that is absolutely critical is search functionality. After this, it will be minimal software for sure, but it will represent the core product of what I want to use!
Following this functionality will be a first release to the Play store. It's crazy to think that I might have an app in the store, but I'm looking forward to it.
Back to Work
So now that the online classes are over, I should be able to get some more development time in. The goals I've set for myself I believe are doable, looking forward to sharing this with the world!