Over the past few months, I’ve been working on my latest cloud-connected smart home project: an automated controller for my blinds. I’m naming this project Helen, after Helen Keller, an inspirational American author.

I’m always improving, and never satisfied, so this project has changed components a few times to get to the state where it’s at now:


Bali solar shades from Home Depot, with motorized option.

The motorization is supplied by Somfy, who basically has the monopoly on motorized shades. They come with a nice, simple, remote control.


My most very favorite cloud connected device, the Particle Photon.

For the…

So I finally finished a weekend project that I’ve been working on (off and on) for months. It’s a replacement for that old fashioned electronic ding-dong doorbell chime in my home with one that’s more Internet of Things friendly. It uses my most favorite electronic toy, the Internet connected, Arduino-like, Particle.io Photon. This is the third project I’ve used it for around the house and I can’t speak highly enough of it. (The others tell me the weather and control and monitor my garage door).

This little beaut is powered by the 18VAC transformer, as most (all?) doorbells are, stepped…

I love Particle. It’s the perfect combination of a little bit of hardware and a little bit of software. It removes all the annoying bits of creating a thing: the firmware flashing, the command-line debugging. It lets me just make things.

So when I found the Sparkfun Particle OLED Shield, I knew it could do something cool. A few days after it arrived, I stumbled upon this inspiring project. So I set out to create my own Particle Weather Widget, and here it is:

Particle has a trick up its sleeve that gives it a huge advantage over the…

A pet curiosity of mine is of the Domain Name System. Its intended purpose is to map domain names (medium.com) to their IP addresses ( Entire businesses (GoDaddy, for instance, and my former employer) are built upon the fact that DNS is a thing.

We internet users don’t really ever think about DNS, we just trust that a domain name will always resolve to the correct, trusted, IP address. But consider this: what if your domain name were to resolve to a different IP address, whose web site looked exactly the same? What if this web site were your bank?

A few years have passed since the smash hit AndieGraph hit the Android Market and a lot has happened:

  • Several new versions of Android OS released: Honeycomb, Ice Cream Sandwich, Jelly Bean, Kit Kat, Lollipop
  • Android Market renamed to Google Play Store
  • Official version of AlmostTI released to the Play Store (with a newer, closed source, version of its emulator engine)
  • AndieGraph reached 850k downloads

Open Source

Now that apps like AndieGraph are becoming more of a commodity on the Play Store, I’ve decided to take it open source. It’s available right now, for those interested, on GitHub:



Most users are…

When writing apps, you often re-use your code, improving it along the way. One function I’ve used in at least 4 apps and implemented in 3 languages (Java, Javascript, C) is a phone number formatter. My requirements for this seemingly simple function:

  1. It must use an easy to configure “dial plan” for formatting.
  2. It must be able to format a “partial” phone number, i.e. one you’re typing in right now, or a complete phone number
  3. It must be able to emulate the behavior of the very excellent iPhone dialer.


Here is my most current solution, in Android flavored Java:


To see an older iteration of the function in Javascript, look at my iDialer config page, click on the dialplan “advanced” link.


For an even older iteration, look at my iDialer source code.

Originally published on May 23, 2011.

Doug Melton

Passionate about learning, mobile devices, music, circuits, and beautiful UX. Android developer @ GoPro. I will make you laugh. Seriously.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store