EmmaTech

  • Emma Home
  • Emma Blog
  • Job Openings
  • RSS

Yay-PI!

Join us in making a better Emma experience for everyone

Hernán Ciudad 11 Aug 2011 api 4 Comments

Last Wednesday, our new API offi­cially entered pri­vate beta, swing­ing the doors open to early adopters. To pre­pare for the big day, we tech elves were busy get­ting the API to a state where, while still not bug-free, it would be func­tional. And now our adven­tur­ous beta testers are help­ing us iden­tify remain­ing bugs and per­for­mance bottlenecks.

On top of the work to get the inter­face part of our API locked down (view the doc­u­men­ta­tion), we have also been focus­ing on con­vert­ing the appli­ca­tion to use this new API. We are, to use a less-than-appetizing phrase, eat­ing our own dog food. We’ve stan­dard­ized the way data is han­dled by the sys­tem, so that when we build a new fea­ture for the app, we auto­mat­i­cally get an API ver­sion of the fea­ture that we can open to the pub­lic. To those who have used our legacy web ser­vices offer­ing, and have had to work with the lim­ited func­tion­al­ity it pro­vides, you under­stand how impor­tant it is to ensure that all users of Emma, be they via the API or the UI, have access to the most com­plete set of tools we offer. This also means the API calls our cus­tomers have access to are the same calls my cowork­ers and I must develop against. So, if a call doesn’t return cor­rect data, or isn’t per­for­mant, we will feel the headaches just as you do. And noth­ing moti­vates a devel­oper to improve their code faster than mak­ing them actu­ally use it.

I hear some of you ask­ing, “I only use the web inter­face and don’t really care about APIs or build­ing my own Emma at home, so what’s it in for me?” Quite a bit, actu­ally. However, if we’ve done our job right, not much that you’ll see. Not ini­tially, at least. Redesigning the archi­tec­ture has taught us a lot about the chal­lenges of the exist­ing sys­tem, and the new sys­tem avoids those alto­gether. From the way mem­bers and groups are stored to the way emails are sent and tracked, the new sys­tems focuses on sim­plic­ity and exten­si­bil­ity. So, as we start to roll out the new Emma to all of our cus­tomers, you’ll go on using Emma just as you always do, only notic­ing that the app is more respon­sive, and that your mail­ings are deliv­ered even faster. The real fun will hap­pen later as our new sys­tem design will facil­i­tate the addi­tion of new fea­tures, some­thing the cur­rent design makes more dif­fi­cult to accom­plish at the pace we’d like.

So far we’ve only invited about 25 peo­ple into the pri­vate beta, but it is already yield­ing some fan­tas­tic feed­back, uncov­er­ing bugs and giv­ing us a slightly dif­fer­ent point of view on what some of our power users need in order to inte­grate Emma into their own appli­ca­tion. If you’re inter­ested in join­ing the pri­vate beta group and test dri­ving the new API, or the updated Emma built on top of it, please visit the beta tester signup form.

4 comments

Paul Provost commented:

2011-08-31, 11:30

Nice, but will this include 2 way sync to Salesforce that I was told would be ready around July 2010?

Hernán Ciudad

Hernán Ciudad commented:

2011-08-31, 14:33

Hi Paul! That’s a great ques­tion. We cur­rently have con­trac­tors work­ing on a Salesforce AppExchange app that will pro­vide some two-way sync func­tion­al­ity between Salesforce and Emma using the new API. Once the cod­ing work and test­ing is com­plete, we also have to get it approved by the folks at Salesforce. We’re so sorry to keep you wait­ing, but we’ll keep you posted as we get closer to releas­ing this. Let us know if there’s any­thing else.

Mark commented:

2011-10-11, 15:38

I’ve beta test your new API and it was super-easy to get started with. I’m really look­ing for­ward to the day it’s ready.

I’m work­ing on upgrades to my company’s web appli­ca­tion, and I’m curi­ous when you say that you’re devel­op­ing your web app based on your new API, does that mean that your web appli­ca­tion is mak­ing HTTP requests to your API as opposed to directly com­mu­ni­cat­ing with your data­base through your Python (or what­ever) code?

I’m curi­ous because it seems like that adds an extra layer that would slow things down. Can you inter­act with your own API with­out mak­ing HTTP requests?

Hernán Ciudad

Hernán Ciudad commented:

2011-10-12, 17:27

Hi Mark! Glad to hear you’re enjoy­ing work­ing with our new API. We’d appre­ci­ate any feed­back you have on changes to the exist­ing set of calls, or new calls you’d like to see added.

We do indeed make calls from the appli­ca­tion to our API over HTTP. However, they are all made inside the inter­nal net­work, which has been designed to min­i­mize imped­i­ments between the API and any inter­nal sys­tems that require access to it. So, per­for­mance really has been com­pa­ra­ble to the more tra­di­tional method of just hav­ing the appli­ca­tion servers talk directly to the data­base. The only real bot­tle­necks we’ve expe­ri­enced have been either unop­ti­mized data­base queries pulling data in the API, or app code that inef­fi­ciently processes the data returned by the API, both of which we are busily try­ing to rem­edy before we do a pub­lic release.

I hope this infor­ma­tion helps. Thanks for your com­ment and make sure to keep in touch about your expe­ri­ences with the API.

Leave a comment

Click here to cancel reply.

Emma Tech on Twitter

    Follow Emma Tech »
    Help wanted

    • Popular Tags

      Python12 api7 UX5 conferences4 postgres4 workflow4 time4 javascript3 PHP3 jQuery3 tools3 editors2 travel2 server maintenance2 Git2 maintenance windows2 Haml1 Frank1 Ruby1 CSS1 PyCon1 office1 Sass1 downtime1 post‑mortems1 cgit1 books1 Trac1 collaboration1 community1 Twitter1 Facebook1 OAuth1 coding1 cool sites1 Redis1 github1 objects programming refactoring1 integration1 salesforce1 usability testing1 Social Posting1 music1 productivity1 bugs1 TextExpander1 san francisco1 Convore1 Vim1 releases1 legacy data1 HTML1 reading1 Django1 PgCon1 testing1 TDD1

    Emma is a member of the Email Sender & Provider Coalition and the Messaging Anti-Abuse Working Group.

    Copyright © 2003 - 2012 Emma.
    All rights reserved.

    • Get Emma's Newsletter
    • Visit the Emma Blog
    • @emmaemailtech on Twitter
    • @emmaemail on Twitter
    • Emma on Facebook

    Emma's email marketing makes communicating simple and stylish.
    Inquire now for more details.