An iOS programming gotcha I came across today…

September 17th, 2012 by Richard Felix

If you’re using a UIButton and it’s responding to UIControlEventTouchDown but nothing else, for example UIControlEventTouchUpInside, first check to make sure you don’t have a conflict with a gesture recognizer that is swallowing the touches. If that isn’t the case, you probably have some touchesBegan/Ended code somewhere that’s catching the UIControlEventTouchUpInside event and doing nothing with it. Look for that function.

Posted in Development, iPad, iPhone

No Comments »

What we’re reading: This Guy Has the Coolest Job in Coding

September 17th, 2012 by Richard Felix

This Guy Has the Coolest Job in Coding [VIDEO]

Posted in Instapaper

No Comments »

Parsing emails that contain base64 encoded text

September 14th, 2012 by Richard Felix

As we work to improve Dispatch, we’ve been engaging in conversations with prospective users and talking to them about their needs. One that we’ve discovered recently is that there is a demand out there for email parsing that works with base64 encoded text.

base64 is a way to encode text or binary data. In the case of binary data, it’s used to pass things like images using a plain text representation. This allows for people to pass data along in a format that will be unaltered by virtually all email clients because they’ll just pass the block of base64 encoded data through as text. Then, on the other end you can reassemble the data into its intended format, whether it’s an image, audio file or something else. That’s the base64 use case that I was previously aware of.

However, today I learned that it’s also used by some email clients and services to pass formatted text data along as well. From what I understand, there are some email parsing services that have issues when they try to parse data in these formats, but not Dispatch. Dispatch was built on reliable, cutting edge email processing, and then we built a custom text parser from the ground up that is part of the heart and soul of the product. Dispatch eats base64 encoded emails for breakfast. If you have a need for that, check it out!

Posted in Back-end, Development, Musings

No Comments »

Keeping Users Engaged And Happy, And Following Up When They Aren’t

September 13th, 2012 by Richard Felix

I’ve read a few articles recently based around user retention in web apps, both over the long term, while a user is using your app (Paul Stamatiou wrote an impressively detailed post on the subject recently), and even at the moment of cancellation (Kyle Bragger had some great things to say about that).

The common thread seems to be keeping an eye on what a user is doing within your app and responding to that with helpful emails or messages to either keep them engaged, make their experience with your app better or even keep them from canceling by giving them a direct line to the founder of the company or a better deal than they were getting before. We’ve been doing some of this at Sense Labs using a combination of code that we’ve added to our apps or just emailing customers directly. I am tired of adding code to each new app we make to handle these things, but I know that automating this process is a great way to go, because you can reach out to people right when they hit one of your triggers.

Many apps send out webhooks based on user actions. For instance, Stripe sends a webhook on customer creation, when they change plans, when they cancel and at various other times. These are perfect times to reach out to customers and say, “Welcome to our app! Here are some cool things that you can do with it”, or “Hey, you just upgraded your account, we’re glad to have you as a customer. We’re excited that you’re using our service to its full potential and are ecstatic that you’re finding it useful”, or “You recently cancelled your account with us. What can we be doing better? What issues did you have? We’re always working on making our service better, and we’re sorry to see you go.” These things really do help to retain customers and even bring them back later on because they recall how nice you were when they left.

I just realized that with Dispatch, we can do this at a pretty granular level for anyone who uses an app with these kinds of webhooks. All you need to do is add a new webhook url in Dispatch, add it to the app that you want to get webhooks from, and set up some email actions that only fire when the webhooks contain certain keys. Time for me to give it a shot!

Interested in how Dispatch can help you with this and other times when you don’t want to write keep writing more code to respond to events? Stop writing code to handle things like this and sign up for Dispatch. We’d love to have you!

Posted in How we get work done, Musings

No Comments »

We got tired of writing code to handle webhooks.

September 10th, 2012 by Richard Felix

As a small Rails development shop, we don’t have a lot of time or extra employees to throw at tasks, so we try to automate as much as possible. This means that we use web apps like Stripe, Intercom, Chargify and others to stay on top of things. The problem is, every new service that we sign up for has its own format for webhooks, so we find ourselves writing the same kind of code to do the same things, like sending us notifications about new activity in these services via SMS, or adding customers to our email list.

We thought, what if we could take any webhook (or email for that matter, for services that don’t have them, like iTunes Connect or, pull info out of them with a few clicks and perform actions with them? The result was Dispatch.

With Dispatch, you can not only take any webhook or structured email, pull info out of them and perform actions that we’ve already created, you can also get a webhook as output. This means that you can write webhook handling code once in your apps, send Dispatch any arbitrary webhook, pick the keys that you want Dispatch to output, and get just the data that you want posted directly to your webhook handling code.

If you’re reading this and thinking, I need something like this in my life YESTERDAY, we’d love to have you kick the tires on our service. It’s in limited public beta now, and for a limited time you can go here and sign up.

Posted in Back-end, Development, Front-end, New Releases

No Comments »

The all new Dispatch.

July 24th, 2012 by Richard Felix

We went back to the drawing board on Dispatch, based on feedback from our customers and our needs as small business owners. For almost a year, we’ve been building a lot of technology to make the new Dispatch both powerful and amazingly simple. We even went back to the drawing board and rebuilt part of Dispatch while we were re-building it because it just wasn’t good enough. Now, we believe that it is. It’s the best app we’ve ever made.

If you get lots of automated email that is important to your business, and it usually has the same format and comes from the same addresses, Dispatch was made for you. Some of the common types: New customer signups, new orders on your online store, payment notifications, email notifications from your blog, overage warnings, receipts, website downtime alerts and much more. Basically, if you have an inbox full of a bunch of emails that have similar subject lines, like in the image below, Dispatch can perform actions based on those emails. It even has webhook support, so you can literally build an API for your automated email.

Inbox that needs Dispatch's help

So what are you waiting for? Check it out at! You’re really going to love it.

Posted in Back-end, Design, Development, Front-end, New Releases

No Comments »

Public Status Widgets for Are My Sites Up White Label!

June 29th, 2012 by Richard Felix

It’s been a request of more than a few users, and now it’s here! We’ve added public stats widgets to AMSUWL, and now you can embed stats for any site in your list into any other site, for those of you who’d like to brag about your uptime to the world, or show your customers that you’re really keeping an eye on things for them.

Just go to your normal stats page for a given site in AMSUWL and you’ll see a new section where you can customize the widget to display the things that you want and grab the embed code.

It adapts to whatever size container you put it in, so it can be skinny or wide.

It looks like this:

Posted in Back-end, Design, Development, Front-end, New Features

No Comments »

Farewell, Dispatch. Hello, Dispatch.

February 20th, 2012 by Richard Felix

As many of you know, we released Dispatch in August of 2010 as our first product. We were super proud of what we’d built as a company. In our side projects, many people were asking lots of the same types of questions, and we decided that we could build a system that recognized when people asked a question that we already knew the answer to. It would automatically respond to those, passing the request up to a human if the question wasn’t successfully answered. We were initially pretty successful (we still use Dispatch every day to stay on top of support for Dispatch, Are My Sites Up White Label, and our other products), but eventually the market yawned and growth stalled out. We still have a number of awesome customers who have been with us for awhile, and Dispatch is profitable, but we want to be a company that makes great products that solve unique problems, and not very many people have the problem that Dispatch was built to solve. The market for customer support products with advanced auto-response features has grown dramatically in the last year too, and there are really good alternatives for customer support now.

In talking with potential Dispatch customers, we found that the parts of email that really need automating are cases where a human has to take time out of their day to enter information from one computer system into another computer system, or when they want to be notified of something in ways that are better than email, but don’t have the time or coding skill to make it happen. For instance, an order comes in on your website and you want the customer to be automatically added to your email list. Or, say you’d like to send a welcome email to each new sign-up for your web app. Or, what if you’d like to add new entries from a form on your website to your Highrise account? What if you want to get an SMS or voice call whenever you get a match on a Google Alert?

Enter the new Dispatch. In order to build a system that allows for this, we need to rethink what Dispatch is, and re-build it from the ground up. So, to that end, we’ve made the bittersweet decision to reboot Dispatch. We’re closing new signups for Dispatch now, giving our current customers enough time to migrate from Dispatch to another customer support system. We recommend ( and We’ll shut down the current version of Dispatch in a few weeks and bring it back to life as something new. It’ll still be named Dispatch, still focused on automating certain types of email, but with a different focus.

Thanks to our current customers for believing in Dispatch and its mission. As it changes, we hope you’ll join us. If you’re interested in knowing when we launch, sign up here and we’ll let you know as soon as we launch the beta.

Posted in Development, Updates

1 Comment »

Multiple User Notifications in Dispatch

April 20th, 2011 by Richard Felix

Per your requests, we’ve just added the ability for multiple users to be notified for each stack within a Dispatch account. Previously, it was set up so that one person got all of the notifications for a stack, but now you can pick both the users that get notifications for a stack, and what type of notifications they get.

Multiple user notifications

This notification settings box replaces the old one, and can be found on the settings page for each stack.

Posted in Back-end, Design, Development, Front-end, New Features

No Comments »

How I Made A Free Status Board for our Web Apps with Geckoboard, Apple TV and RedPost

April 12th, 2011 by Richard Felix

Not long ago, a few pieces of a puzzle came together, and I had to act. Here at Sense Labs, we are writing new apps all the time and they all have server processes and statistics that we want to keep track of. I had a RedPost/Kit lying around. It’s the very first version of a digital sign platform that can be found here They don’t make the Kit anymore but its younger brother, the Sign is an even more capable successor: It had a Mini-PC built in, but as time went on and websites got more complex, it turned out to be more and more underpowered. I decided that I wanted to build a status board so that I could easily keep track of all these things, Then, Apple came out with their new Apple TV, we replaced the old one with the new one, and all of a sudden I had an extra Apple machine that I could make into what I needed, as the original Apple TV is very hackable.

So, first I installed Mac OS X on my Apple TV. The Apple TV isn’t really made to be a general purpose computer, so it’s not super fast and it doesn’t have a lot of memory, but it does run Safari okay, and since I just want to use the Apple TV to pull up the Geckoboard website and not do much else, it works great.
IMG_1644 2.jpg
There are 2 schools of thought when it comes to Apple TV hacking, and the one that I went with is the one that doesn’t require you to even open the Apple TV up. The basic overview is that you set up a USB hard drive, copy a special version of Mac OS X to it, and then set it up so that it can only be booted by the Apple TV.

The instructions that I followed to get Mac OS X working on the Apple TV are here:

If you’re going to connect the Apple TV to a monitor, you’ll need a HDMI to DVI cable. I happened to have one lying around, so I used that one, but you can find a great one for about $4 at MonoPrice here.

Then, once I installed OS X on the hard drive, I upgraded Safari to the latest version, fired up Geckoboard, and now it runs all day and shows the metrics that we want to see about our web apps. The best thing is, I didn’t spend a dime out of my pocket to get it working! Good stuff.

Posted in Back-end, How we get work done, Mac

No Comments »