Use SQLite Instead of Local Storage In Ionic Framework

Switching to object-based data storage can often be tough.  If you’re trying to start Phonegap or Ionic Framework development and are coming from native development, the whole local storage concept can be a tough one to grasp.  Or maybe you just prefer a structured query language (SQL) when working with your data.

Not to worry, because there is a plugin for that!

Making use of the Cordova SQLite plugin by Chris Brody, you can use a SQLite data source for managing your data in Android and iOS.  Pair this with ngCordova and you can better compliment your Ionic Framework development with an AngularJS experience.

If you’re using Ionic 2, you should check out this tutorial instead.

(more…)

Find The Application Version In Your Ionic Framework App

If you’re like me, you want your users to know which version of your mobile application they are using.  Nothing like feeling several generations behind without even knowing it.  There are other benefits to knowing your application version.  For example, maybe you need to upgrade legacy data when people upgrade between versions of your application.  You can’t assume your users will be upgrading from the latest version of your application.

Now you can always hard-code the application version throughout your application and hope you remember to change it upon a new release, or you can make use of the nifty Apache Cordova plugin from White October.

My current favorite Apache Cordova framework is Ionic, so we’ll be configuring based on that.  However, it is not difficult to use this information with Phonegap.

(more…)

Updating Apache Cordova Platform To Latest Version

If you’re like me, you’ve been developing applications with Apache Cordova or Ionic Framework for a while now.  Long enough to have received an email from Google Play stating that they are going to remove your application if you don’t update your published application to a more secure version of Apache Cordova.

Apache Cordova announcement:

Security issues were discovered in the Android platform of Cordova. We are releasing version 3.5.1 of Cordova Android to address these security issues. We recommend that all Android applications built using Cordova be upgraded to use version 3.5.1 of Cordova Android. Other Cordova platforms such as iOS are unaffected, and do not have an update.

So how does one go about fixing something like this?  A security flaw like this isn’t the first and it probably won’t be the last.

(more…)

Implement Social Media Sharing With Ionic Framework

So you’ve made a great app, but need some help marketing it.  Adding social media features to your application is a great way help spread the word, without actually doing anything.  Social media can bring good traffic for you, the developer, and provide useful features to your user at the same time.

Take for example, you made a mobile app that finds funny pictures on the internet.  You might want to add a share button that shares a particular funny picture on your users social media account while including reference to your app so all their friends can use it too.

The following will show you how to make use of social media sharing in your Android and iOS mobile application using Ionic Framework.

(more…)

Use Crosswalk With Ionic Framework Android Apps

It is no secret, that many Android devices handle web pages poorly.  Unless you have Android 4.4, your device is using whatever proprietary browser your manufacturer has decided to give you.  The lucky ones who are running Android 4.4 tend to have higher end Nexus or Motorola devices.

This isn’t the end of the road for your hybrid development journeys.  Using Crosswalk in your application replaces the default web runtime with the runtime 4.4 users are already enjoying.  The best part is that this will work with Apache Cordova, Phonegap, and Ionic Framework.  For the sake of this article I’m going to aim it towards Cordova and Ionic Framework, but Phonegap should be pretty similar.

(more…)

Implement AES Strength Encryption With JavaScript

I recently started playing around with the Dropbox Datastore JavaScript API and decided that I wanted an extra layer of security in the data I store on the Dropbox server.  I figured the best way to accomplish this would be to encrypt all data in my application before syncing.

It took me a while to find an encryption library that I liked, but in the end, I chose the JavaScript library Forge.  This library has plenty of cryptography tools that extend beyond just AES encryption, thus making it very worthy to check out.

(more…)

Generate Time-Based One-Time Passwords With JavaScript

I recently released an iOS and Android application called OTP Safe to iTunes and Google Play.  OTP Safe makes use of the time-based one-time password (TOTP) algorithm commonly used with two-factor authentication (2FA).  How exactly, does this algorithm work, and how can we make it work with JavaScript?

Using the following resources as our framework, we can make use of the TOTP algorithm quickly and easily:

  • http://blog.tinisles.com/2011/10/google-authenticator-one-time-password-algorithm-in-javascript/
  • https://code.google.com/p/google-authenticator/source/browse/libpam/totp.html?r=a852f172b62bf58d436e942e59f6439224b1477d

(more…)

Aggregate SQL Data From Multiple Rows Into A Single Row

Recently I found myself needing to aggregate my multiple row SQL data into a single row.  This was because the parent data was more useful to me than the multiple row’d data, but I still needed to include it because it was still an essential part of my report.  The data looked something like the following:


firstname lastname department
Nic Raboy Engineering
Maria Campos Emergency Room
Nic Raboy Operations
Nic Raboy Design

(more…)