August 29, 2014

ifbyphoneIn case you haven’t been following our blog series about Chicago technology bootcamp, Anyone Can Learn to Code, I’ll give you the skinny: ACLTC is a 12-week bootcamp at Chicago startup hub 1871, currently consisting of a small group of students (men and women of a wide range of ethnicities and backgrounds) that meet five evenings a week with the common goal of becoming professional software engineers. The founder of this amazing program, Jay Wengrow (pictured below), aims to take “total newbies” and transform them into professionals with hands-on experience to fill the technology talent gap that plagues tech companies around the world. At Ifbyphone, we’re all about nurturing tech talent, so when we heard about ACLTC, we decided to follow Wengrow’s first class in a three-part blog series, starting with the early stages and finishing with the program’s culminating capstone presentation, in which the graduates of ACLTC present the projects they’ve created using the skills they’ve learned over the last 12 weeks. Needless to say, we were impressed. jay wengrow

Popular Penguins

The first thing we noticed when we walked in to 1871 yesterday was the T-shirts. Wengrow and all his graduates were outfitted in some awesome gear: the signature penguin standing at a computer. And, boy, were these penguins popular. Talent managers flocked into the presentation space, where the graduates each had their own station and monitor to present their projects. The layout was career fair-style, except rather than the employers having booths, it was the talent who had to repeat themselves over and over. “I don’t mind,” said ACLTC graduate Oscar Cisneros, Jr. “I could talk about this stuff all day.”

And it seemed that the attendees could listen all day. As we rotated from booth to booth to hear the graduates’ show off, it was hard to miss the genuine enthusiasm that resonated from all parties. Wengrow is doing something special at ACLTC, and anyone that comes into contact with him or his program can sense it. “I’m on Cloud Nine right now,” said Wengrow, proud papa to all his penguins. “I couldn’t be more proud. Each of them has exceeded my expectations.”

The Future is Bright

anyone can learn to codeThe work we saw was truly impressive. Cisneros, Jr., in his presentation, described his first job working as a pool cleaner, and how they struggled to keep track of clients, home profiles, and work order information. So what did he do for this final presentation? He created an app that enables that same pool cleaning company to manage and organize their leads and accounts, complete with invoicing options and different ways to filter and search through data. The app was clean, effective, and efficient. When asked by an attendee why he made certain programming decisions, Cisneros, Jr. discussed AngularJS, Sublime Text, and APIs with ease, entirely comfortable with what Wengrow has taught him and with his future as a professional software engineer. He’s come a long way from cleaning pools, and his future couldn’t be brighter.

Other projects included ecommerce apps, conflict zone mapping programs, and more. Below you can see a photo of Sebastian Ekesa presenting the website he built, StagefinderChicago.com, which helps actors and performers track down spaces to put on plays and performances. “My roommate is an actor,” he said. “It’s powerful that I can use these skills to do things to help the people I know. And maybe make a business out of it.”anyone can learn to code

 

All of them have come a long way. I think back to the early classes I sat in on and the hesitancy with which many of them approached the scary-looking code that Wengrow would lead them through. Now they dive into APIs headlong, confident and knowledgeable. Ekesa is correct: there is power in this. Technology is constantly evolving and the majority of us use it every day without even being sure of how it works. With ACLTC, those who are ambitious and curious enough can not only find a new career, but a career that will catapult them forward in a changing world.

The personality and goals of each ACLTC graduate shone through each of their presentations, and the positivity that Wengrow has clearly founded his program upon is obvious in each of them. The Chicago technology scene is full of innovation, but where do the innovators come from? Jay Wengrow, with Anyone Can Learn to Code, has started something big: in the midst of a city where startup companies are cropping up left and right, he has begun to build the pipeline of talent that will fuel those companies in the future. Struggling with the talent gap in tech? I recommend calling on the penguins.

The post Chicago Tech Community: Anyone Can Learn to Code, Part 3 appeared first on Ifbyphone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


August 28, 2014

Share This: It’s about time. Customers, like everyone else, have a different notion of time than they used to. The internet and mobile devices have […] …read more

The post Respond to Customer Complaints in Real Time appeared first on Plum Voice.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Share This: When we think of customer service, it’s important that we think about results first. Sure, it’s great to wow a customer, delight them. […] …read more

The post Fast AND Accurate Customer Service appeared first on Plum Voice.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


email-marketingEmail marketing doesn’t have the best public image at the moment, a reputation built by studies questioning its usefulness. Yet despite the negative feelings about its relevance, email marketing is still the preferred channel for generating high-value leads (State of Marketing Measurement Survey Report 2014). Email marketing isn’t going anywhere, and here’s why:

  1. Worldwide, there were 3.6 billion email accounts in 2013. By 2016, that number will reach 4.3 billion (The Radicati Group, Email Statistics Report, 2012-2016)
  2. 91% of consumers reported checking their email at least once a day (ExactTarget)
  3. 66% of consumers have made a purchase online as a result of an email marketing message (Direct Marketing Association)
  4. 76% of emails are opened within the first two days after an email is sent (Alchemy Worx)
  5. Email is the preferred method of commercial communication by 74% of all online adults and is preferred over direct mail by a margin of nearly five to one (Merkle)
  6. 64% of people say they open an email because of the subject line (Chadwick Martin Bailey)
  7. 7 in 10 people say they used a coupon or discount from a marketing email in the prior week (2012 Blue Kangaroo Study)
  8. 82% of consumers open emails from companies (Litmus)
  9. Email marketing has an ROI of 4,300% (Direct Marketing Association)

Marketers tend to get a lot of backlash against the commercial emails they send, but it’s a simple matter of fact that email marketing works. It may feel impersonal, but there are a few tricks to fix that.

Make Your Email Marketing More Effective

Personalizing your emails with the receivers name and content tailored specifically to them adds a nice touch. Marketing automation technologies have made this significantly easier to accomplish and the results are drastic. Personalization in emails leads to drastic increases in opens, click through rates, and conversions.

Adding click to call numbers gives the reader of your email an opportunity to call your company and engage in a live conversation. With the dramatic increase of email opens via smartphones, it is becoming more important then ever to give the readers of your email an easy way to call you. BIA/Kelsey reports that inbound phone leads are 10 times more likely to convert than leads that only click on a link. You don’t want to miss out on the benefits of adding click to call numbers in your emails.

Email marketing is only growing in popularity; learn how to get more out of your email campaigns by downloading our free white paper, the Definitive Guide to Call Tracking for Email Marketing.

The post 9 Stats That Will Change Your Mind About Email Marketing appeared first on Ifbyphone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


August 27, 2014

Today we’re launching a Feedback API that allows you to give us feedback on the call quality of each call you make on Twilio. Your feedback allows us to apply big-data-style learning to call quality across all of our calls globally to ensure call quality is consistent and reliable.

At a more individual level, the Feedback API also allows our support team to answer your questions faster, and dive deeper into any problematic calls or issues you might have using the data from the Feedback API.

Using the Feedback API, you can incorporate the ability for users to submit feedback right within your app. Users can rate the overall quality and select which category of problem their issue falls into – just provide a UI like the one pictured below, and plug it into our API:

feedbackapiYou can also submit call feedback to us directly from the call logs within the account portal.

Twilio receives this information tied to the CallSID, so we can then do deeper analysis on any issues. By crowd-sourcing the feedback in this way, we can get a much better picture of what scenarios and corner cases need further attention.

The Feedback API also includes a summary endpoint, so you can get a high level overview of the feedback that has been reported. For example:

$ curl -G https://api.twilio.com/2010-04-01/Accounts/AC7b659acc64804bd8bc01a2d9d5XXXXXX/Calls/FeedbackSummary \
-d "StartDate=2014-01-01" \
-d "EndDate=2014-01-31" \
-d "IncludeSubaccounts=true" \
-u 'AC7b659acc64804bd8bc01a2d9d5XXXXXX:{AuthToken}'


2014-01-01
2014-01-31
AC7b659acc64804bd8bc01a2d9d5XXXXXX
10200
729
    4.5
    4
    1
      
            
          
  imperfect-audio
  45
          0.0044%
        
        ...
      

If you need us to dig deeper into anything, we’re a simple help@twilio.com away.

To get started with the feedback API, check out the docs here https://www.twilio.com/docs/api/rest/call-feedback.

Teaching Twilio: Introducing an API for Providing Twilio Feedback on Call Quality

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


clickstream reportingAs more and more businesses realize the power of phone calls when it comes to lead generation, they’re also scrambling to find ways to better track the activity of the leads that come in. The rise of clicks and calls on mobile devices is one driving factor that is causing marketers to look about them for tools that can help track that activity. Customers’ trajectories have changed: they are researching businesses online and then converting offline when they pick up the phone. According to analyst firm BIA/Kelsey, 30 billion calls were made to U.S. businesses in 2013, and that number is predicted to reach 65 billion by 2016. But there is one tool that marketers are flocking to that can help them, a tool that enables businesses to track the path of customers whose activity they have traditionally lost when those customers go offline. It’s called clickstream reporting.

Clickstream Reporting

So what tools are available to marketers that enable them to better understand leads’ activity as well as tracking ROI? The answer is clickstream reporting, a new enhancement to run-of-the-mill tracking tools that gives marketers a deeper understanding of their leads than ever before, and it can be used in a number of ways. It’s about understanding what a lead does on your site before and after they call: showing which pages are best at attracting the lead (like a blog post or a page with a good SEO ranking) and then where that person goes on your site until they convert, such as going to a product page and then to the pricing page, and then picking up the phone. Tracking these journeys can give marketers a lot of insight into what messaging is working to educate and incite web visitors to become leads.

Prove ROI

Proving ROI is one thing that all marketers can agree is a necessity. The problem that many marketers run into arises when it comes down to tracking offline activities. Clicks can be tracked fairly easily, but those pesky phone calls are often met with a lot of bafflement. However, clickstream reporting takes the pain out of that peskiness. Paired with call tracking tools, clickstream reporting can provide all the data marketers need to see how they’re driving phone calls to their business with detailed web-based reports.

Understand Lead Behavior

The best part about clickstream reporting is that it enables marketers to gain a deeper understanding of their leads’ behavior, making it possible to view the web pages a caller browsed before and after they called. In the past, lead data was lost when the customer went offline and picked up the phone to call. Now marketers can not only see where that call came from to allow for optimization opportunities and ROI measurement, but they can view the lead’s behavior after the phone call, which can provide invaluable data about the progression of leads through the sales cycle.

Measure First and Last Touches

Rather than just looking at the pages that directly generate the most phone calls, clickstream reporting enables marketers to understand which pages are the first pages on a website that eventually convert into phone calls. This ability to look at not only the last touch point of leads but the first as well gives marketers a broader scope when analyzing leads and their behavior, making it possible to make more informed marketing decisions.

AdvancedAnalyticsLastPage

Improve Social Media, Content Marketing, and Email Marketing

Clickstream reporting also has big implications for social media and content marketing: with the kind of insights this tool can provide, you are able to see what messaging is good for attracting initial visits that turn into callers, or if a blog post, video, etc. is good at inciting immediate action. The same goes for email nurturing campaigns: knowing which material is effective for guiding customers on a path to calling you is invaluable for marketers.

Marketers who have been struggling to measure phone call activity in their marketing should rejoice at the introduction of tools like clickstream reporting. One tool for better data. What more can we ask for?

The post One Tool for Better Data: How Clickstream Reporting Improves Your Marketing appeared first on Ifbyphone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


August 26, 2014

While we were all shocked and horrified by the brutal beheading of  American journalist James Foley by militant Islamic extremists last week, but we are heartened to know that speech technologies are being used to track his killer. According to a report in USA Today yesterday, investigators used voice recognition software to identify the masked man […]

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Isaac Moldofsky is a teenager who beat the odds. He is 16. He is on summer break. He has unfettered access to reddit. Typically, this is a recipe for a summer full of cat gifs and little productivity. But, Isaac is not typical.

While working as an intern/teaching assistant at Dev Bootcamp in Chicago, Isaac taught himself Python (in a day) and built a reddit parser to make browsing reddit headlines easy whether you’re on a smartphone or a feature phone with Twilio SMS
Here’s how you use Isaac’s app which he dubbed “THOr”: (Text Hot On reddit)

  • Text ‘hi’ to 747 222 1936
  • Text a subreddit name followed the number of results you want to see. For example, I texted “Drums 2” to get 2 results back from r/drums
  • Enjoy your reddit binge

You can also say ‘drums post 2’ to get more info about the 2nd post in r/drums. This doesn’t work with all subreddits yet, Isaac is still working on that.

Isaac’s app uses Flask/Heroku, Twilio, and PRAW (Reddit). “I got inspired by this just by looking at some PRAW examples,” says Isaac. His inspiration paid off. The app got the attention of Reddit General Manager Erik Martin who tweeted the hack from reddit’s Twitter handle.

You can keep up with Isaac’s work by visiting his website here: isaacmoldofsky.com

16 Year Old Isaac Moldofsky Builds Reddit Parser with Twilio SMS

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Remarketing/RetargetingDid you know that 98% of visitors leave your site before converting? With the staggering number of visitors who just don’t convert, it’s important that you find ways to capture their attention wherever possible. Retargeting (also referred to as remarketing) makes that easy – after a visitor leaves your website without converting, you can show them targeted display ads about the product, service, or content they viewed as they continue to surf the web on other sites. Retargeting uses a pixel on your web pages that tracks visitors and then serves them ads across other websites.

Most people have been retargeted before, especially by B2C companies. You may have seen that pair of shoes you were eying reappear across the sites you surf after you put them in your online shopping cart but never completed the purchase; or maybe you keep seeing the cover of that book you almost bought on Amazon.

The point is that retargeting helps you keep your brand, products, and services in front of an audience that has already expressed interest in your company before. But retargeting isn’t only for B2C: B2B marketers whose products and services have a longer, more complex buying cycle use retargeting for lead generation and lead nurturing.

Custom Segmentation

Custom segmentation is an important tool that advertisers should look for in a retargeting platform. The most important piece of retargeting is being able to track visits back to the original source that led the visitor to being retargeted in the first place. With segments, advertisers can build rules around specific pages on their website and then target those visitors after they’ve left with content relevant to the pages they saw. For example, you can set up different segments for the various services or products you offer and then only show them ads about the pages they viewed. 

How to Track Conversions from Retargeting

Marketers and advertisers can track conversions from retargeting the same way they track conversions from regular form fills, email sign ups, and phone calls. Using tracking code, you can tie users back to the segmenting campaign that drove their action. Tracking conversions shouldn’t be limited to only tracking online conversions. You can use retargeting to track the specific ads that convert offline, like phone calls and physical visits. Using Universal Analytics you can even tie retargeting ads back to in-store visits or over-the-phone purchases.

Retargeting for Lead Generation and Lead Nurturing

Visitors to your website are not always ready to buy. Especially when it comes to large or complex purchases. Since only 2% of your website visitors are converting on your site, you need to reach out in other ways to the 98% that drop off.

Lead nurturing is an important task for marketers, especially in the B2B space, whose products or services have a longer buying cycle. Retargeting users who have visited your site but abandoned before converting helps you keep your company relevant to and in front of your prospect as they browse the web. As your prospects conduct their online research and compare your offering to that of your competitors, you can stay in front of them even as they research other companies through retargeting.

Retargeting for Customer Nurturing, Upselling

According to Marketing Metrics the probability of selling to a prospect is around 5-20%, while the probability of selling to an existing customer is 60-70%. This makes your existing customer base an excellent target audience for your retargeting campaigns. They are already familiar with your brand and business, and they probably visit your website to log in to their account, read your blog, and perform other tasks. By targeting your existing customers with products and services that you know are relevant to their setup, you can increase the chances of them spending more money with your company.

Third Party Retargeting Platforms

There are many third party tools to choose from when selecting a retargeting vendor. We discuss below the pros and cons of a few different vendors including AdRoll, Google Remarketing, Facebook, and Twitter.

AdRoll

AdRoll is rapidly becoming one of the most popular retargeting platforms out there and has over 5,000 advertisers in the U.S. They offer tools like Custom segments, Facebook Exchange, and Twitter retargeting. AdRoll has an excellent tool for tracking visitors from custom segments. Your AdRoll rep will set up your segments in the back end based on lists of pages you send them – this process can go a little slowly at first but once segments are set up they are a really useful tool.

AdRoll Retargeting

Google Retargeting

There are now two ways advertisers can retarget using Google. The first is on AdWords through the content network using display ads or on mobile apps. As I mentioned above, remarketing through Google AdWords is somewhat limited – you cannot segment the ads users see based on the web pages they visited on your site.

However, with the upcoming release of remarketing lists in Google Analytics, advertisers will be afforded more robust segmenting tools. Remarketing lists in Google Analytics enable advertisers to retarget users in a similar way to the custom segments AdRoll provides. You can serve specific ads based on the actual pages visitors viewed on your website before leaving. The downside to this new release is that it will only be available in classic analytics, not Universal.

Facebook Retargeting

Did you know that 30% of U.S. ad impressions occur on Facebook? Retargeting on Facebook can be an effective way to reach a targeted audience of users. Advertisers can place ads in Facebook newsfeeds or on the Facebook Exchange (FBX) to buy ads and bid on them in real time on the Facebook login page or Facebook page sidebars. Facebook retargeting works the same as traditional retargeting – when a visitor comes to your site and leaves before converting, that same visitor can see your display ads on Facebook later – helping bring them back to your website.

Last year Facebook announced the ability for advertisers to retarget users with their Custom Audience tool. This tool allows companies to retarget people who viewed their website on other web sites or mobile apps. You can also segment using the custom audience tool.

Twitter Retargeting

Another way to re-engage web traffic is through Twitter retargeting. On desktop and mobile devices you can display promoted tweets or a promoted account to visitors who saw your website but left before converting. Retargeting on Twitter is effective for growing your Twitter following and also for driving returning traffic to your website for content downloads or purchases. Since 76% of Twitter’s monthly active visitors access the platform on mobile, be sure to turn on this feature if you decide to implement a retargeting campaign.

Keeping your brand in front of your target audience is a highly important lead nurturing tool for marketers and advertisers. Have you experienced success with retargeting and had any success or failures? Leave comments in the section below and let’s have a discussion.

You can also download the Ifbyphone white paper on tracking phone leads from Google SEO and PPC to learn more about offline conversion tracking.

The post Best Practices and Tools for Retargeting Campaigns in the B2B Space appeared first on Ifbyphone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


August 25, 2014

“Time kills all deals.” We’ve all heard the expression. It’s folksy. It’s colloquial. But, it’s not quite actionable. How do you correct your time-wasting mistakes if you don’t know you’re making them? There’s a simple answer that also happens to be a favorite saying of Developer Evangelist Rob Spectre — look at the data.

Splunk helps companies organize and synthesise data of all sorts so they can do anything from streamlining their sales calls to making sure their website is running efficiently. David Greenwood, self professed “Data Geek” and Splunk employee, built a Twilio and Splunk integration to help you quantify all your call metrics.

How long is too long for a sales call? How can one second of extra load time increase support tickets? We talked with David about how he built his app and the importance of data below.

Check out David’s blog post about his app on Splunk’s blog here

splunk-app-for-twilio

What made you build the Twilio and Splunk app?

Splunk customers rely heavily on telecommunications to run their businesses; sales, support, and operations are just a few that come to mind. Many are using Twilio to power their communication systems and it was only a matter of time before an app started to take shape.

How was the build process?

I had some head start being a Splunk employee, but the build process was super-simple. I once heard Splunk described as Google for Big Data – this is a nice description to summarise app development process too. Apps can be easily created using a series of Splunk searches to ask questions and visualise data.

How does having call data on hand affect your customers’ business?

Comparing call length against sales success, looking at call costs vs customer value, or understanding the most effective time to call prospects. Those are just a few examples that I’ve seen Splunk customers implement in tele-sales environments. The use-case for this data reaches much further than just call centres though. I’ve heard from finance teams using Twilio billing data to help with forecasting and rate negotiations, for example.

Any parting thoughts?

Splunk is a platform that makes it easy to collect and analyse machine data from almost any source, Twilio being just one. When customers can look at all data being generated across their environments in real-time it often leads to some exciting discoveries. One example of this was when I looked at web server data alongside Twilio call data. A 1 second slowdown in page load time led to a 10% increase in calls to the support desk!

Splunk Dials In Data With Twilio: Using Call and SMS Tracking To Measure Success

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


disruptive businessIf you’re a growing business in Chicago, then you know firsthand how much is going on for thriving, innovative companies—especially if you’re in the tech field. As companies of all sizes seek to disrupt their industries with new thinking, uprooting the ways we think about doing business, it becomes ever more important to consider all aspects of what it means to be a disruptive business. Last week we had the honor of sharing a space with some of the more innovative companies in Chicago, first at the Media, Capital, and Talent Day of the Chicago Innovation Awards (in which we’re a 2014 nominee) and then later in the week with i.c.stars at their iOpener 2014 event. While there were many topics of interest, one theme in particular stood out, and it was the idea of using employment and company culture as a means of disruption.

The Company is You

In Chicago, Ifbyphone has become known for the people we hire: SWANs. Our people are Smart, they Work hard, they’re Ambitious, and they’re Nice. SWANs. It’s been proven to us over and over that the success we’ve seen with this company is a direct result of the people we hire to help us run it, so whenever there is a conversation about recruiting and what it means for one’s business, we strive to be part of that dialogue.

The Chicago Innovation Awards’ Media, Capital, and Talent event last week was one such conversation. The Talent panel was moderated by Sandee Kastrul, President and Co-founder of Chicago’s i.c.stars, an organization that provides opportunities to break the cycle of poverty that limits inner-city youth, preparing future leaders to develop skills in business and technology. As a sponsor of i.c.stars and an employer of its graduates, we jumped at the chance to see Kastrul in action, where she headed up a panel of Chicago employers such as Tandem HR and SMS Assist. The opinions on where to find good talent varied, but one thing that everyone seemed to agree on was this: make your employees’ success part of your company’s success.

“I can’t write the paycheck,” Michael Rothman of SMS Assist said when discussing his interaction with an employee asking for a raise. “It’s the company that writes the paycheck, and the company is you. The more you help the company, the more the company helps you.”

This concept of the employee being integral to the success of a company—indeed, the idea that the employee’s success and the company’s success are codependent—is an interesting one, and one that is particularly disruptive. Imagine two companies: one staffed by a horde of bored, unengaged 9-to-5ers, and the other filled with an army of alert, passionate team members who take the company’s success as seriously as their personal success. Which do you think will win?

Diversity as Disruption

The idea of encouraging employees to take responsibility for the success of the company resonated with us, as we have always seen Ifbyphone staff not as cogs in the machine, but the machine itself. It stayed with us throughout the week to Friday’s event, the i.c.stars iOpener 2014, where CIOs, entrepreneurs, students, i.c.stars alumni, and vendors got together to talk technology recruiting, wearable technology, and other hot topics.

Our EVP of Engineering, Bob Doyle, was on the talent panel, but it involved more than the general topics we typically see about talent and recruiting. The key word was disruption. How can a company do business that disrupts the marketplace, and how can the way we hire contribute to that disruption, especially in the face of a globally reported talent gap for technology and computer science?

Mike Koleno of Solstice Mobile said that they constantly strive to begin the disruption process for the clients they serve. In order to do that, he said, he needs disrupters, and that means new talent with new ideas that are willing to think outside the box. Sometimes this means looking outside the pedigreed resume: rather, he sees a shift in thinking about candidates that may not have a 3.9 GPA from a four-year university, but have had hands-on experience getting the results companies strive for. Given the emphasis traditionally placed on education and so-called pedigree, it’s interesting to see this particular segment of employment being shaken up, and programs like Anyone Can Learn to Code in Chicago contribute to that disruption.

Ifbyphone’s Bob Doyle concurred with this idea of seeking out candidates with hands-on experience and a proven record not just of thought, but action. Smart is one thing, he said, but passion is key. “Things change quickly, especially at Ifbyphone,” he said. “We need people who are smart enough to keep up and also passionate enough about what we’re doing to want to keep up.”

But what really got the conversation going was the idea of diversity and its place in a company seeking to be disruptive. “We started out in Skokie,” said Doyle. “But we found that the diverse range of backgrounds we were looking to bring into the company weren’t in Skokie. So what did we do? We upgraded the entire company and moved into downtown Chicago.” He calls it one of the best decisions Ifbyphone has ever made, as the company is now competing head-to-head with big players seeking tech talent.

Kastrul paused to highlight this idea of “diversity of perspective.” It’s a particularly disruptive concept, after all: diversity, by definition, shakes things up. Different backgrounds make for different lens for finding solutions. Matt Denforth of Sears Holdings Corporation was eager to agree, citing varying background and pathways of experience as integral to company success.

“Killing the ‘Bro-Code’”

But how do you introduce diversity to a company that has already been built in a certain direction? The talent gap in technology, for example, is one that is often very specific, with white males taking up a lot of space in the field.

“When it comes to code,” said Danforth of Sears, “we embrace all codes.” He describes being purposeful in his pursuit of diversity. He tries to have conversations with hiring managers and team leads directly, but said, “If we have to have a lecture from HR, then that’s what we’ll do.” The panel agreed that when it comes to something as important as diversity, you have to pursue it proactively, and (wait for it) disrupt the status quo. You can’t have true disruption without turning some things on their head. This means, for example, killing the “Bro-Code,” Danforth said of the male majority in technology, and attracting and advancing women in the field.

Finding talent to fill the gap in tech is hard enough as it is, and it can be just as tough to track down the diverse talent that these companies seek, but this is why i.c.stars is such an excellent organization to partner with, Doyle added. “If this talent pool is sitting in my own backyard, we need to be part of that.”

As Robert Kress of Accenture said when he opened up the floor at iOpener 2014, “You are either a disrupter or you will be disrupted.”
We don’t know about you, but we are here to disrupt.

The post Employment: One Piece of a Disruptive Business Model appeared first on Ifbyphone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


August 22, 2014

Feature Friday is a bi-weekly blog featuring a new video brought to you by our Customer Success Team (CST). CST focuses on tutorials and feature enhancements that help our customers have a clear understanding of how exactly they can make their Ifbyphone experience perfect.  After all, we strive to be the easiest company you’ll work with!

You’re using Ifbyphone because you like to be the one in control.  You don’t want to call and tell someone to do something that you can do yourself in 30 seconds and know it was done right.  That’s why we’ve always allowed the clients to run their own accounts.  Changing what the phone number does is as simple as changing a few settings.  Follow along in the video and you’ll be configuring your numbers in no time.

Configuring a Phone Number from Ifbyphone Tutorials on Vimeo.

Have another idea for a video?  Tweet us at @IfbyphoneCST today!

 

The post Feature Friday: Configuring a Phone Number appeared first on Ifbyphone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


August 21, 2014

Share This: In an apparent attempt to reduce the number of negative reviews it receives online, a hotel in Hudson, New York, decided to start […] …read more

The post Give Customers a Voice, Heed Their Criticism appeared first on Plum Voice.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


When your website crashes you can either hear about it from your alerting software or an angry customer. That’s why a variety of hosted services exist to monitor websites.

However, for small websites you often want a simple open source project that can be set up in a couple of minutes to get the monitoring job done. In this post we’ll walk through the creation of a monitoring and alerting Python package.

This project is called Plushcap. What’s a Plushcap? It’s a species of tiny bird found in South American countries such as Argentina and Peru.

We’re going with the name Plushcap for a few reasons. First, the name is available on PyPI so there will not be any naming conflicts. Second, there are no projects named “plushcap” on GitHub in any language so we won’t be stepping on anyone else’s open source project name. Third and most importantly, I’m a huge fan of the amazing Pelican static website generator. Plushcap is a nod to that other P-bird-named open source project.

Many blog posts just walk through coding an app. This post will go a step farther and walk through the entire lifecycle of a Python open source project from initial code structure to making Plushcap available on PyPI.

Setting up our Initial Python Package

There’s some boilerplate code required for a Python project to be installable via PyPI. We can use the wonderful cookiecutter tool to get our initial codebase together. Cookiecutter has some external dependencies such as Jinja2 so I create a separate virtualenv just for these initial bootstrapping steps.

$ virtualenv --no-site-packages ~/Envs/cookie

Next we activate the virtualenv.

$ source ~/Envs/cookie/bin/activate

Install cookiecutter.

$ pip install cookiecutter

Now let’s create a directory where our project will be stored along with the requisite files for a Python package. Our input is bolded.

(cookie)~/devel/py$ cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git
Cloning into 'cookiecutter-pypackage'...
remote: Reusing existing pack: 377, done.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 383 (delta 0), reused 1 (delta 0)
Receiving objects: 100% (383/383), 59.93 KiB, done.
Resolving deltas: 100% (187/187), done.
full_name (default is "Audrey Roy")? Matt Makai
email (default is "audreyr@gmail.com")? mmakai@twilio.com
github_username (default is "audreyr")? makaimc
project_name (default is "Python Boilerplate")? Plushcap
repo_name (default is "boilerplate")? plushcap
project_short_description (default is "Python Boilerplate contains all the boilerplate you need to create a Python package.")? Plushcap monitors websites and alerts people via text or phone call if there is a problem.
release_date (default is "2014-01-11")? 2014-07-06
year (default is "2014")?
version (default is "0.1.0")?
(cookie)~/devel/py$

What did cookiecutter just do? It cloned the cookiecutter-pypackage.git repository and inserted the input values into files in our Python package directory named plushcap. We now have a directory with the following files.

  • AUTHORS.rst
    reStructuredText file with a list of package author’s names and optionally their email addresses
  • CONTRIBUTING.rst
    – guidelines for open source contributions to this project
  • HISTORY.rst
    – placeholder file for documenting changes for each version of the library
  • Makefile
    – convenient shortcut commands with the make program for packaging, testing and building the package and documentation
  • LICENSE
    – boilerplate legalese with the BSD license
  • MANIFEST.in
    – enumerates the files to include in the Python package distributable when it is built
  • README.rst
    – the first documentation file for others to review when they encounter the project
  • requirements.txt
    – application dependencies for developers working on the Plushcap library
  • setup.cfg
    setup configuration file
  • setup.py
    Python setup script for packaging
  • tox.ini
    – configuration for the tox automation project
  • .travis.yml
    – configuration file for Travis CI automated builds that are free for open source projects
  • .gitignore
    – Python-specific Git ignore file for files we do not want to include in the package’s Git repository
  • We also have the following directories.

    • docs
      – documentation files for the project that can be uploaded to and hosted on Read the Docs
    • plushcap
      – directory for source files

    • tests
      – location for files to test the package

    Next our new project will need its own virtualenv.

    $ virtualenv --no-site-packages ~/Envs/plushcap
    $ source ~/Envs/plushcap/bin/activate

    Once the virtualenv is activated we’ll have a prompt like the following to let us know the virtualenv that is currently in use.

    (plushcap)$

    Initial Git commit

    For the remainder of this tutorial assume that we’ve activated the plushcap virtualenv even if it is not shown at the prompt. Next we change into the Plushcap project directory.

    $ cd ~/devel/py/plushcap

    Let’s initialize the git repository and prep a push to a remote repository we’ll set up on GitHub.

    Note that on Windows Git may add a remote repository after the git init command. Remove the incorrect remote repository with git remote remove origin then execute steps 2-4.

    $ git init
    $ git remote add origin git@github.com:makaimc/plushcap.git
    $ git add -A .
    $ git commit -m "Initial commit with skeleton project structure."

    Let’s get our public repository set up on GitHub so we can push it there.

    Selecting “New repository” will send us to a form where we fill in the repository details.

    We now have an empty repository after filling in the details and pressing the green “Create repository” button.

    Let’s push the local repository to our remote repository.

    $ git push -u origin master

    Now we’ll see the following code in the GitHub remote repository when we refresh the browser window.

    We now have the skeleton of a Python package we can now fill our code into. You can see the results at this step or start from here with the tutorial-step-1 tag.

    Writing the monitoring code

    Let’s write some code to monitor if a website at an arbitrary URL is up or down. We’ll use the Requests library to easily retrieve the HTTP status code and content from URLs we want to monitor. We can then wrap conditional logic around responses to complete a simple version of our Plushcap library.

    Requests can be installed through pip.

    $ pip install requests

    We also need to make sure Requests is in our requirements.txt file. We can freeze our current requirements with the freeze command.

    $ pip freeze > requirements.txt

    Let’s take a look at what’s in there so far. This list is from Linux so if you’re running through these commands on Windows or Mac OS X you may have more or less packages listed. As long as Requests is in there you’re in good shape.

    $ more requirements.txt
    argparse==1.2.1
    requests==2.3.0
    wheel==0.23.0

    Wheel was installed by the cookiecutter package. Requests relies on argparse so that’s included as a dependency as well.

    Let’s add some code to our library so it’s not just a skeleton structure package. Open a file named plushcap.py under the plushcap/ directory and add the following code into it.

    import sys
    import requests
    
    CONNECTION_ERROR = -100
    
    responses = {CONNECTION_ERROR: "is down or did not respond to the request.",
                 200: "is online and returning 200 OK.",
                 403: "is online but is denying the request due to lack of " + \
                      "permission.",
                 404: "is online but the webpage at that URL was not found.",
                 500: "is online but returning an internal server error.",
    }
    
    def contact_url(url):
        """
            Attempts to access the URL specified as a parameter. Returns the
            status code and the content for the request once it is complete.
        """
        try:
            response = requests.get(url)
            return response.status_code, response.content
        except requests.exceptions.ConnectionError:
            return CONNECTION_ERROR, ""

    The contact_url function works but let’s leave it deliberately simple for this first iteration. We’ll add additional handling and functionality as we go along.

     

    Let’s also add a main function so we can execute Plushcap from the command line.

     

    if __name__=='__main__':
        if len(sys.argv) < 2:
            print("usage: python plushcap.py http://test.url/")
        else:
            status_code, content = contact_url(url=sys.argv[1])
            if responses.has_key(status_code):
                print(("The server at %s " + responses[status_code]) % sys.argv[1])
            else:
                print("Server response was unknown, status code: " + status_code)

    We can now run the code from within the plushcap project subdirectory. The code will reach out to the URL specified as an argument and find out the HTTP status code. Based on the status code a message will be displayed whether the website is up, down or erroring out.

    For example, try out the following command.

    python plushcap.py http://www.fullstackpython.com/

    If the server for http://www.fullstackpython.com/ is up then you’ll see the following success message.

    The server at http://www.fullstackpython.com/ is online and returning 200 OK.

    In case http://www.fullstackpython.com/ is down, you’ll instead see a message like this one.

    The server at http://www.fullstackpython.com/ is down or did not respond to the request.

     

    You can view the code we’ve written so far in the tutorial-step-2 tag on GitHub.

    Testing functionality

    Next we’ll add a few tests to ensure a basic scenarios work in this package. The tests will be run before every check in to ensure the main URL retrieval didn’t break with our changes. We’ll add more extensive tests and check our code coverage in a later step.

    For now, we have two tests. The first test retrieves a known working URL for Full Stack Python. The second test attempts to contact a localhost server at a port which is unavailable. Add these to the tests/test_plushcap.py file.

     

    import sys
        import os
    
        import unittest
    
        sys.path.append(os.path.join('.', 'plushcap'))
        sys.path.append(os.path.join('..', 'plushcap'))
        from plushcap import plushcap
    
    class TestPlushcap(unittest.TestCase):
        """
            Tests that URLs can be retrieved when they exist. URLs that do not
            exist or are down return the proper status codes.
        """
        def setUp(self):
            self.working_url = "http://www.fullstackpython.com/"
            self.non_existent_url = "http://localhost:8889/"
    
        def tearDown(self):
            pass
    
        def test_working_url(self):
            status_code, content = plushcap.contact_url(self.working_url)
            self.assertEquals(status_code, 200)
    
        def test_non_existent_url(self):
            status_code, content = plushcap.contact_url(self.non_existent_url)
            self.assertEquals(status_code, plushcap.CONNECTION_ERROR)
    
    if __name__ == '__main__':
        unittest.main()

    The tutorial-step-2 tag contains all the code to this point in the blog post.

    Adding notifications

    At this point we have a concise Python package that reaches out to a URL and prints a message based on the HTTP status code received. However, we’d like to monitor the URL on a regular interval and know if something happens to the website at the monitored URL. This step is where we can flesh out the code and integrate Twilio’s API to send SMS alerts when the website does not respond or returns an HTTP error status code.

    Let’s add a new function to plushcap/plushcap.py that checks a URL at a regular frequency then sends an alert if the status code returned is not 200.

    def check_url(url, twilio_client, twilio_from_number, alert_number,
        frequency=60):
        """
            Loops in a separate thread checking a given URL. Sends a 
            notification if the website goes down, 500 errors or gives a 404.
        """
        while True:
            status_code, content = contact_url(url)
            if status_code != 200:
                # alert time
                send_alert(url, status_code, twilio_client, twilio_from_number,
                    alert_number)
        time.sleep(frequency)

    Now let’s create another function that sets up the Twilio client and is the entry point when you set the Twilio environment variables for the Account SID, auth token, from number and alert number.

    At the top of plushcap/plushcap.py add the following import.

    from twilio.rest import TwilioRestClient

    Then add the following function to plushcap/plushcap.py.

    def monitor(url, frequency=60, twilio_account_sid=None, twilio_auth_token=None,
                twilio_from_number=None, alert_number=None):
        """
            Monitors the given URL. Default frequency is once a minute. Twilio 
            account SID and auth token are required for notifications and will be 
            pulled from the environment variables TWILIO_ACCOUNT_SID and 
            TWILIO_AUTH_TOKEN if not specified.
        """
        if not twilio_account_sid or not twilio_auth_token:
            # initialize with environment vars instead of function parameters
            twilio_client = TwilioRestClient()
        else:
            twilio_client = TwilioRestClient(twilio_account_sid, twilio_auth_token)
        if not twilio_from_number:
            twilio_from_number = get_env_setting('TWILIO_FROM_NUMBER')
        if not alert_number:
            alert_number = get_env_setting('ALERT_NUMBER')
        check_url(url, twilio_client, twilio_from_number, alert_number, frequency)

    These values that need to be set for these environment variables are found on the dashboard of your account when you log in or in your account settings page. If you already have a Twilio account you can skip the following sign up steps. If not let’s quickly walk through the registration process.

    First, sign up for a free Twilio account here.

    After signing up Twilio needs to quickly verify not a malicious spam bot by either sending you a text message or giving you a voice call.

    If you choose the text message verification you’ll receive a message like this one with a code to enter into the sign up form.

    Twilio will assign a random phone number once the sign up process is complete. You can also search for another number through the Twilio web interface or purchase one programmatically through the API.

    Answers to further phone number questions can be found on the phone number FAQ page.

    Now we just need to grab the credentials from the account dashboard and export them as environment variables on the system that will run Plushcap.

    Let’s modify the main function a bit to take these environment variables into account.

    if __name__=='__main__':
        if len(sys.argv) < 2:
            print("usage: python plushcap.py http://test.url/")
            print("also ensure that TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, " + \
                  "TWILIO_FROM_NUMBER\nand ALERT_NUMBER are set as " + \
                  "environment variables")
        else:
            url = sys.argv[1]
            print "Monitoring %s" % url
            status_code, content = monitor(url)
            if responses.has_key(status_code):
                print(("The server at %s " + responses[status_code]) % url)
            else:
                print("Alert: status code received from %s is %i instead of " + \
                      "200 OK." % (sys.argv[1], status_code))

    The tutorial-step-3 tag contains all the code we’ve written so far in this blog post.

    Packaging and Uploading to PyPI

    Now that we have the initial functionality for the package along with tests and documentation we can upload the library to PyPI. We need a MANIFEST.in file that tells setup.py what to include when we build a distributable package. Here’s our MANIFEST.in for Plushcap that sits in the base directory of the package:

    include AUTHORS.rst
    include CONTRIBUTING.rst
    include HISTORY.rst
    include LICENSE
    include README.rst
    include setup.py
    
    recursive-include tests *
    recursive-exclude * __pycache__
    recursive-exclude * *.py[co]
    
    recursive-include docs *.rst conf.py Makefile make.bat

    We’re including reStructedText (.rst) files, tests, our .py source files (but not the .pyc files) and the docs.

    With this in place we can package up our Plushcap project and upload it to the central PyPI hosted packages repository. These commands should be run in the setup.py directory which is the base directory of our project. Note that your package cannot be named the same as an existing package in PyPI. Use PyPI’s search feature to find out what package names are available for new libraries. Once you’ve found an available name edit the package_name value in your project’s setup.py file. Then upload the new package with the following command.

    $ python setup.py sdist upload

    If everything goes well with the upload we’ll see output with a Server response (200): OK like the following screenshot (installation output capped for brevity).

    Now Plushcap is on PyPI and can be installed by anyone with an Internet connection and pip installed by running the following command…

    $ pip install plushcap

    …and it’s installed!

    Next up: Building a web application with Plushcap

    The initial Plushcap library version is ready to go. But what if you want to use the code through a web application instead of directly through the Python interpreter? In the next post of this series we’ll take a look at using the a Python web application framework to build an application around the Plushcap library.

     

    Website SMS Alerts with the Plushcap Python Package: Part 1

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    Today, we are pleased to introduce a new way to find Twilio phone numbers in the Account Portal. The new Phone Number Search in the Account Portal makes it easier to search through millions of number options, in 600 different prefixes and area codes in nearly 50 countries.

    Finding the right phone number is an important task. Phone numbers represent geographies, different use-cases and often a brand identity that we all see even before we answer a call. At Twilio, we do our best to help by adding more phone number choices in existing and new geographies; and giving you the tools you need to find them. .

    The Twilio Phone Number Search API lets you programmatically search the entire Twilio inventory for a number that matches a specific pattern, geographic area, or capability of your choosing.

    The Twilio Account Portal on the other hand is useful when you need to manually find and assign phone numbers. You can search for numbers by country, by phrase, by digit match, by capability (Voice, SMS, MMS) and unlock more search options in the Advanced Search. The new features include:

    • Option to search by area code and as well as letters instead of numbers.
    • Option to search with a new wildcard character, ‘%’, which matches any number of characters, in addition to ‘*’ which matches exactly one character.
    • Advanced search mode where you can specify the number type such as local, mobile and toll-free; search for number combinations in the beginning, end or anywhere; and residency certification requirements.

     

     

    We hope you find the new Phone Number search useful as you build your communications apps with Twilio. Please email us help@twilio.com if you need any assistance.

    Introducing New Phone Number Search in the Twilio Account Portal

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    Google PlusGoogle recently removed authorship photos from search engine results. They kept the author links, but took away the pictures. Now, just a few short weeks later, they’ve already brought the author photos back, but only for authors who post their content to their own Google+ page, not external sites. What does this mean? Well, first it means that authorship photos are not actually dead. If you want your picture to show next to search results related to the content you create, post it to your Google+ profile.

    Next, it means that Google+ is even more relevant for content marketers. With over 300 million monthly active users, content marketers cannot ignore the platform (DMR). Google+ is more than just a social profile: it really is an inherent part of the Google algorithm.

    Google’s Indexing of Google+ Posts and Pages

    Google’s algorithm indexes posts shared on Google+ really fast; in fact, almost immediately. Since Google indexes Google+ pages and posts so quickly, you’ll get your content showing up in results faster than you will on other social networks and even from your own website. Due to privacy restrictions and settings on Facebook, these posts often never get crawled, unlike Google+ where you will see your posts crawled and indexed in seconds.

    One technology journalist found that one of his Google+ posts was indexed in less than 9 seconds:

    Google+ Post Indexing for SEO

    Google +1s Correlation with Search Rankings, SEO

    Moz published a scientific correlation study in August of 2013 that aimed to better understand qualities of web pages with high rankings in Google. There was a lot of controversy around their discovery that “After Page Authority, a URL’s number of Google +1s is more highly correlated with search rankings than any other factor.”

    Moz and Google+

    Moz went on to say that the correlation bordered on the line of causation, saying that posting to Google+ is very likely the most “superior platform for SEO.”

    The #1 reason Google+ is still relevant to content marketers is SEO. The SEO value your content will gain by being posted to Google+ is incredible. Indexed Google+ posts drive high amounts of traffic to your website and fast. It’s the best way to gain traction, quickly, on the content you create.

    Content Sharing with a Highly Targeted Audience

    With Google+, content marketers can build an audience of followers who have demonstrated interest in the content they create. With Circles and Hangouts you can build a community of engaged and interested Google+ users.

    Circles: In your Circles live your followers. You can add any user to your circle and the things they post on their Google+ page will show up in your feed. Once you’ve added someone to a Circle you can participate in Hangouts with him or her as well. Content marketers can create specialized Circles of Google+ users based on vertical, industry, content, etc. to target the content they are creating with a specific, relevant group of Google+ followers. 

    Hangouts: Content marketers are using Google+ Hangouts to make product announcements, host webinars, and Q&A sessions, workshops, interview clients for case studies and much more. Hosting hangouts makes it easier to build your Google+ circles (because you can only “Hangout” with people already in your circles) so setting up Google+ Hangouts is a great way to get more exposure for your Google+ profile and the content you share on it.

    When sharing content with an audience that has shown demonstrated interest in the topics you write about, you would expect them to spend more than just a few seconds on your post. The average duration of a Google+ visit is 3:46 seconds (DMR). That is a significant amount of time for a user to spend on a post, indicating that they are actually reading the content in front of them. This helps boost your credibility and the likelihood that a user will convert on your website.

    Google+ has become one of, if not the best, ways to share and get exposure for content. Authorship, SEO ranking factors, and the ability to build highly targeted audiences on the platform all contribute to the success content marketers are seeing with Google+.

    If you are interested in learning more tips for how to optimize the exposure and value of your content, download the eBook, “Marketers Guide to Proving (and Improving) Content Marketing ROI.”

    The post Why Google+ Is Even More Relevant to Content Marketers appeared first on Ifbyphone.

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    August 20, 2014

    We think of text messages like letters being sent to personal mailboxes. Only the phone owner has a key to that mailbox. This is great for private communication between friends, family, significant others, etc. But it’s a nightmare for businesses.

    Your average on-demand business has a middleman between the customer and themselves. This could be a driver, flower delivery guy, bike messenger, or house cleaner. To keep all three parties in touch, companies like Uber, HomeJoy, AirBnB use text messaging. When the company contacts the middleman (or vendor) they have to do it on a 1 to 1 basis. One employee, contacts one vendor, and the conversation is contained. Front wants to flip the 1 on 1 model on its head.

    The Front app works as a layer on top of your SMS platform that allows you to collaborate and share SMS conversations. When someone sends a text to your Twilio powered number, Front captures it and gives you the ability to assign action items to the text, tag team mates, create a deliverable calendar, and follow the conversations.

    Front’s design is complex when businesses need it to be, and dead simple for the folks on the other side of the phone. The UX doesn’t change for vendors who are used to sending texts to one number, expecting replies from one person. They can send the same SMS to the same number and expect the same response.

    For businesses like HomeJoy, the app is an invaluable resource for wrangling and organizing all their inbound messaging. Complex tools like conversation tracking, task assignment help HomeJoy streamline their communication with contractors.

    Despite being a lean team of three, Front is shipping fast. Earlier this year they launched a collaborative email platform, and a Twitter integration that lets teams collaborate and plan tweets. You can learn more about Front here

    Front Makes SMS Collaborative With Twilio

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    Agency technologyProving your value to clients always is at the top of the list for marketing agencies, and there are many powerful tools for tracking your lead generation efforts. Tools like Google’s Universal Analytics are great for tracking web leads, or Salesforce’s CRM platform that can track how these leads progress through the sales funnel, and lastly, optimization platforms like Optimizely that can help you drive more leads from your website. These are just a few of the numerous tools that exist to monitor the success of your online marketing efforts, but most agencies lose track of the most valuable leads at the same exact time: when they pick up the phone.

    The Importance of Phone Leads

    It’s common thinking that phone calls have grown less important with the rise of the Internet, but it’s actually the opposite. With the uptick in smartphones, there has been a dramatic rise in the amount of calls being placed to businesses. In this years annual State of Marketing Measurement Survey, we found the second-highest rated marketing channel to be inbound phone calls, which placed just behind in-person visits. Without knowing where these high value leads are coming from, how can you truly demonstrate the success of your marketing campaigns?

    The right arsenal of tools can help you optimize lead generation and inbound call routing for clients. Voice-based marketing automation (VBMA) technologies can provide the ability to track where all phone leads originate as well as scoring and routing those calls.

    Call Tracking

    Call tracking lets you attribute all phone leads received by your client back to the campaigns you are running for them. This ensures that you get credited for every lead you generate, no matter what source it comes from.

    By inserting unique numbers in your marketing you can easily determine the success of every campaign from billboards to emails. With keyword level call tracking you can run large PPC campaigns using a vast number of keywords, and dynamic number insertion guarantees that unique phone numbers show up on your clients’ webpages for each keyword.

    Lead Scoring

    When your client’s phone rings, they don’t want to spend their time talking with prospects that aren’t ready to talk to them. Without qualifying inbound leads, there is no way to know which leads are sales-ready and which are not.

    With a hosted IVR (interactive voice response), it is easy to score and qualify inbound calls before they ever reach your clients. Anybody who is not ready to talk to sales can be routed to a lead capture survey to be scored and then placed into the appropriate bucket based on their readiness to buy.

    Phone Routing

    Being able to route the right leads to the right person can save your clients a lot of time and energy. If calls aren’t being routed efficiently, then this can consume a lot of your representatives’ precious time. With intelligent call routing you can make sure that every call is getting to the correct sales agent, support agent, store, or voicemail box. You can route a call based on many different factors such as the calls marketing source, location, score, or which agent is best able to handle that call.

    Putting It All Together

    Phone calls are coming in at unprecedented rates and as a marketing agency, it is more important then ever to be able to track them for your clients. This allows you to attribute each lead back to your marketing campaigns, even if that lead goes offline. Tracking and then scoring all inbound phone leads give you the ability to route each call to the representative best suited to handle that call. The addition of voice-based marketing automation technology to your existing arsenal of web tools ensures that you capture every phone lead and optimize the ROI you create for your clients by scoring and routing calls.

    Ifbyphone’s voice-based marketing automation solution gives marketing agencies the power to track and automate inbound phone leads through every step of the process. To learn more about how your agency could be getting more out of your marketing efforts, take a look at our on-demand webinar: The Marketer’s Guide to Tracking and Scoring Phone Leads.

    The post Marketing Challenges Faced by Agencies and How to Solve Them with VBMA appeared first on Ifbyphone.

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    August 19, 2014

    About a year ago my wife and I moved into a new house in San Diego and ended up having a landline once again. While I have no attachment to my landline, I do love my Grandma, and this is about the only way she ever gets in touch with me. Unfortunately for Grandma, I decided to take apart my home phone and use it for a Garden monitor last month, which means I needed to find a way to port my landline to Twilio. Luckily Danielle Morrill wrote a post on this very topic a few years ago and with some tweaks I was able to get my mobile phone ringing whenever Grandma called my home number. Now I’d like to improve upon Danielle’s original post and walk you through just how easy it is to port your landline to Twilio.

    How to Port a Number

    Porting a number into Twilio is free, and usually takes 2-3 weeks depending on what carrier you’re porting from.

    To get started with porting, log into your Twilio account and make sure you’ve upgraded to a paid account. Once the number is in, it will cost $1/month to hold onto it, so you’ll need some funds to cover that.

    Once you’re in and have added funds, head over to the phone numbers page and select the “Port a number” button.

    Filling out the porting form is pretty straightforward but requires two additional steps. First you need to verify that you understand what porting means.

    Next you need to submit two documents; a letter of authorization and a billing statement from your phone provider.

     

    At this point, our porting team takes over and moves things along and gives you updates along the way.

    How to Configure Call Forwarding

    Once you’ve got your number ported to Twilio, you’ll probably want to set it up to receive inbound calls and forward them to your mobile phone.  There are two ways to do this:

    Write a call-forwarding application using TwiML

    Luckily call-forwarding only requires 3 lines of XML, hosted on a server and publicly accessible with a URL that you can use to configure your Twilio number.  The TwiML to forward a call looks like this:

    <Response>
    <Dial>800-555-2368</Dial>
    </Response>

    Now all you need to do is throw this file up on a public server. Probably the easiest way to serve up this twiml is through twimlbin.

    Once you’re on twimlbin.com, click on “Create new Twimlbin”.

    Next simply paste the TwiML example from above in the field.

    Now all you need to do is paste this URL into the Voice Request URL for your Twilio number.

    Use a call-forwarding twimlet

    Twimlets are simple stateless applications hosted by Twilio.  Multiple Twimlets can be chained together to create sophisticated apps (great for rapid prototyping), and the Forward Twimlet is a simple app you can use to send incoming calls to your Twilio number out to your mobile phone.

    In this example, I’m going to forward calls to my Twilio number on to the Twilio company phone, but you can do this with any number you wish.  Each Twimlet comes with a simple URL generator, just fill out the form and copy the URL it creates.

    Now all you need to do is paste this URL into the Voice Request URL for your Twilio number.

    Extra features for your landline

    Great, now your Grandma can get in touch with you, and calls are being forwarded to your mobile phone. However, now your home phone is on steroids (Twilio steroids) and it can do a multitude of things. Here are a few ideas:

    • Record all of your home phone calls (kind of creepy, but helpful if you have a stalker)
    • Play nice background music, or beach noises behind every call
    • Conference in your Aunts and Uncles whenever Grandma calls
    • Create the most amazing answering machine by adding an IVR or touch-tone menu to your voicemail, allowing people to select from a menu of options or greetings.

    If you do something even cooler, or if you just want to rap about the best voicemail greetings from the 90’s, be sure to hit me up on twitter or email.

     

    Keep Grandma Happy by Taking Your Landline With You

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    Screen Shot 2014-08-19 at 11.42.08 AM
    Every year, the Illinois Technology Association hosts their annual CityLIGHTS Awards, celebrating the brightest in Chicago tech. The goal is to connect technology executives, entrepreneurs, corporate executives, and investors while also highlighting the technology and milestones of the last year. There are multiple categories in which winners can be honored, including the Outstanding Technology Development Award, presented to the company or organization that utilizes or developed a technology tool, process or service that made a substantial improvement on business metrics. And guess what? Ifbyphone is a finalist!

    Dawn of the Planet of the Smartphones

    Everyone knows mobile is taking over. Everyone today has a smartphone, and it’s transforming how consumers are researching and interacting with businesses. Mobile search is overtaking desktop search, and marketers are seeing prospects respond to their digital and offline ads and campaigns by using smartphones to call businesses. Around 30 billion inbound sales calls were made to businesses in the U.S. alone last year, and that number is expected to reach 65 billion by 2016. What’s more, studies show that inbound calls convert to revenue 10 times more than web leads, making them the lead type sales managers want most.

    Our “Outstanding Technology Development”

    To help businesses cope with and maximize on the rise of mobile, Ifbyphone offers a really cool set of tools. Our cloud-based software gives marketers the power to measure marketing effectiveness and optimize ROI by not only tracking inbound calls (and the revenue they generate) back to the specific online, mobile, or offline source that originated them, but also by routing calls automatically based on customizable criteria to the right store, office, or sales agent right away, no matter where they are or what phone device they use.

    Our software works by giving marketers unique trackable numbers for each of their ads, assets, and web pages, so when a prospect calls after seeing an ad or visiting the company’s web site from a search engine, Ifbyphone pins the original lead source and search inquiry to the call. Marketers can then generate rich call data reports to see exactly what sources generate calls, where callers are calling from, call length, and even what web pages each caller viewed before and after calling. Ifbyphone’s data also integrates with the other applications businesses and agencies rely on, including marketing automation and bid management tools, Google’s Universal Analytics and AdWords, website optimization technologies, and CRM solutions like Salesforce.

    Vote for Us!

    We’re pretty excited about the honor of being a finalist in the ITA CityLIGHTS Awards. If you share our excitement, recognize the impact that mobile is having on business, and want to be part of the solution, vote for us! And if you want take it a step further, share this with your networks! We are ecstatic about being among the brightest tech companies in Chicago, and we can’t wait for the awards!

    The post Outstanding Technology: Ifbyphone Is a Finalist in the ITA CityLIGHTS Awards! appeared first on Ifbyphone.

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    August 18, 2014

    Today Google announced Website Call Conversions a new tool that will enable AdWords advertisers to use Google forwarding numbers to track call conversions that come after a user visits a web site from a Google paid search ad. Previously Google only tracked web form conversions and calls that came directly from mobile search ads.

    Having a company like Google provide this service further validates what our thousands of active customers already know: calls really are the new clicks. Study after study has confirmed that inbound phone calls are indeed the most lucrative and valuable lead type. They are the leads sales teams want most, and the leads marketers most need to generate, because they are the leads most likely to convert to revenue.

    If you are running Google AdWords campaigns, you should absolutely track calls back to the keywords, ads, and campaigns that drive them. You simply cannot optimize conversions and ROI from Google paid search without it.

    But what’s true for Google AdWords is also true for all your marketing. Think about the different ways you drive web and call conversions. Google AdWords might be an important part of your marketing mix, but what about things like SEO and website optimization? Or ad campaigns on other search engines like Bing? It’s just as important to attribute phone calls back to those sources to optimize their ROI.

    And what about other digital marketing channels such as display ads, email, videos, content, and social marketing like Facebook, LinkedIn, and Twitter? Or offline marketing such as direct mail, TV, radio, print, collateral, and trade shows? Tracking phone leads back to every marketing source has become an indispensable part of proving and improving marketing’s impact on leads, sales, and a business’s bottom line.

    One Solution That Works for All Your Marketing

    And that’s why call tracking and voice-based marketing automation solutions like Ifbyphone can be so valuable to marketers and agencies. We give you one solution that tracks all your marketing – online, mobile, and offline – including Google AdWords, so you can optimize lead generation across every channel.

    What’s more, Ifbyphone’s data integrates with CRM systems like Salesforce, so you can track each phone lead through the sales cycle to revenue. That means that you can generate reports not only on what marketing sources are generating leads, but also sales opportunities and revenue. You can then optimize campaigns and marketing spend based on what’s really impacting the business, not just driving calls.

    Controlling What Happens During the Call Is Critical to Optimizing ROI

    Tracking calls back to the right marketing source is an important first step. But savvy marketers know that it is what happens during the call that can make or break a campaign’s ROI. And that’s why what’s truly unique about Ifbyphone are the tools and technologies we provide beyond call tracking that work the moment a call comes in, including:

    • Call filtering tools that automatically qualify callers, provide self-help options, and weed out calls that shouldn’t go to sales agents
    • Call routing tools that maximize a phone leads’ chances of converting to revenue by routing each call optimally based on criteria such as marketing source, the caller’s geographic location, time/day of call, and more
    • Call scoring tools that automatically measure a phone lead’s quality based on the actual words spoken during the call
    • Call management tools that enable businesses to maintain a professional virtual call center where agents can field and make calls while working from anywhere on any phone device
    • Built-in integrations with other marketing and sales applications like CRM, bid management, website optimization, and marketing automation so that they can leverage call analytics to drive more call conversions and eliminate the blind spot in their reporting

    If you have any questions about Google’s call conversions tool, please send us an email at contact@ifbyphone.com. And if you would like to learn more about the benefits of voice-based marketing automation, you can request a personal demo of Ifbyphone.

     

    The post Google Validates Need for Call Tracking with Website Call Conversions for AdWords Tool appeared first on Ifbyphone.

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    Version 2.3 of the Java Play Framework has recently been released with a move away from the ‘play’ command to the ‘activator’ command. TypeSafe UI has been bundled in as well as support for Java 8. The full announcement can be read here. It seems like a good time to take a look at using Twilio with Play Framework.

    Here’s is what we are going to do:

    We will then have a simple Play Framework app that can respond to both SMS and telephone calls using Twilio.

    Playtime!

    Let’s take a look at getting started with Play 2.3. Download the release, and unzip it to get started. You’ll want to add activator to your PATH and you’re good to go. There are instructions for doing this in UNIX/OS X/Windows on the Installing section of the Play Framework site.

    Creating a new application is super easy. I’m using OS X, check the documentation for other platforms. At the command prompt type:

    activator new

    This will ask you what type of project you want to create:

    twilio-and-play_create_a_new_app

    I selected play-java, (option 3) and named the project twilio-and-play.

    twilio-and-play_created_an_app

    Now, we’re all ready to go. All we need to do is change into the twilio-and-play directory, and type:

    activator run

    twilio-and-play_running

    Note that Play has used my IPv6 loopback address, you can still use 127.0.0.1 or 0.0.0.0. But if you’d like to use your IPv6 loopback type [::] or [0:0:0:0:0:0:0:0] into your browser. You can specify port 9000 with [::]:9000 or [0:0:0:0:0:0:0:0]:9000. You should see the welcome screen for your new application.

    play-and-twilio-running-browser-default

    Clearly it is really easy to get started with Play Framework, so let’s find out how easy it is to get started with Twilio.

    import Twilio *;

    If you don’t already have a Twilio account, you can create one for free by going to http://twilio.com/try-twilio. Enter your name, email, and a password:

    play-and-twilio-twilio-signup

    Click ‘Get Started’, and we’re nearly there. Twilio needs to check you’re not a robot using 2-factor authentication. This is a really common use-case for Twilio and my buddy Joel wrote about it in this blog post. All you need to do is enter your mobile number:

    play-and-twilio-enter-user-phonenumber

    Click ‘Text Me’, and you’ll be sent a code via SMS. Enter the code:

    play-and-twilio-twilio-2faTwilio will find you a number based on your location to get started with. I’m in the UK, so Twilio has automatically found me a number in the same country. If you want, you can click ‘Choose your own number’ and select a different number if you like. I’m happy with this number, so I’ll keep it and get started.

    Click on ‘Get started’, and then click ‘Go to your account’ to get started right away. Welcome to your very own Twilio.com dashboard. The two bits of information (highlighted with arrows below) that are most important are your Account SID, and Auth Token. (Click the little padlock to reveal your Auth Token.) These are your username and password to a world a telephony goodness.

    play-and-twilio-dashboard
    Play working? Check.

    Twilio working? Check.

    Play Together with Twilio

    Play’s activator command has built most of the plumbing for our app, so we just need to include the Twilio dependency. At the time of writing, version 3.4.5 is the most recent release of the Twilio Java Library. We need to modify the Build.sbt file to include this dependency:

    libraryDependencies ++= Seq(
    javaJdbc,
    javaEbean,
    cache,
    javaWs,
    "com.twilio.sdk" % "twilio-java-sdk" % "3.4.5"
    )

    Next we need to run:

    activator dependencies

    This will print out a long list of libraries and dependencies that are required. If you haven’t run it before, it make take a little while to install all the packages.

    twilio-and-play-dependencies

    We now have play installed, the Twilio library installed, and all of our dependencies are loaded. It’s time to write some code.

    Action!

    Play Framework is based on the MVC model. To integrate Twilio we only really need to worry about the controller, as we won’t be storing any data or creating a UI. As a result we can write all of the new actions we need inside the Application Controller (app/controllers/Application.java).

    The first thing to do is to import the Twilio Library:

    import com.twilio.sdk.verbs.*;

    Let’s start with SMS. When a person sends an SMS to our Twilio number, Twilio will send an HTTP GET or POST request to our application with information about the From and Body (as well as To and a few other fields). We need to respond to the HTTP request with some XML that we call TwiML. TwiML always starts with a <Response> root element, with a set of nested ‘verbs’ depending on your needs. In this instance, we want to respond with an SMS, so we’ll use the <Message> verb. We’ll do this in an action called ‘messages’ on the application controller:

    // Handle an incoming SMS...
    public static Result messages() {
    
      //Use the TwimlResponse object to build up the XML reply.
      TwiMLResponse twiml = new TwiMLResponse();
      Message message = new Message("Thanks for sending me an SMS!");
    
      try {
        twiml.append(message);
      }
      catch (Exception e) {
        Logger.error("An error occurred trying to append the message verb to the response verb.",e);
      }
      return ok(twiml.toXML()).as("text/xml");
    }

    Once we’ve added a new action to our controller, we need to add a URL route so that Play Framework knows to route request to it. We need to add the following line to conf/routes:

    POST      /messages       controllers.Application.messages()

    This means that whenever a HTTP POST requests is received with a path /messages, Play Framework will call our messages() method. We can run the app with:

    activator run

    You should now see you application up and running, in my case it was on port 9000.

    In order for Twilio to access our application, we need to make it available on the internet. To do this, I like to use NGrok, which can provide a globally routable URL for an application running on localhost. My colleague Kevin Whinnery wrote a great post about how to get started.

    Essentially, you need to install the NGrok executable, and type ‘ngrok 9000’ (assuming your app is on port 9000):

    twilio-and-play-ngrok

    You can now specify this NGrok URL on your Twilio endpoint for messaging. Log into your account dashboard and set the URL using the NGrok URL and the /messages action route.

    twilio-and-play-messages-url

    Click save, and reach for your phone. If we send an SMS to our Twilio number we should get a reply, powered by Twilio and Play Framework!

    play-and-twilio-ios-sms

    Let’s Talk About It

    Well. That was easy.

    Let’s teach our Play Framework application to talk. Wouldn’t it be great if I could phone my application and have it talk to me? Let’s create a new action in the Application controller called ‘calls’:

    // Handle an incoming Call...
    public static Result calls() {
    
      //Use the TwimlResponse object to build up the XML reply.
      TwiMLResponse twiml = new TwiMLResponse();
      Say message = new Say("Thanks for calling my Play Framework application.");
      message.setVoice("alice");
      message.setLanguage("en-gb");
    
      try {
        twiml.append(message);
      }
      catch (Exception e) {
        Logger.error("An error occured trying to append the say verb to the response verb.",e);
      }
      return ok(twiml.toXML()).as("text/xml");
    }

    With that, we need to add another route for this action in conf/routes:

    POST      /calls      controllers.Application.calls()

    twilio-and-play-voice-url

    Now, we can just call our Twilio number. We don’t need to restart Play or NGrok which is nice. We’ll be connected to our application, and we should hear “Thanks for calling my Play Framework application” in a beautifully synthesized voice using the <Say> verb. We could also make an application that <Play>s MP3 and Wav files, or a host of other options with TwiML.

    Play us out

    In just a few minutes we’ve built a simple Java Play Framework application that can handle incoming phone calls and SMS messages using Twilio. I’d love to hear if you’ve built a Play Framework Twilio app, so feel free to drop me an email or a tweet and let me know what you made.

    Getting Started With Twilio and Java Play Framework

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    customer obsessionIt’s a crazy time to be a marketer. Like any field, things change quickly with the introduction of new data and technology, but that’s what makes being in marketing so exciting right now: data and technology are at the center of many of the changes taking place, and as marketers we’re always running to stay abreast of them. But in the swell of new trends, there is one thing we must remember to not leave in our dust: our customers’ success.

    Love the One You’re With

    Yes, a huge part of marketing is the acquisition of new customers. But this should never be at the expense of the customers you already have. A great example of this has historically been found in wireless providers’ treatment of new customers vs. old: I can’t tell you how many times I’ve heard friends and family complain about how new customers get great upgrades on new smartphones while old customers have to give their left leg for a decent upgrade deal. And time and time again, those “old” customers go to the competitor to take advantage of new sign-up offers.

    When you don’t show your existing customers love, not only do you stand to lose them to the competition, but you risk putting off new customers as well, because those new customers have their ear to the ground. For example, a study by Gainsight showed that 60% of tech B2B customers search for peer testimonials on products, and 84% of B2B decision makers start their buying process with a referral from a trusted peer. So it stands to reason that if you want those whispers to turn into conversions for your business, you need to ensure that the whispers are positive. But how?

    Turn Your Customers Into Advocates

    When a lead first becomes a customer, it’s because their awareness of your service or product became a preference. They don’t love you yet: they just decided to try you out. After they take that first step, you need to earn their “like.” I don’t just mean that they clicked “Like” on your company Facebook page: they need to like you, meaning that you need to make it so that when given the option to renew their service with you, they do. Again, how?

    Get Customer Obsessed

    The obvious way to get your customers to like you is to provide a service or product that is worthy of their “like,” let alone their love. This can mean many things to different businesses, but beyond that is the culture of customer service that you create. Can they reach you when they need troubleshooting or have questions? Are your hold times reasonable? Are your reps helpful, honest, and nice? All of these things matter when it comes to turning a customer’s “like” into “love,” and it involves more than simply having a phone number on your website, although that is a definite requirement for happy customers. It can involve:

    • Getting knee-deep in data: do call analyses to determine your average hold times and compare them to these benchmarks.
    • Implementing a keyword spotting tool and use call recordings to analyze how well your customer service calls are getting the job done.
    • Using outbound IVR to survey your customers on what you can be doing better to meet their needs.
    • Provide VIP call center treatment by moving preferred customers to the front of the call queue.

    There’s more, but this is a start if you want to begin exploring ways you can make your daily business more customer focused. Turning customer obsession into part of your marketing strategy and being able to highlight the above behaviors as benefits for your clients packs some serious value.

    Turning Like Into Love

    Once you implement some ways in which you can improve your current customers’ experience, their “like” will eventually transition into “love.” This takes time, but stick with it. All of those customer-obsessed actions you take will eventually sink in, and by the time you ask your customers how they would feel about referring you to some of their pals—if there’s something in it for them—then they won’t think twice. You’re one step closer to turning them into an advocate. Once you reward them for their referrals—hopefully multiple times—all the while providing them the great customer-obsessed service they have become accustomed to, advocacy is a natural next step. Give them something to brag about. Think about it: when asked by their peer, “What do you think about ABC as a provider?” they’d love to be able to say, “Oh, ABC? They treat me like gold. I never have to wait on hold and I’m connected to my account rep whenever I have a question, big or small.” How many customers can say that about the company they do business with? Unfortunately, not many. So the more you make your clients feel like a million bucks, the more likely it is you’ll get that million bucks in your pocket.

    Customer obsession isn’t just making customers feel good for the heck of it. It’s a calculated business move that any smart marketer should see the value in. Want some more tips on how certain practices can move you closer to customer obsession? We have a free white paper that can help, Beyond the Cloud: The Next Generation of Virtual Call Centers.

    The post Why Your Business Should Be Customer Obsessed appeared first on Ifbyphone.

    Bookmark this post:
    Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


    Last updated: August 29, 2014 06:01 PM All times are UTC.
    Powered by: Planet

    Speech Connection and Logos are Trademark of Nu Echo Inc. Copyright 2006-2008.