tags: UWP, Windows 10, Xamarin, Android

Some time ago I was working at a healthcare technical support organisation who's responsibility was the development and maintenance of internal and external web applications. These applications were not patient centric, but more informational and were created mainly using the Umbraco platform. I was only a contractor at this organisation and as soon as I started there it became apparent that no one was actually monitoring the health of these applications in a proactive manner. Occasionally we would get phone calls about a site performing slowly or in some cases, just not there at all. I asked as to why there was no monitoring and the answer was that they didn’t trust third party software especially from outside the network to have access to what was inside. A monitoring tool was always something they wanted, but didn’t have the resources to implement. After my stint working there I decided to create an app that could be installed within the internal network and monitor basic statistics of web sites without having to punch a hole through the firewall. So I created the first incarnation of WebUp on the Universal Windows Platform using JavaScript and HTML (well I am a web developer after all). Over time I got a bit of traction and the app worked just fine. Now 3 years down the line, I have completely rewritten it using Xamarin Forms and it is now available in both the Windows Store and Google Play Store.

screen-3

screen-4

WebUp on Windows devices


screen-1screen-2

WebUp on Android devices


Technologies

I developed it using Xamarin Forms and has a SQLite data store using the sqlite-net-pcl package from NuGet. Messaging is achieved using the MailKit package which sends notification emails via SendGrid. Underneath, it is using .Net Core 2.0 with all app logic in a shared app project and individual projects for Android and UWP.

Issues

The original version of WebUp allowed the pinging of raw IP addresses which I also wanted in this version, however the Ping functionality is not available on the UWP due to security restrictions around sandboxed applications. I am still pondering on a work around for this.

The future

I have a few ideas of where to take this app in the future, one idea is the collection of long term data so users can drill down and see the performance over time of a web application.

Happy coding