My first ever Android app- KahanHo

The ‘KahanHo- Auto location sharing app’ is now in Google Play Store

https://play.google.com/store/apps/details?id=theguywith3thumbs.kahanho

Feel free to download and play around.

The complete journey from development to making it production ready has been quite exciting so far. One of the outstanding feature of Google’s Android Publishers console is the depth of statistics available on your published apps.Capture

Currently it’s only me who has installed it. My next target is to understand how to make it appear in Google Play search results. Hopefully it will find some real users and contributors in near future 🙂

Advertisements

The ‘KahanHo’ Android App

I wanted to try what it takes to develop an Android app. One of the simplest use cases is to send your current location to someone who’s interested in knowing where are you.

I believe if you are seriously interested in knowing your near and dear ones’ location, you will call them up and talk. But in case you miss the call, this app will auto reply with SMS sending current location. The reasons it’s better than all other location sharing apps in the market are:

  • No ads, free to use
  • Location not shared to any server, except Google
  • No need to keep GPS/Wifi/Data turned on.
  • Works without GPS. Approximate location sent using Cell Tower.
  • Simple to use, just enter the number and that’s it.

The app is in beta, meaning you can’t find it on Google Play. It’s available for download from here

https://play.google.com/apps/testing/theguywith3thumbs.kahanho

You need to install the app only on the phone which you want to track.

I’ve kept the source code open. Not a great idea commercially for publishing an app in Google Play, but I don’t have any plan to earn from it either.

Please feel free to contribute and share your feedback.

Its has been a learning filled experience in Android world so far. I must admit the reason we’ve some many Android apps because the development environment is pretty easy to pick up.

Raspberry Pi based location tracker

My recently published DIY instructable to track any moving vehicle based on cell tower information  has got 500+ visits in just a few days.

Simple Python scripts are used to fetch data from USB dongle, upload data to cloud. Client side HTML/JavaScript code shows location on Google Maps.

Try some DIY this holiday season 🙂

Got enough reputatioin to upvote on stackoverflow.com!

I had signed-up on stackoverflow.com early this year with an intention to help others and most of all express thanks to all fellow developers who save a lot of time by answering correctly.

With just one accepted answer, my reputation increased by 25. Now I can like/dislike answers 🙂

If you haven’t signed-up yet, give it a go to feel the joy of helping others and sharing your knowledge.

Intercept incoming calls in Android

Android provides a rich development environment even for non Java programmers. With not much of efforts you can build your own apps to do anything you want your Android smartphone to do.

The app I developed, RegexCallerID, is related to how contact manager works. The out of box feature has 1:1 mapping between caller name and number. RegexCallerID assigns a single name to a group of incoming numbers and displays the group name when incoming number is from that group. Sounds trivial? Yes, it is not a big deal and when there is StackOverflow you just need to google it through to help yourself whenever you are stuck 🙂

Android Studio suite is the main tool you need to install to compile, package, deploy and debug. It integrates well with Git and GitHub. Exciting yet obvious features are- faking an incoming call/sms on emulator, debug on a real device and screen capturing. See the Android toast down below.

RegexCallerID-IncomingCall

Interesting observation is- with Android Virtual Device, Android Studio and Android Device Manager running, my modest Ubuntu laptop has good % of memory and CPU available.

The source code is up on GitHub here-

https://github.com/vikash-gupta/RegexCallerID

Feel free to download and play around. It has one screen to assign a regex to the group name. Rest everything happens in background. It display a little toast when matching calls comes thru, but that’s not the limit of what you can do. You can display a new screen, do some analytics or if you are into IoT, you can signal a wifi connected IoT device e.g. Raspberry Pi to act upon.

Android Studio versus Visual Studio features

I got a chance to work beyond Visual Studio while developing an Android mobile app for personal use.

Unlike any web development kit which can be installed on a virtual machine, for Android development you have to use your physical machine. This is because you can’t run a VM inside another VM and for emulating android device, you need to have a Dalvik Virtual Machine.

Having ditched Windows OS a few years back in favour of Ubuntu for personal use, I had to go with install instructions on Ubuntu 14.04. After a few days worth of upgrading to Ubuntu 14.04 from my existing 12.04, downloading Android Studio, SDK and Virtual Machines, I was ready for ‘Hello World’ Android app.

Android Studio has all the features you would expect from a contemporary IDE. I’ve been doing professional development on Windows using Visual Studio for the past 11 years, but I must admit, it lacks some of cool features e.g. Find Usages Window. Without Resharper, one can’t categorize the read and write usages of a symbol. With Android Studio it comes along out of the box!

Android Studio

Android Studio

UPS for Raspberry Pi

Raspberry Pi Operating Systems are by design meant to be powered off gracefully just like others. If they are hard booted often, OS gets corrupted and the only solution I found is to reinstall the OS. This also means you will have to back up your data first.

The power supply that I use for RPi is 24 hours but it’s not uninterrupted. When electricity from pole goes off, power backup from generator takes a few seconds to start and that’s enough to cause RPi reboot.

I had this problem from day one, but a mobile/tablet power bank is the solution for it.

Since RPi has modest power requirement of 5V and 1A, the output from such a power bank meets power requirement. Now I’ve connected it between the USB mobile charger(that I had been using as power supply) and RPi.

It makes a perfect Uninterrupted Power Supply for my little computer 🙂