Wednesday, July 6, 2011

Interview with Political Data, Inc.

I was in LA the other day, so I stopped by the offices of Political Data, Inc. (PDI) to say hello. Gary Brown, their Vice President, and Lindsay Hopkins, their Director of Software, were kind enough to let me interview them about PDI. Here's what we talked about.

Michael: PDI is the biggest vendor of political data in California. Can you tell me about the history of the company?

Gary: Jim Hayes started PDI in 1987 and revolutionized how political data vendors work. Before PDI, you would go to a data company and say "I'm running in the 26th Congressional district", and they'd go to the county, get the voter file and the vote history, and compile a database for you. Jim said, I'm going to build the whole state file, so that when somebody calls, it will be ready.

Michael: It's amazing - we take that for granted now.

Lindsay: Today, somebody can place an order, and it will be ready in 10 seconds. The thing that takes the most time is dealing with the client's paperwork. It takes more time to create a password for our Online Campaign Center than it does to get the data. That's the thing that Jim revolutionized.

Michael: Gary, you've been with PDI quite a while. How have things changed since when you started?

Gary: I joined PDI in 1995. Pretty much everything has changed since then! Those days, data was on paper - we'd print millions of paper labels, mail people their voter files, and all communication was by fax. Information was stored on reel to reel tapes. In the 80s, movie studios weren't doing well, and went to local businesses in Burbank offering time-sharing on their mainframes. We were on Warner Brother's lot, in two old trailers that used to be dressing rooms for movie stars. We'd crunch data on their mainframes, and then ship boxes of paper lists and labels from the airport nearby. We still have a $50,000 printer that we can't even give away now.

Lindsay: These days, we're moving everything online with our Online Campaign Center. People are asking more and more for tools that enable them to help themselves.

Michael: I love that philosophy - with Impact Dialing, we really focus on self-service.

Gary: We're getting ready to release the next version of the Online Campaign Center. A lot of other companies built voter file software in the mid-2000s, and we're excited that we're the first company to be building the 2nd-generation version of our product. That's the nice thing about being a smaller company - we can turn on a dime and use new technologies that weren't available before. The key thing about our software is that we're first and foremost a data vendor: we know exactly how our data is supposed to be used, and our software is basically just a delivery mechanism for that data. And the great thing is, when we update our files, everybody using the Online Campaign Center instantly gets the new data. You don't even have to think about file updates - it's just part of the product.

Michael: Nice. Tell me a little more about your data.

Lindsay: A big challenge is to get people to think about the value and importance of good data. It's so important to know that you're getting good addresses, the correct precincts, accurate polling place data, and so on.

Gary: In the last 45 days of an election, we're doing about 200 different county file updates, 500 absentee data updates, and putting in polling places. There are 58 counties, and once absentee ballots are out, most update their files to report who has voted 3 days a week, and some as much as 5 days a week. People ask when they'll be able to get absentee data, and the answer is always that we have it available 10 minutes after we get it. Getting all of this data requires so much coordination, I still can't believe that we're able to pull it off.

Lindsay: Some campaigns go to the county and buy the voter file directly, but then they realize there are so many things they don't know about how to update the addresses and phone numbers, where to get polling place data, how to find out who has already voted absentee, or how to manage a database for all of the records. We have 14 people who are California voter file experts - that's all they do. We want to make things as easy as possible for our clients so that they can focus on the hard work of talking to voters.

Michael: Can you share a story about a campaign that used your data effectively?

Gary: A few years ago, a campaign in a heavily Vietnamese area felt like they weren't reaching everybody, and asked us to get cell phone numbers. At first, I was skeptical, but we got the numbers, and I was really surprised how effective it was. A lot of Vietnamese families in this area ran small businesses, and if you called their landlines, you'd never reach them - they were always at work the times that we typically call people. Now, we offer wireless numbers standard, because you can reach so many younger voters and non-white voters who you can't reach any other way.

Michael: Thanks for sharing the story of PDI. It's exciting to see where you folks are going.

Monday, June 27, 2011

Your phone in a browser

Last week, Google announced that they had begun working "to enable Chrome with Real-Time Communications (RTC) capabilities" - in other words, to allow your browser to send and receive streaming audio and video. Instead of having to download to download software to make calls, such as with Skype, or install a special plugin, such as with Gmail's voice and video chat, these applications could be built directly into the browser. Whoa!

The beautiful thing about WebRTC, as the project is called, is that it will give developers a standard way to write web applications that use real-time audio and video, using the same Javascript programming language that they already use to make web pages more interactive. This should open the door to more of these types of applications, as it will be much easier to develop them. And since WebRTC is sponsored by Mozilla, Google, and Opera, users of their  won't have to install any special software to use web applications that take advantage of WebRTC.

One obvious application of WebRTC is to build a phone in your browser. Perhaps Impact Dialing will use it so that you don't have to use a separate phone to connect to our hosted predictive dialer - instead, you'd connect directly through our web application, using WebRTC.

What else could WebRTC be used for?

Tuesday, June 14, 2011

The future is self-service

At the airport in New York the other week, I went to the counter of a Chinese restaurant to order some food for the long flight back to California. Nobody was at the counter, and nobody seemed to be paying any attention to me. And then I realized that the computers on the counter were facing the customers, not the staff. I was shocked. What a brilliant idea! How could nobody have thought of this before? Everywhere, businesses are finding ways to turn the computer to face the customer: all banks now have ATMs, most airlines have self-checkin kiosks, some grocery stores have self-checkout stands, and now restaurants are experimenting with lettering customers place their own orders.

The key change that's allowing self-service to expand, and the sticking point that causes it to fail and frustrate when done poorly, is user interface design. Remember old checkout interfaces at grocery stores? The green text on white screens, the cashiers furiously keying in codes? The amount of time needed to learn a system like that made self-service impossible. Self-service checkstands now have big colorful buttons with pictures, and, most importantly, fewer options. In the best-designed self-service grocery stores, you just scan the barcodes of all of your items. It doesn't get much simpler than that. Where self-checkout doesn't work as well is where this simplicity breaks down - most notably, when you have to tell the system which fruits or vegetables you are weighing. Some grocery stores fix this by packing produce and putting barcodes on them.

Impact Dialing is doing something similar with auto dialing. It used to take an expert to set up an auto dialer: there were a massive number of settings and options to configure, you'd have to install special hardware and software in your call center, and you'd need consulting and training from your auto dialer company to set things up and learn how to use the system. We've taken away all of that pain: made everything web-based, so there's nothing to install; simplified complicated settings and used plain English in our interface; and made the whole thing available to anybody who wants to try it out.

Are you creating beautifully-designed self-service tools? Have you used any that made your day? Or that made you angry because they didn't work as well as having a real person work with you? Leave a comment!

Wednesday, June 8, 2011

Auto dialer terminology (or, Wow, this is confusing)

Ever wonder what the difference is between an auto dialer and a predictive dialer? Can't keep your robo calls and your outbound IVRs straight? It's all very confusing.

In designing Impact Dialing's website, I spent a lot of time researching what search terms people actually use in the world of making lots of phone calls. I chose the the terms below based on this research and my own experience.

The term "auto dialer" is the most confusing phrase of them all, and a good starting point because of its generality. I did a Google search for auto dialer and came up with a few excerpts from its snippets:

  • "Software for broadcasting voice message by phone"
  • " automated phone dialer for voice message broadcasting..."
  • "An autodialer will call one or more programmed phone numbers..."
  • "... allows for hands-free calling..."
There are a lot of terms and ideas thrown around here. About the only thing they all have in common is that they involve automatically dialing a list of phone numbers. At Impact Dialing, we refer to all of our services as "auto dialer products", to reflect the different meanings that different people attach to the phrase "auto dialer". 

So if auto dialer is a vague, nebulous phrase relating to anything that automatically dials a phone number, then what are concrete examples of auto dialers? One term that showed up a few times in the above Google search is "voice broadcasting". Voice broadcasting is a kind of auto dialing in which a pre-recorded message is played when somebody answers the phone (or is left on an answering machine). Voice broadcasting messages are also sometimes called "robo calls". 

Pollsters often use robo calls to survey people, by asking them to press a keypad on their phone corresponding to different choices: for example, "Press 1 if you play to vote for the Democrat, press 2 if you plan to vote for the Republican." Sometimes people call these robo surveys, but they're more commonly referred to by a more technical name. Gathering information from pressing phone keypad digits is called Interactive Voice Response, or IVR. When it's used on outbound calls (as opposed to inbound systems - "Press 1 for Sales, 2 for Support"), it's sometimes called an "outbound IVR system". 

Our Google snippets showed us that people also use the term "auto dialer" for a system that connects answered dials to live people. The most common term used for live phone calls is "predictive dialer"; when a predictive dialer is offered as an online service, rather than as a piece of hardware, it's called a hosted predictive dialer. Some people also use the term "power dialer" to refer to an outbound dialing system. Although sometimes "power dialer" and "predictive dialer" are used interchangeably, the more technical distinction is that a predictive dialer uses real-time analysis to determine the optimal time to make dials (see this blog post for details), whereas a power dialer simply dials a pre-set number of lines when a caller finishes the previous call. 

So, in summary:
  • auto dialer: anything that automatically dials phone numbers
    • voice broadcasting: when somebody answers, play a message
      • robo calls: another name for voice broadcasting
      • robo surveys: press a keypad button to provide feedback
        • outbound IVR system: another name for robo surveys
    • predictive dialer: when somebody answers, connect them to a live person, and use realtime analytics to determine when to dial again
      • power dialer: use a simple ratio when somebody finishes the previous call
This is not an exhaustive list, but it touches on some of the most common terms and hopefully provides some clarification. 

Monday, June 6, 2011

Smaller is better: designing for usability

Yesterday somebody called to learn more about Impact Dialing and raved to me about how well-designed it is. He had looked at a half dozen other dialers and said that ours was far and away the best-designed and easiest to figure out. I don't claim to be a design expert, but I think we're on to something in terms of our usability, and I want to share our design philosophy.

My experience suffering through my now-competitors' poor design was one of the reasons I started Impact Dialing. For example, on logging in, one system presents the user with a blank screen and a series of drop-down menus. The only way to figure out how to use it is to explore the menus and sub-menus, opening up new windows and navigating deeper and deeper into each window's sub-application. Another dialer tried to be more user-friendly with a step-by-step wizard, but in order to change anything, you have to go through the entire wizard again. Both systems used specialized jargon that non-experts would never understand. From my frustration, I came up with a series of design principles:

  • Users shouldn't need to read a manual
  • Make everything accessible with minimal clicks
  • Use good defaults, so even if you have no idea what you're doing, you can still get set up
  • Use plain English and avoid jargon

I started out by breaking down the task of setting up a predictive dialer: you need logins for your callers, a script for them to read and record answers to, and a list of phone numbers for them to call. I used Mockingbird to wireframe a layout in which these three concepts - Callers, Scripts, and Campaigns (which contains lists and a few other pieces of information) - were tabs along the top. This would present users with everything they needed to access intuitively and with minimal navigation, so that they could work from left to right to set things up the first time.

Even with this simple design, I knew some people still might not think about needing to set up caller logins, so we made a default caller login for every new account. Similarly, new users might not know what their scripts should look like; since many of our clients make political calls, we made an example script and corresponding call results for political campaigns. Finally, I knew that some people still might need a helping hand along the way, so we created a "Welcome" tab that opens when users log in and displays a quick run-through of how to use the system, along with a video guide.

At this point, we released Impact Dialing. We just had the bare minimum features needed for a predictive dialer, which in my mind, was actually an advantage: we had a clear, simple, easy-to-use design, something that none of our competitors can say.

As our product has developed, we've been very careful with how we add new features. We eye anything that adds very much complexity with great suspicion, and try to think of simpler approaches whenever possible. All else equal, we always build simpler features before more complicated ones. And if somebody requests a feature that's tied in with other features we're considering, we'll try to wait to build it until we really understand the whole set of features.

For example, we originally only allowed one set of results per script, so if you had two questions in your script, you'd have to list out every combination of answers in your results list. A few people had asked for multiple results, but we knew that we'd eventually support free text entry and patch-through calls, and so we waited until we were sure we understood all of the use cases we wanted to support. Patch-through calls were going to take a little more work, so we just built out the multiple results and free text, and came up with a fairly elegant interface. We've got some more ideas about how to make the system even more flexible, but even now, it's still as straightforward and simple as our original design. That's how we like to improve things.

The final piece of our design approach is to remove and streamline when we can. For example, we originally required new users to enter their first name, last name, organization, email, password, password confirmation, and agree to the Terms of Service. When we re-designed our site, we stripped down to just email, password, and Terms agreement. If somebody entered their password incorrectly, they could always recover it later. Everything we decided was nice to know but not essential, and we'd rather err on the side of simplicity.

Do you have or know of a well-designed web site or web application? Please share in the comments below!