How to resolve Apple HomeKit issues between the Chamberlain MyQ Home Bridge with a UniFi router

If you have a UniFi setup with a Chamberlain MyQ Home Bridge, sometimes it can be flaky under HomeKit. Specifically, the issue that I was seeing was that the garage door opener could be seen and controlled by the MyQ app, but in the iOS home app, both the MyQ Home Bridge and the garage door opener showed the dreaded “No Response” message. It turns out that the issue is that HomeKit WiFi devices tend to use the 2.4GHz band, but your computers and other devices are probably on the 5GHz band. The UniFi router/WiFi access points will silently create 2 networks with the same SSID… one that’s 2.4GHz and one that’s 5GHz.

Normally that’s not a problem, but due to the way that HomeKit discovers devices, it becomes a quite annoying issue. Basically, HomeKit/Bonjour devices advertise themselves using something called Multicast DNS. In some cases, the UniFi software won’t send the Multicast traffic between the 2 networks, so your HomeKit bridge can’t find the MyQ Home Bridge.

The way that I fixed it was to open the UniFi Controller interface and turn on the setting named “Enable multicast enhancement (IGMPv3)”. I found it under Settings > Wireless Networks. I clicked Edit on my wireless network, and then I clicked Advanced Options to reveal the setting. Once I applied that setting, my Home Bridge showed up immediately.


Don’t ride in the bus. Drive your own car.


I’ve been entrepreneurial since I was young. I started my own business when I was 15, and although I’ve had more than a few years of working for someone else, my goal has always been to work for myself. Over the years, that feeling got stronger and stronger. I was tired of being asked for my opinion about something, taking the time to give a well-reasoned answer and having my advice be completely ignored. I was tired of working on things that never shipped. I was tired of working on things that had no reason other than “because I said so”. I’ve always done my best work when I can see the reason behind the work that I’m doing. Around February of 2013, the startup that I was working for ran out of money and after panicing for a few months, I realized that I’d built up enough of my own business over the years that I didn’t have to find another job. I figured out that if I just focused on growing the apps that I was already working on, I’d be fine.

It’s been a great ride so far. My business has grown and is continuing to grow. By December of last year, I was making as much revenue in 5 days as I did in the entire month of April.

I’ve been doing a lot of thinking recently about why I prefer running my own business. I’ve come to the conclusion that I feel that running your own business is like driving your own car, while working for someone else is like taking the bus.

When you ride in the bus: You can make suggestions to the bus driver, but they don’t have to take them (and they probably won’t). If the bus gets in a wreck, you (and everyone else in the bus) might see it coming, but the only one who can decide to avoid the accident is the person behind the wheel. The bus driver can also decide to kick you off of the bus at any time, for any reason. Conversely, if the bus is consistently the best bus on the road and never gets in any wrecks, it might get upgraded over time, or traded out for a new bus. Everyone in the bus benefits from things like heated seats, free meals, video screens, free wifi, etc (health insurance, stock options, bonuses). You can focus on just the job that you’re getting paid to do. As long as you’re getting that job done within the organization, you’ll probably get paid.

If you drive your own car: You have to be alert all of the time, because your business depends on you being able to see issues coming, and avoiding them. You’re responsible for all of the decisions, so your failure or success depends on you. However, you can take your foot off of the gas at any time. You can take a shortcut, or a more scenic route.  You can buy a sports car if you want (which may accelerate your success or failure, depending on how you drive), you can drive a reliable, dependable car, and you can even drive a minivan if you want (doesn’t go as fast as the rest, but it holds your whole family!), depending on what’s most important to you. Your mistakes and successes are your own.

In my experience, it feels pretty good to be the one driving the car, instead of riding the bus with everyone else. It’s great not to be tied to the same destiny as everyone else, with no real control over how things end up. It’s not the best choice for everyone (some people prefer the illusion of security that employment brings), but it’s definitely the best choice for me.

Maybe you shouldn’t be riding in the bus either.


Say No More Often.

Earlier in my career, I found it very hard to say no to anyone who asked me to do anything for them. I was just happy that people were using what I built, and I wanted to do whatever it took to keep them using my products. If a customer asked for a feature, I’d most likely trip over myself to add it.

Lately, I’ve been saying no more often, both to existing customers who ask for things that are outside of the direction that I have in mind for my products, and to potential new customers who ask for me to do things that I’m not comfortable with (recently a potential new customer asked me to sign an NDA for them to start a trial of my SaaS app, and I said no).

I think that the root cause of my inability to say no in the past was that I didn’t really have a defined audience or direction for my products. It’s pretty hard to be able to say no to things if you don’t know who you want as a customer. So I took some time to define my ideal customers. Since I know who they are now, I also know who doesn’t fit into that group, and it’s easy to tell them no when they ask for things outside of that. I’ve also found it easier to say no once I realized that even if I did what they wanted me to do or added the feature that they wanted me to add, it wouldn’t be something that I would really care about, so the app would suffer overall from lack of focus, and they’d probably leave eventually anyway because I wouldn’t be fully invested in making that feature better over time, leaving me with a feature that literally no one wants.

So, take some time and figure out who your ideal customers are, and what your longer-term vision for your product is. It doesn’t even need to be super long-term, just your vision for the next couple of months is fine. Taking time out from the daily grind of writing code or marketing your app to define who you want for your app to serve will pay off dividends for years to come, and your app (and your life) will be much better because of it.


The stages of being an entrepreneurial developer

Learn to code. Write a lot of code for fun.

Figure out that people will pay for you to write code, start writing code as a job.

Figure out that you want to be in control of your own destiny, and start writing code to solve problems that you see. Make no money.

Figure out that you actually need to solve problems that people see as problems and are willing to pay for solutions for.

Figure out that even though you’re solving real problems that people are willing to pay for solutions for, no one knows about them.

Figure out that you can write the most technically brilliant code ever, but if no one knows about the value of your code, it’s worthless because you can’t feed yourself with brilliant code.

Figure out how to tell people about your products, and how to present them in a way that people will pick up on and buy.

Start selling products successfully.

Spend more time thinking about writing code than writing code.

After thinking about writing code a lot, write less code.

Write smarter code.

Blog more.

Write better marketing copy.

Teach others.

Keep learning.


Consider the source.

People are always giving us advice, both in our personal and professional lives. It’s unavoidable, unless you’re a hermit. But a lot of advice that you get isn’t actually going to help you. Many people mean well, but they are giving you information based on their own experiences, which will never exactly match yours.

Always consider the source. Is there an ulterior motive behind the advice? Is the advice something that won’t really work for you, given your situation and your goals, even though it legitimately worked for someone else?

If a surgeon who specializes in gastric bypass surgery tells you that low carb diets don’t work and that you’ll gain all of the weight back (and more) after you stop the diet, they’re most likely just trying to get more business. If someone tells you that content marketing is the best way to gain an audience online and they’re selling you content marketing courses…. they might be right, but they might be trying to sell you something. If your parents tell you that you should have a baby soon, is it because they actually believe that you should, or do they just want a grand-child to play with? 🙂 If people keep telling you that you should buy a house, is it because you actually should, or is it because they own a house and are jealous that you aren’t tied down to one place like they are?

Unless you have several data points from different sources that are all saying the same thing or reaching the same conclusions, take all advice with a grain of salt. A lot of advice out there is actually helpful and shared by people who care. Your job is to be aware of why people say the things that they say, and to take the information that best applies to your situate, which only you can decide.

Start with this post! I’m giving you advice. Consider the source.


It’s ok to take your foot off of the gas pedal.

Since I launched my first web app in 2006, I’ve had my foot on the gas. Since then, I’ve built, or been one half of building 13 other web and/or iOS apps. It’s only been 7 years. I guess you can say I have a lead foot.

For most of that time, I’ve been creating my own stress.

I’ve been stressed out for most of that time. Either I’m stressed out that I’m not building fast enough, or that something is breaking and I have to fix it, or that some customers are driving me up a wall, or that someone on a project isn’t pulling their weight and putting more of a burden on me. Some people are never going to be as crazy about building products as I am. I can’t expect them to be. I’m not going to spend so much time worrying about things that I can’t change. I’ve realized that the majority of that stress is stress that I put on myself. 

I’ve long known that if I took my foot off of the gas, not much would change. If I didn’t stress out about getting to every single customer immediately, not much would change. A customer will be almost as happy about getting a response from me if I get to them within an hour or several, instead of immediately, and I’ll be a whole lot less stressed out about having to immediately get back to people. Not everything is an emergency. It’s taken me this long to really internalize it, though.

Even though I’ve known for a long time that I shouldn’t be building my apps to meet every person’s needs, it’s been very hard to say no to people, because someone has a need and is paying me for a product, and I’ve felt a personal kind of responsibility and pressure to build whatever they want. No more. For the past year or so, I’ve still been listening to customer requests, but I’ve been considering the long-term ramifications of every feature, and prioritizing the development of feature requests that will benefit most, if not every user of my apps. It is helping to keep me sane. For awhile there, I forgot that the point of building products is to give me the freedom to build the things that I want to see in the world… to be able to say no to things if they don’t fit my long-term vision, and to not have thousands of bosses.

There was never enough time because I wasn’t making enough time.

I have been using a GTD app since 2008. Or maybe the right word is abusing. I’ve been using it all wrong. I separated things into projects at first, but then that devolved into a state where I was just dumping everything new into my Today folder, when I knew full well that I’d never get all of those things done in any given day, especially since I would remove 2 things and add 5. At the end of every day, I would feel like a failure, even though I had obviously set myself up for it.

When it got to 80 items recently, I said enough is enough, and decided to make time every day to sort out my to-do list. Every night I get a notification to review my list and get my Today list ready for the next day. Starting the day with 5-10 items is a lot more realistic, and sometimes I actually get to all of them now!

I’m giving myself permission to slow down. To get in the slower lane. To pull over to the side of the road, get out of the car, and walk around. I feel much better already. You should try it.

You will feel better too.


Hey. You.

You know that thing that you’ve been putting off, that thing you know that you should do but haven’t done yet?

Not that thing. You know the thing. Yeah, that one. That phone isn’t going to make that call for you. That email isn’t going to write itself. That code isn’t going to get written without you. The only person who can make it happen is you. It’s just going to sit on your list forever and weigh on your mind until you do it.

Do it. Do it now.

When you’re on the other side of it, you’ll feel much better, I promise! You’ll wonder why it took you so long to just do it.


The Middle.

Lots has been written about launching your first app, and lots has been written about people with successful apps. But who is writing about the time in between? Who is writing about the much longer period of time where you’ve launched an app, found product market fit, and are slowly climbing the path to freedom?

Let’s call it the middle. The time where you’re not making enough money to quit your day job, but you have enough customers to need to do real customer support.

Here’s what it feels like:
You don’t know what you’ll wake up to… Maybe lots of your customers will have an issue, because your VPS provider restarted one of your servers in the night and it didn’t come back online properly.

Maybe an important potential customer has an important sales question for you, and you’ll need to drop everything to deal with that, because that one customer would double your revenue.

Maybe you’ll actually get to spend the day writing code, like you used to before you realized that there’s a LOT more that you have to do to make your business successful, and if you code it, they won’t necessarily come.

Maybe you’ll have absolutely no support to do, and you’ll momentarily freak out because you think that your help desk software is broken.

You feel like a ping-pong ball, bouncing from one thing to the next, trying to keep everything in the air at once.

But, it also feels GREAT.

You’re making progress.

Every month, your dreams become more real.

Your business is growing.

You can see the light at the end of the tunnel.

You have real customers paying you real money to solve real problems.

You’re having conversations with customers who love your product so much that they take the time to let you know how much they do.

It’s freaking awesome.


Sometimes your customers won’t ask for support, even if they need it.

Recently we rolled out a feature in our apps where where active users get asked how they feel about our apps, and they can pick how they feel and optionally provide a reason why they feel that way. This is already proving to be a great touch-point for knowing how our customers feel about our app over time, and measuring their sentiment.

Retained Sentiments

Something that we didn’t realize before we put this feature into production was that our users would use the opportunity to let us know about issues that they were having, but didn’t feel was worth opening a support request for. We’ve already been getting great comments about things that people are having issues with, things that we should add, and things that they like. The thing is: we have support links on the top of every page of our apps. Our customers could have told us any of this at any time, but they didn’t until we asked them.

So, take some time and ask your users how they feel about your app (or specific features of your app) on a regular basis. You just might be surprised at the conversations and insights that come out of it.


Find new markets by analyzing your existing customers.

A lot of times, I’ve wondered how to get more customers for the apps that I run. I’ve done a few different things to solve that particular problem, but one of the simplest has been to take a close look at my current customers. These are people who see enough of a need for my product that they are already paying me. That’s a great indicator of who I should be focusing my sales/marketing on, because a lot of times when I’ve built something for one type of customer another customer in a different industry discovers my app and sees a use for it. Going through your list of paying customers, then identifying their industries and how they are using your product to solve their needs can give you valuable insight on how to expand your market.

For instance, we built Dispatch to pull information out of emails and send that information either directly to other systems where it’s needed, or to perform different actions using that information. One of our customers is using it in a completely different way than we imagined. They have a copy machine in their office that can send image attachments via email, so they added their Dispatch email address to their copy machine, and now every time they scan something in a specific way, the copy machine emails Dispatch, Dispatch processes the email, pulls off the image and adds it to their Zendesk account. I never imagined that sort of use for Dispatch when we built it, but it’s solving a real business need.

Are My Sites Up White Label was built for web agencies who want an easy way to make recurring revenue from their existing customers. Recently I’ve found that other tech-related business types that have an existing base of customers, such as computer repair companies also see a need for that sort of service. So now we are working on targeting/better serving those types of customers.

Let your current paying customers inform your marketing decisions when you’re looking to expand your market. It’ll give you a head start!

I’m working on a new product called Retained. I’m taking what I’ve learned from years of running successful web apps, and using it to build an app that will help you be more effective at running your own web apps, communicating with your customers, retaining existing customers, and attracting more.
I’ll also be sending out free information from time to time about the things that we do to retain our customers at Sense Labs.
If you’d like to keep more of your web app’s users, sign up here!