It seems like a lifetime ago since I wrote the PhD although it stays in my memories forever. It was a challenging experience and while I am really proud of creating multiple games. I can say that I have started in Android development having little to no experience of it. I had spent a long time figuring out what was Unity 4 and C# within Unity and having made the change to Java and Android development I feel like it is a different kettle of fish.
I find myself looking for better code, more efficient steps, what are the best ways to use git, what does industry say about using cherry-picking when on a particular branch. Why making code more efficient can help the application. Tracing back through the top level app to the Android Operating System (AOSP) and looking at the Dalvik virtual machine that was used initially as a way to use Linux kernel in AOSP. How Dalvik is now not used in the later version and what happens to the efficiency of the software. Software re-usability is key and while inheritance is used within the code, it seems there are parts of the code that can be seen as customised in particular parts.
I have now worked a lot with the MVP or MVVP architecture for one feature and I have to say, it is easy to read, reusable and most importantly for here has reduced the amount of code used for one feature. It has reduced 10 separate files to four even with the addition of one for a separate page calling a new intent, it is still a lot less.
I am reminded of the PhD and trying to understand what I did, where I did it and why I did it and reading the abstract it doesn't show as much of the code and ins and outs that I struggled with. It didn't really expose the amount of sleepless nights and hours sitting in front of a computer forgetting to eat in order to get the WiiMote to connect to a particular Windows machine using a Broadcom driver and not realtek all within Unity. The hours spent reviewing Will Goldstones Unity videos while the Unity Learn feature was not available on their site nor was the GUI of Unity 5+. I had a look at the appendices of the PhD and thought I'd have more code provided in the design document or anywhere else but it seems not to be the case. I guess, it was the plan afterwards to commercialise it so I kept that to a minimum.
Feel free to read the abstract below - you can tell it was hiding a lot more of the technology that I thought at the time. The last line of the PhD I am happy said the following:
“Progress is impossible without change, and those who cannot change their minds cannot change anything.”– George Bernard Shaw
I feel like this stands true today more than ever after the PhD. It seems I have to also change my mind towards learning. I have challenged myself and found myself being a little 'beaten down' by industry and the 'showing off' nature of code or the putting down of code from past colleagues. I am learning and I am also learning that I love coding. I want to code, I love hardware and software and learning new things. I enjoy the thrill of getting something to work and spending hours trying to figure something out. I love working with my headphones and listening to something uplifting while feeling like a whole day is gone in a minute. I am in flow and I am engaged with my work and I am here to stay. I love technology too much to give up on it easily. I am ready to keep going and keep doing what I love and improve every step along the way.