Archive

Posts Tagged ‘api’

FuelTweet – A Twitter application sharing cheap fuel prices

February 5th, 2010

Introducing Fueltweet, a new Twitter application you can talk to, it’ll tell you the best Petrol or Diesel price in your area.

fueltweet_screenshot

If you want to know the cheapest spot to fill up in Bishopstown forexample, tweet “@petroltweet Bishopstown” or “@dieseltweet Bishopstown” depending on wether you are looking for Petrol or Diesel prices. It will respond to you a few seconds later with the most up to date and best price it knows in that area.

Its early days for this application so it may not know any prices in your area. It needs to be kept up to date too with current prices so keep it up to date if you can while on your travels. Heres an example of telling the application about the price of petrol in a Texaco garage in Bishopstown; “@petroltweet Texaco in Bishopstown 124.9”.

Cork Open Coffee

Like a lot of great ideas, the idea for this Twitter app came from Corks Open Coffee. John Peavoy and I chatted about the concept and agreed that it would be a useful App. I began using the Twitter API to play around with functionality and create the app. The look and feel, and the input syntax is still evolving, so please give your feedback, good or bad, on how it works.

We have a new site up and running to promote the application, to show people how to use it and to show the best and average Petrol & Diesel prices around at the moment, http://www.fueltweet.com. Its a great design from John Sheahan of Egg Design, a new regular of Cork Open Coffee.

If you have any feedback on the application, whether about the use of it or the information contained within it, please let me know. There are plenty of features coming very soon, the plan is to keep it simple and to give the user information quickly.

Pumps.ie API

Another site Pumps.ie, created by Jonathan Dean has been around for a few years with a great range of fuel pricing data and locations. Jonathan has been good enough to give us early access to their upcoming API so that we will be able to swap information between Fueltweet and Pumps.ie. Check out their free pumps.ie iPhone app too in the iTunes store.

Thank you to all the users on Twitter who have been sending in updated fuel prices so far, keep it up - this is a public service and will become stronger and more useful as you use it more and input more information. Finally, I hope you’re not Tweeting while driving - keep safe and only tweet when you’re stopped and it is safe to do so!

Find your best email marketing campaign

January 15th, 2010

The Marketing Institute, eConsultancy, Mailer Mailer and more are all great sources for email marketing reports and metrics.

There’s no substitute though for real data from a business’s own email marketing campaigns.

Campaign Monitor is a very popular and well-liked email marketing application. It’s cost effective too at 5 US Dollars per campaign + 1 Cent per recipient.

Campaign monitor have an API, meaning that you can develop a software programme to connect to your campaign monitor account and collect some information from it, this is often used to keep a business’s local database up to date.

I was curious to see what kind of information was available through the API so I made a small programme to collect several previous campaigns and see if I could compare them to find which the most successful campaign was.  Is a campaign with the highest open rate the best? Or a campaign which promotes the fewest unsubscribers? Or a campaign which prompts the most forwards? Or perhaps a campaign which has the highest open rate compared to the original size of the list of recipients.

This is what this application does. It will collect a few of your most recent campaign monitor campaigns, collect the number of unique opens, the number of bounces, the number of unsubscribers, calculate the open rate, compare it to the size of the list and show you which of your email campaigns was the best.

best_campaign_recommendatio

It then shows you some details about that particular campaign such as day sent and time send and encourages you to do the same again to try and replicate the same success.

Their API is pretty good and it’s easy to work with. They have their API well documented and provide information and samples for a range of languages that a developer might like to use to connect to their system. If you have any questions for CampignMonitor, they’re very active on Twitter and answered me quite quickly when I asked some initial questions about their API.

There are limits to their API, which was a bummer for what I was hoping to develop. Using their API you cannot access the email content of a previous campaign. I would have liked to see the content of previous newsletters to count the number of words, links and images. If you were one business accessing your own campaign then you would probably have access to your own previous email content anyway.

You can get a summary of each email campaign. It includes information such as subject,  date/time sent,  total number of opens,  the number of clicks, the number of bounces and the number of un-subscribers.

The ‘Total number of opens’ counts every time the newsletter was opened, including if the same person opened the newsletter a dozen times. Strangely, the ‘number of clicks’ counts differently. If the same person clicks a link in the email multiple times it still registers as one click.

Luckily, an API function exists to delve deeper into the Total opens (which I didn’t see at first) and find out who opened the email and how many times they opened each one which allows the Open Rate and the Click Rate of an email campaign to be calculated.

It would be fantastic to see when these users opened the email or when they clicked on links, it would be a great source of information. Its available inside Campaign Monitor but not via the API. It would be a great addition to the Campaign.GetSubscriberClicks function which shows a list of subscribers who clicks links, which links they clicked and how many times.  I see in reports that much of the readership activity of an email newsletter happens within the first 2 hours of a campaign. It would be good to see real world confirmation of this through the API.

In working with this API, I learned a few things that I hadn’t considered until I could see a grid of raw data in front of me. For example, if you send out an email to a few people, and they all read it and forward it to a few friends then your open rate will be above 100%. That’s great but you can’t expect every campaign to have this effect. So what was in that campaign that had such a great effect and how to do it again or how does one get those new readers that have been forwarded to, to sign up?

If you have a Campaign Monitor account, try out the application to find out which of your own email marketing campaigns was the best.

Created a browser agent API with CodeIgniter

December 7th, 2009

I’ve created my first ever API. I often work with and develop applications around APIs from other providers such as the Twitter API or one of the many APIs provided by Google but this is my first time creating an API that others can use.

Built using CodeIgniter, the API has a simple purpose, to take in a browser agent id string and return whether it thinks the browser agent is a bot or a regular web browser such as Internet Explorer being used by a person browsing the web.

Using CodeIgniter made the creating of the API pretty easy. CodeIgniter creates friendly URLs and PHP has the ability to encode a JSON output out of the box. The output is cached for quick performance and usage of the API is logged. It took only a couch, a laptop and an afternoon to get it all going.

Its one of several APIs I’m planning, I’ll be using it for some of my own software products in the future.  I’m hoping to make each one accessible to other developers too, one or more of them might be useful in other peoples applications. Maybe someone might make some cool mashups with them.

As for the information that feeds the API, this comes from a simple PHP script that is on this blog and collects the names of all browser agents that visit the site. One of the other participants on the Genesis Programme I’m on, Garry Bennett who owns and operates www.mytown.ie has allowed me to put the script on his site too.

Mytown gets a lot of traffic, a way more than this blog. His site is the main site collecting all the browser agents, over 330,000 browsers so far.  In the few days that the script is on his site more than 7,000 unique browser agents have been recorded compared to the 400 or 500 that were recorded from my own site in a similar length of time.

I have a page which shows the number of browser agents seen and the number of distinct agents recorded. If anyone has a lot of traffic to their site and would like to help collect browser agent information, please let me know.  The script is a line or two of code for the footer of a page and doesn’t slow down the loading time of a page or collect any other information, just the browser agent visiting the site.

Having a list of browser agents on its own doesn’t do much though. I needed a way to be able to see each agent one at a time and label it as a web robot (an automated programme such as the Google Robot which visits sites to check for new content) or a regular browser agent a person would use to browse the web.

I put up a basic page called ‘Bot or Not’. This page shows a random browser agent 1 at a time and asks the user if the agent they see is a bot or not. Sometimes is easy enough to spot a web robot but not always. A techie person looking at the string would be able to tell easily enough.

Each time a person votes on whether the agent is a bot or not, the vote is recorded. It doesn’t assume the person answering is absolutely correct, it will ask a user to vote on that browser agent again in time and record all votes. The system will label the agent according to which ever has most votes. When using the Bot or Not API, the result you get back contains the browser agent you are testing, its decision on whether the agent is a bot or not and also shows the ‘bot’ vote count and the ‘not’ vote count.

Heres a sample output from the API:

{”agent”:”8feef41ca25f9763304ac81247b22cfd”,”bot_votes”:”0″,”not_votes”:”1″,”decision”:”not”}

The browser agent is hashed to make it shorter and easier to pass to the API, browser agent strings can often be very long and can contain various character symbols that could confuse the system. In the API output about you can see the bot vote is 0 and the not vote is 1 so the overall decision is that this is not a web robot.

Developers could have may uses for this API. They could use is to test incoming traffic to their site to block or redirect bots in case bots were causing the system to slow down with too many page requests of perhaps there is a bot coping content from a site.

I’ve been spending some time rating each browser agent myself using the Bot or Not page. Of the 7000 or so unique browser agents there, nearly 700 of them are obvious bots, such as the MSN, Google and Yahoo bot. If you have a minute, rate a few of them if you can.

Ironically, something I forgot about when creating the Bot or Not page was that bots such as Googlebot will be visiting that page too and clicking on the ‘bot’ and ‘not’ links.  I’ll be my own first customer to use the API to examine if the votes were made by bots or people.

Using the API

If you want to use the API, please do. To access it use the following URL

http://api.murrion.com/agent/[MD5 of Agent to Test]

Example:

Testing the browser agent :

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)

Use the PHP md5 function:

md5(”Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)”);

Call the API with the md5 output:

http://api.murrion.com/agent/1b08a1420f959565a86c4554cc16f81f

JSON output

{”agent”:”1b08a1420f959565a86c4554cc16f81f”,”bot_votes”:”0″,”not_votes”:”1″,”decision”:”not”}

That browser is not a bot.