Skip to main content

What's Your Emergency? The Motivation Behind My Latest Pluralsight Course

Ionic and Electron for a Desktop App

By now you’ve probably heard some of the excitement about Ionic, a tremendous framework for rapidly building high quality cross platform mobile apps. But using Ionic for building desktop apps? Maybe you think I’m joking, but I’m not. In this post I'm going to describe a modest desktop app using the Ionic Framework.

You may be asking yourself why bother using a mobile framework to build a desktop app? There are a few reasons that come to mind:
  • Perhaps you need an app that runs equally well on a mobile device, maybe an iPad or Android tablet, and you want the experience to match that of the desktop version.
  • You and your users appreciate the simpler, cleaner experience that many mobile apps offer, and you want to duplicate that experience on the desktop.
  • Or it could be that your development budget is tight, and you want to keep things as lean as possible.
In my case, it’s a combination of all three. Whatever your motivations, starting with the Ionic Framework is a great decision. Its clean and attractive components, and easy to learn but powerful API, combine to enable a great user experience.

What Problem Are We Solving?

Have you ever had to call for police, an ambulance, or fire department in an emergency? Most, if not all countries have a special number to dial for such situations. In the United States, it’s 9-1-1. In the UK, the number is 9-9-9. Other parts of Europe use 1-1-2. I’ll try to keep it generic and simply refer to “emergency services,” but 9-1-1 may pop up occasionally, because I am in the US.

Have you ever wondered what happens if you dial emergency services, and you can’t give them your location for some reason? How would they know where to find you? It used to be simple. Your phone number was tied to your home or office. When you call for help, a screen pops up in front of the emergency services personnel with your address. Simple. Until it got complex.

In the late 1980s, cellular phones made locating a caller in an emergency a much more difficult problem. You could be calling from anywhere. GPS-enabled phones in the 1990s helped to solve that problem, but another quiet revolution was taking place in the enterprise; one that required a different solution.

What if you’re in an office cubicle?

On one of a dozen floors?

In a large office complex, spanning potentially dozens of buildings?

If you’re sitting at your desk at work one day and suddenly have an emergency, how does the person on the other end of the phone know where to find you? What does that person’s screen show as your address?

In many cases, the address displayed will be the billing address of your employer. Not very helpful unless you happen to be sitting in that exact spot. And even if the street address is correct, where in that vast office complex are you? What building, floor, room, etc.?

You can imagine that this is a difficult problem, but fortunately it has been solved by most of the enterprise phone system vendors, such as Cisco, Avaya, and others. They have technology that can pinpoint the exact phone that placed the emergency call, and even alert local on-site security personnel and first-responders. So if you’re using one of these vendors at work, all is well, right?

Well, there is one other edge case that even the big companies have a difficult time with: softphones, such as Skype or Avaya OneX Communicator. Some large companies provide these softphones to their employees so that even when they are away from the office, a call to their office number will ring on their laptop. It’s a great convenience, but it compounds the emergency call location problem. 

If you’re working on your laptop in a Starbucks in Washington, DC, but your office number is tied to your desk in Chicago, no one will find you if you dial 9-1-1.

That’s the gap being filled by companies such as 911 Secure. When your company subscribes to their services, your office phone number is registered with them. Your company’s phone system is configured to route emergency calls through a 911 Secure-managed service, which will dynamically look up your present location, and re-route the call to the nearest emergency services location, relaying your physical address at the same time.

You simply need to tell 911 Secure where you are at any given time, before there’s an emergency.  Unfortunately, that tends to be a manual process. That’s where our sample app comes in.

This is the motivation behind the application showcased in my Pluralsight course, Creating Cross-platform Apps with Ionic and Electron

Apart from being the subject of the online course, the application is now officially part of 911 Secure's product offerings, rebranded as Gatekeeper. If you would like to see how it was built, and how you can use Ionic and Electron together to build cross platform desktop apps, I'd love it if you'd watch it, and let me know what you think.


Popular posts from this blog

How to copy your Frozen Free Fall progress to a new phone

It's happened to all of us. You are about to get a branch new smartphone, when it hits you. You're on level 250 of Frozen Free Fall. If you get a new phone, you'll lose all of that progress! Ok, admittedly this isn't the most pressing problem of our time, but it's annoying. So today I decided to do something about it.

I have a Samsung Galaxy S4 (Android), and just received an iPhone 5c. Before you bash me on my phone choice, let me explain that the iPhone is provided by my employer at no cost to me. Now you may proceed to bash me for putting games on my work phone. 
First step: Frozen Free Fall had already been installed on both devices. Next, using the Astro File Manager on my Galaxy, I searched and found the Frozen game save stored in /storage/sdcard0/Android/data/com.disney.frozensaga_goo/files/user.dat. I imagine it will be in the same location on any Android phone. If not, just look for user.dat in a folder with a similar name. So, using a USB cable and the A… Review: Get Free Images for Your Web Site or Application

I have a new favorite site this week. The other day I was looking for a picture of a swimming pool for a mobile app I'm writing (more on that later). Much to my excitement, I stumbled upon an online image catalog called Pixabay. This site claims to have over 360,000 images that can be used free of charge. Their terms of service indicate that every image is bound to the CC0 Public Domain license, which puts them into the public domain, and thus can be used for any legal purpose.

The site is attractive and easy to use. I typed "swimming pool" into the search box and was quickly rewarded with more than 450 images to review.

Pixabay offers three different types of images: photos, vector graphics, and illustrations. You can choose a single image type or all. I changed my search to include only photos, which reduced my search results to 414. Obviously most of their images of swimming pools are photographs.

There are more search options available. You can search by portrait or…

Windows 10/Server 2016 100% Disk on BootCamp and Parallels!

I've been wrestling with Windows on my 2014 Mac Mini for more than two years. Soon after I bought the Mac, I made a 200GB BootCamp partition and installed Windows 7. I also bought Parallels 10 Desktop and pointed it at the BootCamp partition. It was great. I had a convenient VM when I needed something quick. I also had BootCamp when I needed native performance. Not long after that, I upgraded it to 8.1. Then sometime later, Windows 10.

I don't remember exactly when it happened, but one day I fired up Parallels and my entire system ground to a halt. Shutting down the virtual machine caused everything to go back to normal, so I figured the problem was with Parallels. So I upgraded it. Same problem. I made sure Windows was up-to-date, thinking that maybe the Windows Update service was going nuts. Nothing changed. Whenever Windows was running in Parallels, the Task Manager showed the disk activity pegged at 100%.

I tried all sorts of online solutions, but none worked. On a whim, I…