A High-Level Look into Clickatell's New SMS Small Business API

This is the first post in a two part series on integrating SMS functionality into an application. In this post, I focus on the analysis I did into Clickatell’s Small Business API. My second post in this series, “How to integrate Clickatell’s SMS Small Business API into a .NET application”, focuses on the options available and technical details for integrating the API into your application.


Clickatell is a worldwide mobile messaging company that just released a Small Business API, which allows you to integrate SMS functionality into your small business applications. Their target audience is small businesses that want to integrate SMS into their business model. For example, appointment reminders or delivery notifications are perfect scenarios for this API. It is not intended for multi-national business that need to send thousands of messages in bulk. You’ll want to look into the other messaging capabilities that Clickatell provides if you need to support over 10k messages a month. My dentist sends me appointment reminders and the Small Business API would be a perfect solution for them to implement for that.

Clickatell asked me to try it out and give them feedback so they can continue to improve the product.

API RESEARCH

Before I sat down to look at the API I came up with the following list of questions I would ask of any SMS API provider.

  • Reliability – Do they guarantee message delivery? Can I get notified when messages are successfully sent?
  • Usability – Can I quickly get what I need from the API? Is it easy to use?
  • Networks and Countries – Do they support the mobile networks that the majority of my customers are on? Only US or entire world?
  • Performance – What is the typical response time of the endpoint?
  • Platform Support – Do they support .NET and JavaScript calls?
  • Technical Support – What is response time for technical support inquires? Is there a phone number to call if needed?
  • Availability – How many nines? Do they have downtime notifications?
  • Pricing – How much does it cost per message?
  • Rate Limiting – How much do they throttle messages?
  • Media– Does it support MMS?

RELIABILITY

Do they guarantee message delivery? Can I get notified when messages are successfully sent?
I found out through my research into SMS that ALL messaging providers cannot guarantee delivery, but they do provide interim and “last know” status for each message. Keep this in mind when you are developing your SMS solution. You’ll want to make sure that you track message status so you can resubmit on failures.
You get the callback functionality by setting up a page that processes the callbacks and then you configure that page in your Clickatell account settings page.

USABILITY

Can I quickly get what I need from the API? Is it easy to use?
Based on a cursory glance of their APIs & Scripts it looks fairly straightforward to use. You can see more details in my second post: "How to integrate Clickatell’s SMS Small Business API into a .NET application"
Here are some examples of what the endpoints look like to give you an idea of their usage:
HTTP:

http://api.clickatell.com/http/sendmsg?api_id=xxxx&user=xxxx&password=xxxx&to=xxxx&text=xxxx

XML:

http://api.clickatell.com/xml/xml?data=<clickAPI><sendMsg><api_id>1</api_id><user>demo</user><password>demo</password><to>448311234567</to><text>Meet me outside</text><from>me</from></sendMsg></clickAPI>

SOAP:

<?xml version="1.0" encoding="ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="soap.clickatell.com"> <SOAP-ENV:Body>
<tns:sendmsg xmlns:tns="soap.clickatell.com"> <session_id xsi:nil="true" xsi:type="xsd:string"/> <api_id xsi:type="xsd:int">1234</api_id> <user xsi:type="xsd:string">demo</user> <password xsi:type="xsd:string">demo</password>
<to xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="xsd:string[2]"> <item xsi:type="xsd:string">2799912345</item> <item xsi:type="xsd:string">27999123134</item> </to>
<from xsi:type="xsd:string">me</from> <text xsi:type="xsd:string">Initial test message</text> <concat xsi:nil="true" xsi:type="xsd:int"/> <deliv_ack xsi:nil="true" xsi:type="xsd:int"/> <callback xsi:nil="true" xsi:type="xsd:int"/> <deliv_time xsi:nil="true" xsi:type="xsd:int"/> <max_credits xsi:nil="true" xsi:type="xsd:float"/> <req_feat xsi:nil="true" xsi:type="xsd:int"/> <queue xsi:nil="true" xsi:type="xsd:int"/> <escalate xsi:nil="true" xsi:type="xsd:int"/> <mo xsi:nil="true" xsi:type="xsd:int"/> <cliMsgId xsi:nil="true" xsi:type="xsd:string"/> <unicode xsi:nil="true" xsi:type="xsd:int"/> <msg_type xsi:nil="true" xsi:type="xsd:string"/> <udh xsi:nil="true" xsi:type="xsd:string"/> <data xsi:nil="true" xsi:type="xsd:string"/> <validity xsi:nil="true" xsi:type="xsd:int"/> </tns:sendmsg>
</SOAP-ENV:Body> </SOAP-ENV:Envelope>

COM:

oSMS.SendSimpleSMS API_ID, "username", "password", "278…", "My first SMS"

NETWORKS AND COUNTRIES

Do they support the mobile networks that the majority of my customers are on? Only US or entire world?
Clickatells’ Small Business API supports all the major mobile networks in the US, including AT&T, Sprint, Verizon and T-Mobile, so you shouldn’t have any concerns when targeting US customers. It also supports Canada, Latin America and China. I’m unfamiliar with non-US networks, so be sure to scroll to the bottom of the Pricing and Coverage to page to make sure your target customer’s network is listed.

PERFORMANCE

What is the typical response time of the endpoint?
Clickatell claims that each SMS submission takes less than a second and it appears to be very fast in my initial tests. Definitely fast enough for the average small business.

PLATFORM SUPPORT

Do they support .NET and JavaScript calls?
Clickatell’s Small Business API provides you with 4 ways to implement SMS functionality into your application: HTTP/S, COM, XML and SOAP. They also provide a Connect API that allows you to manage your account (buy credits, create new connections, etc) programmatically.
They also supply scripts for PhP, VBScript, C#, VB.NET, Cold Fusion, Oracle and there are libraries for Java, Ruby, Perl and Applescript. See their APIs and Scripts page for more details.

I dig into the options in more detail in my second post: "How to integrate Clickatell’s SMS Small Business API into a .NET application"

TECHNICAL SUPPORT

What is response time for technical support inquires? Is there a phone number to call if needed?
Clickatell offers email support with a 1 day turnaround time, phone support if you need immediate assistance and they also offer chat on their website. I haven’t had the opportunity to contact their support, but at least they have multiple options with prompt turnaround times.

You can find all the ways to contact them at the Clickatell’s Contact Us page.

AVAILABILITY

How many nines? Do they have downtime notifications?
Clickatell’s Small Business API supports 99.99% uptime availability which equates to them being unavailable for 1.01 minute a week, 4.32 minutes a month and 52.56 minutes a year. This is much higher than I expected and should meet all the needs of small businesses.

PRICING

How much does it cost per message?
The pricing information I found on Clickatell Small Business API Pricing page seemed pretty reasonable at .7 to 2 cents per message (depending on what plan you select). One thing to note is that they don’t charge for “mobile to server” (i.e. incoming) messages, whereas other companies do.

RATE LIMITING

_How much do they throttle messages? _
With the Small Business API you are limited to 10 messages a second, 5k messages a day and 10k messages a month. Their backend will queue messages so you should be able to exceed 10 messages a second, but just be cautious and check for rate limiting status codes if you need to send in bulk.
These numbers sound reasonable for small businesses and is based on a research study that Clickatell conducted themselves over a 10 year period. Give them a call if you think you’ll need more than 10k/month. You’ll likely need multiple accounts or you’ll want to upgrade to a different solution.

MEDIA

Does it support MMS?
Clickatell’s Small Business API does not support MMS.

CLOSING THOUGHTS

Clickatell’s Small Business API is a great choice if:

  • You need to send less than 10k messages a month
  • Your target country and network is supported
  • You don’t need MMS

All the other aspects of my research checked out. They appear to have great support, the performance and availability numbers look great and the pricing looks competitive.

Have a look at the next post in this series "How to integrate Clickatell’s SMS Small Business API into a .NET application_" _to find out How to integrate Clickatell’s SMS Small Business API into your application.

Jon


title: First look at the Intel IvyBridge Ultrabook
tags:

  • review
  • visual studio
    categories: [Tech, Reviews]
    alias: 2012/09/intel-ivybridge-ultrabook-first-look.html
    date: 2012-09-27 20:32:00

Intel just sent me an IvyBridge Ultrabook to try out and review as a development machine. It’s not a final machine and won’t ever be sold by Intel. The main purpose of the machine is to show what can be built with Windows 8 and Intel components. To do so, it comes with sensors including:

  • 5 point multi-touch screen
  • accelerometer
  • magnetometer
  • gyroscope
  • ambient light sensor
  • GPS
  • NFC

I’m not sure how I’m going to integrate the usage of these sensors into web dev, but I can definitely see an opportunity with mobile apps.

I have had a lot of opportunity to play with other Ultrabooks on the market, so I was surprised that it wasn’t as thin and light as the others. Yes, it is a pre-production machine that will never be on the market, but they haven’t quite hit the mark with size and portability yet.

It shipped with a non-RTM version of Windows 8, so the first thing I did was install RTM on it. The OS installed quickly as did Office and Visual Studio. I was up and running with my normal tools in a couple of hours.

I haven’t done any real dev on this machine, but from what I’ve seen so far, it is fast. Switching apps, moving around Windows, using Office and IE are all instantaneous. I’m very curious to see how this thing does with 5 instances of Visual Studio and Resharper. My gut is that 4GB of RAM isn’t going to scale since each instance of VS usually takes about 500MB in resting state. They are definitely going to need to ship these with more RAM if they are to be considered a true dev machine.

I personally can’t use any laptop trackpad and keyboard for very long, but the trackpad and keyboard that ships with it is a little more difficult to use than other Ultrabooks I’ve used. I definitely need to figure out a way to set this up to work with my normal mouse and keyboard and multi-monitors.

I’ll do more in-depth reviews in the weeks to follow.

Jon

Disclosure of Material Connection: Like I mentioned above, Intel sent me the Ultrabook and are letting me keep the device so I can continue to give them feedback on it as a dev machine. I am disclosing this in accordance with the Federal Trade Commission’s 16 CFR, Part 255: "Guides Concerning the Use of Endorsements and Testimonials in Advertising.