Built with Ionic: PhoneFlare
What do you do when you’re in a situation that feels unsafe? Wouldn’t it be great if you could leverage your mobile device for personal safety? Well, now there’s an Ionic app for that.
PhoneFlare, available on iOS and Android, allows you to trigger an alarm by ripping an accessory from the headphone port, kind of like the emergency cord on a treadmill; or by pressing a button. You can also use PhoneFlare to set check-in times with family and friends; if you fail to meet those times, they’ll know something’s up.
If you’re in danger, the app texts friends and family your location and automatically calls your school’s safety dispatch if you’re on campus. Advanced features prevent coercion and allow for audio recording and UDID logging during emergencies.
“While designed to curtail instances of sexual assault on campuses, PhoneFlare can have practical applications for everyone, including children and the elderly,” says PhoneFlare developer Chris Jarvis, a filmmaker and game developer who creates projects like PhoneFlare in his spare time. “We’re rolling out auto-call support to some retirement communities at launch.”
Jarvis even created a trailer for PhoneFlare. Watch here.
“We used tons of plugins and were consistently amazed at how well-documented and helpful the community was with all aspects of our development,” says Jarvis. “Cordova plugins, in particular, are so easy to integrate and well-documented that you can get very advanced functionality going in just a few minutes.”
The app integrates LoopBack to a back-end server that actually makes the phone calls and compares the GPS location of the user to the campus geobounds Jarvis and his team crowdsourced.
“Ionic and Angular made the process very fluid and easy across devices,” says Jarvis. “One more of the several things we were grateful we could avoid in both Objective-C and Java.”
The team used navigator.appVersion.indexOf and then showed/hid different design elements with ng-show, or provided different kinds of functionality, to differentiate the app’s look and feel between the iOS and Android platforms.
“What’s amazing about Ionic is how quickly you can substitute design elements and change/prototype layouts, says Jarvis. “I never had to use any kind of mockup software because it was just as quick and easy to throw it together for real using the live console. Ionic Lab was also a huge help in this regard. And the ability to control it all from the CLI just makes it that much snappier.”
Jarvis notes the usefulness of having one codebase and the flexibility of an intuitive language like AngularJS.
“Live serving and being able to debug in a web browser is a huge plus and something that came as a very pleasant surprise,” he says. “You can get into a rhythm that’s difficult to attain when you constantly have to recompile in more traditional IDEs.”
Jarvis has been using Ionic since he first learned to code and a friend of his told him about Ionic, and he credits the Ionic community with making his journey into mobile development so positive.
“AngularJS was the perfect first language and Ionic the perfect framework—both incredibly powerful, flexible, and intuitive,” he says. “I was able to learn so much by sifting through the documentation and codepen tutorials and by having questions answered personally from an exceptionally friendly and supportive community. When diving head-first into something for the first time, that sense of support and community is so invaluable. Without Ionic, I’m really not sure I would’ve had the patience or confidence to bring my artwork into a software context.”