notice: I wrote this blog a bit earlier than it’s published but forgot to publish it. Oh why I’m so forgetful?
The main drive force behind me beginning to write this blog was the Get Noticed! 2017 context, started by Maciej Aniserowicz from devstyle.pl. Its rules are simple, post about your open-source project twice a week for ten weeks from the start of march till the end of may.
The way I approached it was to start developing the official Android application of 14th Linux Session. I set out with ambitious goals and proper planning, design and architecture steps. However life got in the way and I wasn’t able to fulfill my plans end to end. I had to sarcrifice several features in order to ship a working application on time and make it look pretty. You can read about all the stages of development in previous entries if you are so inclined.
The past few days
The days coming up to the event were very taxing for me both physically and mentally. I tried to finish the application for which I had virtually no views, only finished architecture. With only few days to spare I had to decide on the features to do first. The code I wrote wasn’t exceptionally clean, nor was it written in the most proper fashion. Nonetheless I did my best to mantain the quality despite the tight schedule I had. I finished up the API and I’m really glad with how I tested it and how it performed during the conference. I also managed to deploy the app and provide day-zero update once it was approved to fix a bug concerning the SugarORM database not dropping tables properly which led to some crashes on Lollypop devices.
Other greatly fulfilling experience I am glad to have had is the fact that one of the other organizers of Linux Session reported a bug to me that I was unable to replicate. I tried on several physical devices and on several emulators and it just didn’t happen. I managed to narrow the problem to one situation and it turned out it was an Out of Memory Exception being thrown because I accidentally forbid Android to downscale certain group of assets. Fix was quick and rewarding and I have come out of it with one important realisation. Monitor your memory use all the time. Not just as a way of finding leaks. Also focus on sudden spikes in memory demand of the app because in such cases Garbage Collection may come too late to save you.
Current state of affairs
As of now, after the Linux Session the application is stable, looks pretty and I haven’t noticed any major bugs in version 1.5. However as May is still going and so is GN! I’ve decided to refactor the code and add several new features to it in order to learn some additional Android related stuff.
You can check he Application out on Google Play and on Github in here:
I am really sad that I hadn’t implemented favourites, speaker <-> lecture redirecting and reminders. They will be among the first things I will continue to improve over next couple of weeks. After that I will try really hard to implement the photosharing and maybe commenting/rating the lectures. I will also try really hard to work on preparing the app for use in future years (More flexible, modular API), more information being downloaded off of the network and other improvements to the scalability of the Application.
All in all, the project was already a huge success for me personally as, even if not used by many people and not so great, it gave me another insight into the difficulties of individual pet-projects when done on schedule. It is still going though and you shall expect more content on it from me soon. Until then, stay curious.