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 insight that comes out of it.

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.

If you’d like to keep more of your web app’s users, sign up here!



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!



The best ways to retain your customers: Part 1: Let them know that you’re always adding value.

In the old days (haha), and even now, when software is delivered to an end user directly for them to run on their own devices, they can clearly see version numbers and a list of what’s been changed/added in each version. This allows them to not only see what’s changing in the app, it allows them to clearly tell when the app has changed, and decide if the features are worth paying for.

With web applications, the lines are a lot more fuzzy. Some web apps try to go with version numbers for new releases (Mailchimp, I’m looking at you), but that doesn’t really work out in the fast-paced world of today’s web apps, where you might deploy new code several times per day. I’ve also seen web apps that send out whole emails with multiple links pointing to multiple blog posts about all of the new things that have been added. There are 2 problems with those: Firstly, you probably won’t reach your customers at the right time/in the right context, and secondly, if the email is too long, it’ll probably get ignored or deleted.

What your customers really need to see… what will help to keep them around as happy users, is for them to be told at the right time, in plain English: what has been added/changed, and how it can help them.

So what’s the right place/context to let your users know that your app has gotten some cool new features? While they’re using the app, of course. The best example of something like this that I’ve seen has been Wufoo’s Since You’ve Been Gone feature. It shows users who log in a list of features/enhancements that have been added since their last visit. This keeps users informed at the point when they care most about your app, because they’ve just logged in. They’re much more likely to read and engage with your new features, just because you picked a great place/time to inform them.

At Sense Labs/Shiftedfrequency, we wanted something like this that we can use across all of our apps, so we’re making a version of this feature that any web developer can use for free, and making it one of the first features of our customer retention app: Retained. Over time, we’ll be developing more and more features that use what we’ve learned over our years of making successful web apps with thousands of happy customers to help other web app owners to do the same. Interested in being one of the first people to use Retained?

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!



Quick Coding Tip

When I’m winding down on coding for the day, it helps me greatly if I take a minute (or even a few seconds) to write out exactly what I’m going to do when I pick things up the next time. It saves me a ton of time by letting me not have to figure out where I left off. I can just jump in with a pretty good idea of where to go and what to write.