Monthly Archives: July 2020

Awesome NativeScript

Sometimes I REALLY love NativeScript.

So I have a really hard time tracking my time. Tested multiple time tracking apps over the years and still have many issues with all of them. Always been a real pita for me. So about a year ago I wrote a very simple NS time tracking app which works pretty well for me when I remembered to use it. Meh, problem is I really hate time tracking…

My son, being the smart one and not as picky, found a fairly nifty time tracking app on Android that he liked and he showed me that when you unlocked the phone it would popup immediately. I'm like that is a awesome feature, makes it easy to make sure you don't forget to switch tasks; unlock and click on the new task.

So a couple searches later I added the ability to my own NS timer app. So now, unlocking my phone, the app immediately goes into the foreground and lets me switch the timer task if need be…

Of course I could stop their, but NOOOOO, not me…. I'm out to make this be very functional, so I will actually use it with much better consistency…

So, another thing I kept thinking about over the last year was the ability to control it with voice commands. However, I have always been very privacy focused and REALLY REALLY hated using remote servers for almost anything. Let alone sending Google (or Apple) any voice recognition data. So it has been a non-starter for a while for me…

A couple searches later this last weekend, and I found a awesome open source offline voice recognition system. Works on both Android & iOS (I only integrated the Android side, as that is all I need for my time tracking).

So now I can unlock my device (which of course immediately triggers my app to the foreground) and SAY: "Timer X". The app then searches all the timers for anything that matches, if it matches; it switches to that timer and then uses (also offline) Text to Speech to say: "Starting timer X", so I have a confirmation without having to look at the screen…

All in a simple NativeScript application… If I had to do this all in many other frameworks, this would have been a many day project -- NativeScript was only a couple hours to get it all working...