What Makes an App “Mobile?”

Every time I go to Mint.com on my iPad, there’s a banner at the top of the screen. Taunting me.

Yes, I do have the Mint app installed on my device. No, I don’t want to use it.

The Mint app only has a fraction of the features available on Mint.com. It’s really disappointing. For the most part, I like Mint as a service, but it’s a rare occasion that I open their app.

But I’m not here to talk about Mint specifically. What I do want to talk about is something broader. I want to talk about what makes something a “mobile” app.

Six or seven years ago, Mint would’ve been a great app. These were the days that mobile apps were considered to be almost a satellite experience. A limited, on-the-go sort of experience. All the big features were on your computer, where you did real work, and the mobile app just had a few small, key functions that you might want to do from your phone. Doing real work on a smartphone was for addicts and Crackberries. No normal person would want or need to do work from their phone, right?

No one thinks this way anymore.

In fact, the paradigm has completely reversed. Instagram is a prime example: Instagram is an app first, and a website second. “Second” might actually be too generous a word. For years, Instagram didn’t even have a web view. Now they do, but it’s only that: a view. You can’t post to Instagram from a desktop computer, you have to use their app. Mobile is king.

In just a few short years, the focus has completely shifted. Twitter just killed their Mac app. 93% of Facebook’s daily active users are on mobile. And I’m willing to bet that the numbers for 18-35 year olds are even higher. Mobile isn’t going anywhere. Get used to it.

Mobile is king.

Setting Up My New Phillips Hue Lights

The Phillips Hue lights are a very polished piece of gadgetry. They work reliably, are easy to configure, and fun to use. They don’t come cheap, but if you want a rock-solid product, you can’t go wrong here.

Awhile back, I was sitting at my desk in my room, thinking about how cool it would be if I could turn my lamp on and off by talking to it. So I decided I was going to get a smart outlet that would connect to Apple HomeKit. Long story short, this escalated[1] until I finally decided I would buy a set of Hue light bulbs to replace all the light bulbs in my room[2].

What I Bought:

I purchased two items on Amazon: The Phillips Hue White Smart Bulb Starter Kit and the Hue Dimmer Switch Smart Remote. These four bulbs would cover the ceiling light fixture and the desk lamp in my bedroom. This cost me a little over $100.

Image Credit: Amazon

Hardware Setup:

These instructions were printed clearly on the inside of the box, and they couldn’t have been easier:

Install all the lightbulbs, turn them all on, plug the Bridge into your router, and download the app.

I walked through the app setup process, which involved downloading a software update for the Bridge, and then I was all set.

The dimmer switch was even easier to set up. I simply stuck the little plate to my wall with the included stickers. No screws, no mess, no fuss. Even better, the dimmer comes out (it attaches magnetically) and acts as a wireless remote.

Software Setup: Hue App

In the Hue app, I have all four bulbs grouped together as one room, which I tied to the dimmer switch. Then I created a “scene” called “Ceiling on,” which I mapped to the “On” button on the switch. So when I press the on button, only my ceiling lights turn on. But when I press the off button, all my lights turn off, including the lamp. No more forgetting to turn that thing off!

Software Setup: Apple Home App

In Apple’s Home app, I also have all four bulbs assigned to the same room. I’ve got three of them grouped together as my “Lights,” and the other one by itself as my “Desk Lamp.” Nice and simple.

Software Setup: Siri

I can control the lights using Siri by simply saying, “Hey Siri, turn my Desk Lamp on.” But the Home app goes even deeper than that with its “scenes” feature. A “scene” is a group of settings for any number of HomeKit devices, which can be configured all at once with a single tap, or by using Siri. So I can say “Hey Siri, goodnight” and all my lights go off.

My personal favorite turns my lamp on to 5% brightness and is called “You up.” So if I need a nightlight, I simply say, “Hey Siri, you up?” Straight magic.

Bugs

Not too much to complain about here, except for a minor signal strength issue. We have two routers in my house, and I originally plugged the Hue Bridge into the one in my basement. In hindsight, this was silly, since that’s the router that barely reaches my room. The Hue Bridge had similar performance issues: it worked most of the time, but occasionally a bulb wouldn’t respond. Moving the Bridge to the other router in the garage — the one that does reach my room — seems to have solved this problem.

Conclusion

I’m extremely happy with my Hue lights. They work well, were easy to set up, and are very customizable. My eye for expansion is now turned to my garage. For my dad’s birthday, we’re going to get him a few more bulbs and a Hue motion sensor, so that the lights in the garage turn on automatically when you walk in. Heck yeah!

[1] Whoops. Never leave a nerd alone scheming about gadgets. Last summer I went on a 20 minute walk without my headphones to distract me, and by the time I got home I had convinced myself I needed to buy an iPad Pro.

[2] Except for my nightstand lamp, which I don’t want or need to be automatic.

How to Write an App Using Google

Do you have 1) a great idea for an app and 2) minimal coding experience?

Step 1 — Google Broadly

Start by Googling a basic description of what you’re trying to do, something like “how to use a scrolling picker in Swift.” Chances are, you’ll find a rather simple solution — and by simple I mean that it will have only a few steps. However, those steps will likely use terminology you’ve never even heard before, things like “view controller” and “app delegate.” For an experienced coder, these are simple steps. For you, not so much (and that’s OK!). Which brings us to Step 2…

Step 2 — Google Specifically

Dive deeper into what you’re trying to learn by Googling any terms you don’t understand. Turns out you place UI elements inside a view controller, but what the heck are constraints? Google that too! This takes time and effort to effectively learn and piece together information. But it does work, and it does pay off in the end.

Except when you can’t find what you’re looking for. Which brings us to step 3…

Step 3 — Ask!

Stack Overflow is a wonderful resource to find other people who’ve had the same problem as you and who have already found a solution. I used to be hesitant to post my own questions to Stack Overflow. To be perfectly honest, I was too lazy and too impatient, thinking an answer would take days.

If you think so too, you’re completely wrong. The few times I’ve posted to Stack Overflow, I’ve gotten an educated response within an hour. It’s an amazing community.

Now, make sure you do your homework. First, be sure the question hasn’t been asked before on Stack Overflow. If something similar has been asked, make sure you cite that question in your post, and explain what makes your situation different. Second, be specific. Include large blocks of your own code. This is the only way anyone will be able to understand what you’re trying to accomplish and, more importantly, what you’re doing wrong.

Conclusion

I recently published my first app. Before starting the project, I had some basic experience with coding, minimal experience with iOS programming, and lots of experience with Google. But enough about me, this is about you! With a little determination and a lot of patience, it is possible to Google your way through almost any programming problem. Happy hacking!

 

One Week with the Pebble Smartwatch

I’ve always thought the Pebble looked interesting. A kickstarter sensation in 2012, the original Pebble was the first smartwatch to really catch on. It strikes a great balance between a fully featured smartwatch (like the Apple Watch) and a more basic activity tracker (like a Fitbit). It does notifications and fitness, but also has some basic apps. The E ink display can be on all the time and still allow the battery to last for days. All of this has earned the Pebble a loyal following. Unfortunately, that following is coming to an end. Fitbit has purchased Pebble, and has decided to end the product line. Fitbit had committed to supporting the Pebble through the end of the year, but after that there’s no promises. Fitbit offers its own smartwatch (The Fitbit Blaze), and apparently they weren’t too keen on Pebble’s competition. All of this led to a surprise for me last week.

The Pebble Time Steel

My girlfriend’s dad had a Pebble. After the company was bought, he switched to the Fitbit Blaze. Fortunately, I’m a good boyfriend, and he was kind enough to give his Pebble to me! So as of last week, I am now the owner of a Pebble Time Steel! I really like it. Like I said, it can’t do everything the Apple Watch can, but it doesn’t need to. I’ve had a week to play around with it, and I’ve found my three favorite use cases.

Notifications

The Pebble’s main purpose is to display notifications on your wrist, and it does a great job with this. If I get a text, reminder alert, or GroupMe, I can read the notification right on my wrist, which is seriously useful. The Pebble app lets me customize which notifications come to my watch (read: not Facebook, Twitter, or the like). There is a way to respond to text messages directly from the watch, using either your voice or a selection of pre-written replies. However, since other apps can’t send iMessages on iOS, this can only be done through a third-party service that accesses your phone account and sends SMS messages for you. I’m still not sure how comfortable I am with this, so I haven’t set it up yet.

Fitness

The Pebble also acts as a great activity and sleep tracker. Step counting is especially useful since the watchface I’m using shows my progress directly on the main screen (it’s the green circle in the above photo). More useful than that, however, is the sleep tracking. If you’re not using a smart alarm (an alarm that tracks your sleep cycles and wakes you up when you’re in a period of light sleep), you’re really missing out. There are some great apps that do this using your phone, but the Pebble is so much more convenient because it’s automatic.

“Siri”

By far the most fun I’ve had with the Pebble is attempting to recreate a voice assistant of some kind. All I really wanted to do was dictate reminders, which the Pebble is supposed to be able to do, but it never works for me. I was Googling around for another solution, and I found an amazing app for Pebble called “This Then That.” This app is not officially made by If This Then That, but it does allow the voice engine of the Pebble to connect to IFTTT. This opens up a huge world of possibilities. I’ve currently got two voice triggers set up. Starting a command with the words “Make a note…” sends all subsequent text to my Day One journal. I can also set a reminder by saying “Remind me…” Unfortunately, IFTTT can’t set iCloud reminders directly (without leaving the IFTTT app running), but I’ve rigged it up so that it sends me a text message, which contains a link to the Workflow app, which then sets a reminder. So all I have to do is hit that link next time I pull out my phone. It’s kind of ridiculous, but it does the job, and it’s super convenient.

So those are my thoughts on the Pebble. I wasn’t always a fan of smartwatches, but now I’m sold. A smartwatch can’t (and shouldn’t) do everything a smartphone can, but there are some things that really are easier on your wrist. I love the Pebble. Thanks again to my girlfriend’s dad! ••

Update 3.7.17: Yesterday I enabled the text replies feature and it’s incredibly convenient. Being able to shoot off a pre-written quick reply in just a few seconds, without pulling out my phone, is awesome. Dictating a message is less convenient, especially because the Pebble dictation engine can be finicky. Still, all things considered, it’s a great feature!

To Waze or Not to Waze

(Sorry I haven’t posted in a few weeks, everyone. School’s been super busy. I’m gonna try to get back into writing now 😊 I’ve got something exciting planned for next week 😏)

Waze is an interesting take on GPS navigation. Rather than just using GPS to get to places you’re unfamiliar with, Waze invites you to use your GPS everywhere you go. You see, Waze’s goal is to save you every possible minute while you’re driving – to work, to school, or wherever you’re going. So instead of taking you along the most direct route, Waze takes you on what it hopes is the fastest route – even if that means going through neighborhoods, on and off the interstate, whatever.

Waze achieves this the way I assume most GPS apps get their traffic data – through thousands and thousands of uses, or “Wazers,” with their phones in their cars. As you driving using Waze, you’re also reporting back just how fast that route really was, which influences whether Waze sends the next driver along that route too, or if they get a different path. However, Waze goes a step further on data collection. Wazers can report all kinds of hazards along the road, from construction, to stopped vehicles, and even police and red light cameras. I don’t like that Waze encourages people to use their phones to report things while driving (there is a hands-free voice mode), but I will (guiltily) admit that it’s nice to have this sort of info.

This brings me to the question: Do I use Waze everywhere I go, like it’s intended? No, I don’t. I tried. When I first downloaded the app, I did. But it got pretty old. When I drive to school, I basically have two, maybe three different routes I can take. And they’re all within five minutes of each other. So generally, Waze doesn’t really save me much time, and often it takes me on the same path I would’ve taken anyway. Even if I do take a different path, once I’ve made the first turn or two I know which way I’m going. And those voice prompts get really annoying.

I’ve gotten to the point where I only use Waze when I’m not sure which route would be fastest. Right now, that includes:

  • When I leave school at a different time than normal, and I don’t know what the traffic is like.
  • During the heat of traffic, when all routes could be equally bad.
  • Driving to my new church, where I’m still getting the hang of the traffic on the different routes.

So that’s how I use Waze. Have you tried the app? If so, how do you use it? I’m interested in hearing how other people use this app, so let me know in the comments below, or on Twitter 😊

What I really want is for Waze to just send me a notification before I leave, telling me which route (“I-75” or “Highway 41”) is fastest, and then I wouldn’t even have to use the app at all. Oh well.  ••

“The Far Side” Name Generator

Hey everyone!

Just a short little post here to detail my latest project: a name generator for Gary Larson’s “The Far Side” comic strip.  My brother and I love the names Gary Larson uses throughout his iconic comic strip, so we build a name generator.  It includes every name from every Far Side book we have, and we’re working on adding what we’re missing.

https://staringatphones.github.io/theFarSideNameGenerator/

I originally wrote it quickly in C++, and I wanted to just post that, but I forgot C++ is a compiled language instead of an interpreted one, so you can’t put it in a webpage.  So then I spent several more hours figuring out how to write it in HTML and JavaScript, and then hosted it on GitHub Pages (WordPress.com doesn’t allow JavaScript in pages they host).  As annoying as it was to write the whole generator over again, it was honestly good experience for me to work in HTML (which I had barely worked in before) and JavaScript (which I had never worked in before).

This project is posted on a new page I’ve just added to the blog: Other Projects.  This will be the place for the name generator as well as anything else interesting I do on the internet in the future.  Enjoy!  ••