Application:
"PQ Lines"
A cross-platform mobile application developed for displaying key safety information to energy transmission service staff. Simple in it's functionality, but with a relatively well-formed code base.
Why did I choose to build this project?
A business need was apparent that would be best addressed and solved with an app that's native to mobile devices, as this app would be used by energy transmissions service staff when outside "in the field". As this app displays key safety information, it is imperative that it functions, is fast, and is device agnostic to Android and iOS devices.
What challenged you when making this project?
The tech-stack chosen to build this native mobile app was "Xamarin.Forms" on .NET, and as it allowed mostly device agnostic "code-once, deploy anywhere" to either Android or iOS devices, it seemed viable. However, to perform minor tweaks specific to Android and iOS, required coding parts of the app using proprietary languages other than C#, which I was not familiar with.
How did I get unstuck?
As "Xamarin.Forms" was very much in its early days at the time of app development, there was a supportive online community that I reached out to for assistance via online forums.
What was my process for completing this project?
Following the Agile methodology under the Kanban framework.
What would I do differently next time?
Once I become very proficient in JavaScript, I would develop the native app using well-established, popular frameworks such as "React Native".
Source:
https://github.com/chullman/PQLines
(Note: some images omitted from the source for copyright reasons)Key Technology:
I had built this application using an early iteration of Xamarin.Forms - an open source cross-platform framework for building native iOS and Android applications with .NET.
The key advantage of this framework is that I was able to write foundational code that was device-agnostic, meaning I could effectively "code once" and the framework will automatically render the functionality to both iOS and Android at the native level. Additionally, Xamarin.Forms still allowed for device specific tweaking of app functionality and design where necessary without needing to know any mobile device specific proprietary programming language.