TechBash 2018

Featured

This year I will be presenting Enable IoT with Edge Computing and Machine Learning at TechBash. Here is the outline:

Being able to run compute cycles on local hardware is a practice predating silicon circuits. Mobile and Web technology has pushed computation away from local hardware and onto remote servers. As prices in the cloud have decreased, more and more of the remote servers have moved there. This technology cycle is coming full circle with pushing the computation that would be done in the cloud down to the client. The catalyst for the cycle completing is latency and cost. Running computations on local hardware softens the load in the cloud and reduces overall cost and architectural complexity.

The difference now is how the computational logic is sent to the device. As of now, we rely on app stores and browsers to deliver the logic the client will use. Delivery mechanisms are evolving into writing code once and having the ability to run that logic in the cloud and push that logic to the client through your application and have that logic run on the device. In this presentation, we will look at how to accomplish this with existing Azure technologies and how to prepare for upcoming technologies to run these workloads.

 

Announcing – Atlanta Medical Hackathon

Finally, the Atlanta Medical Hackathon will have its inaugural hack October 19th-20th. It will be held at the Pediatric Technology Center at Georgia Tech. The hackathon is open to students and graduate students focusing on information technology or medicine.

Medicine and technology go hand in hand but professionals of each speak a different language. The professions have different workflows, different standards, and different needs. The Atlanta Medical Hackathon plans to bring students from those different professions together to learn how to work with one another and remove the current barriers that exist.

The challenges of the hackathon are as follows:

  • Navigating Healthcare – Patients have great difficulty knowing where to get the care they need at the right time. Part of the challenge comes with having an incredibly complex health care delivery system. To help patients, create new tools to improve patients navigate through the health care system and obtain access to community based care, wellness programs, and other ancillary services that support individuals improve their health.
  • Transparency in Healthcare – Transparency, whether cost, data, or anything else, has been a great issue in health care. Without information patients cannot make the right decisions on treatments, doctors, or labs/imaging amongst a long list of other things such as wait times. Tackle problems in data transparency to allow for patients to discover what medical information is around them (providers, insurance acceptance, pricing, wait times, etc.). Solutions should consider open access and HIPPA compliance.
  • Accessible Healthcare – Patients need to be supported by tools that will educate and empower them to make the right lifestyle choices and help them stick to their treatment plans. They get some information from their physicians or other sources but a single source would dispel a lot of mixed messages and help patients follow suit with decisions that support a health life. Create a solution that allow patients to make better health decisions allowing for self-management of disease and condition and to know when to contact their medical provider. Think creatively on how to change patients’ thinking from “The doctor will see you now” to “The patient will see you now”,
  • Medical Imaging – Create innovative solutions using imaging technologies and data analytics to provide better patient care.
  • Transitioning to Adult Healthcare – Changing doctors is never easy. When you’re a teenager new to advocating for your own health care, or one who has a chronic illness like diabetes or cystic fibrosis, it can be even more challenging to make the transition. Create new tools to assist pediatricians, family physicians, and internists to support all adolescents, including those with special health care needs, as they transition to an adult model of health care.

Home Control Flex Major Release

After nearly a year of hard work, the Home Control Flex application has finally reached a new release point. There have been major improvements around the use of Xamarin Forms and the use of mobile features. There were major changes around framework dependencies and utilization of navigation pages.

The major problems in the previous version was poor usage of navigation pages, dependencies on old frameworks, and lack of sharing of global resources. Adding all of these failures together resulted in an unstable application that crashed on multiple pages. Fixes to those crashes were a slow roll out of shims and hacks to keep the previous decisions working.

The largest problem was the poor usage of navigation pages. For some reason, to implement a tabbed page where the tabs were at the bottom on Android, the previous developers decided to use a ContentPage, and make the tab pages within the ContentPage  ContentViews and swap those views out whenever a tab was changed. This caused almost every major problem that could not be resolved in the app moving forward. To fix it, the BottomNavigationBarXF Nuget packages was used. The base renderer was overridden to implement some custom functionality but overall it was a clean integration or at least as clean as such a big overhaul to the navigation system can handle.

Since the pages were being swapped out whenever a tab was changed, the previous developers mush have decided that instead of needing navigation pages, they would just continue to change the view out and have their own navigation stack. Without using NavigationPage within their app, the page lifecycle was completely off and the were object disposed exceptions that were being thrown by the Forms framework due to the fact that the views lifecycle was not correctly managed. Xamarin Forms couldn’t track whether a view was to be reused or not and would collect on disappeared views that were going to come back later. Once NavigationPage was used this was no longer a problem.

When I inherited the app there were multiple frameworks being used in the application. It seemed to have a javascript approach where a framework may be brought in for some partial functionality or even a single method. Xamarin Forms Labs was the biggest offender when I inherited the app. The previous developers had referenced it to use it for one control and two converters. Once it was removed, the application was much more light weight on disk. At the time it was removed there was no noticeable performance gain but that was most likely due to the lack of utilization within the app and the fact that I had only been with the app for a month.

This app was riddled with copy and paste code reuse. Every page shared the same Style declaration with the same name (which was the style for that page). Every page had a declaration of a Converter for inverting a boolean. All these “shared” resources were moved to the App.XAML for reuse by every page within the application.

After fixing the above issues, changing a variety of pages within the app, and adding a load of new features, the app should finally be a stable release with market effects that was expected out of its first release. I hope to continue to improve on the line of applications from Telular including this app.

Big IoT week in Atlanta

This coming week there are a few IoT events in Atlanta:

Monday November 6th, the Atlanta IoT group will be meeting at 7:00 pm to discuss Turning software into computer chips.

Tuesday November 7th, Kristin Ottofy and Microsoft will be hosting a Cloud IoT Hack at the Tabernacle.

Wednesday November 8th, Georgia Tech will be hosting the Internet of Things for Manufacturing Workshop.

Thursday November 9th, IoT.ATL will be having a Workgroup meeting.