Meet Martha, or How Temboo Is Re-Programming Creativity

image
Are there toxic facilities around the corner from where you live? Do you want 9 videos of Paris? Just ask Martha, the helper bot powered by Temboo. But who is Martha? Well, she’s our answer to a challenge—and an example of what our platform makes possible.

Earlier this year Edd Dumbill challenged Temboo to build an open source Siri implementation using the API integrations in our Library. So our lead developer Nick took a few days between releases to create Martha. The result is a flexible bot that in response to natural language requests:
 
So what did it take to build an application that does all that? Well, thanks to Temboo, it didn’t require weeks of learning the quirks of 12 different APIs, reading 12 sets of docs, and parsing 12 different responses. Instead, all of the API interactions were quickly and easily handled with Choreos—Temboo’s cloud-based, task-specific code components—so all Nick needed to do was cut and paste these directly from our Library into his code. See for yourself on GitHub. The only hard part was the trial and error process of hacking together some natural language processing using some gnarly regular expressions. Even switching from Ruby to PHP midway through the project was a snap for Nick (taking only ten minutes) since the Temboo platform operates seamlessly across several languages.

While we don’t expect Siri to be quaking in her boots too soon, Martha does demonstrate the ease of experimentation with Temboo and the possibilities that are available with a platform that lets you plug in multiple APIs easily. By lowering the costs of experimentation (in time and effort), Temboo increases the rewards for creativity. By removing barriers to interacting with APIs and other data sources, new kinds of development become possible.

We encourage you to play around with Martha. See how and when she relies on different services to respond to queries, and try to find all the clever quirks added to give her a bit of personality. Look at the code behind her to see what makes her tick. And feel free to pick up where we left off! Add more APIs, make her smarter. Make Martha your own. 

Scaling API Access
Why Automation Will Make Possible a Whole New Breed of Multi-API Apps

Presented by Lead Developer Nick at the 2013 API Strategy & Practice Conference


Automating away the barriers to scaling the use of multiple APIs makes whole new kinds of applications possible. See how Temboo can make you more than a monkey with a welding torch.

New SDK for Android, OAuth Solutions & More Good Stuff

We thought we’d beat Santa to the punch as the holiday season kicks into full gear. Check out some of the great new stuff we’ve made for you.
 

image

Temboo SDK for Android 
Build for mobile with our newest SDK for Android, now live and ready for download. Dream up your electric sheep app (or whatever idea you have) and fit it right in your pocket.

OAuth Solutions
If OAuth’s your headache, let us be your aspirin. New OAuth Choreos for FacebookFoursquareDropbox, and GitHub handle the OAuth process for your app’s users. Additionally, our new OAuth Wizard for Facebook will help you obtain the OAuth credentials you’ll need to access their API.

More Help, More Service
Our Get Started guides for each of our SDKs will show you how to Temboo in the language of your choice. We’ve also added Email Error Reports: should something go wrong with a Choreo call, you’ll hear about it.  

That’s it for today. For more good stuff, you should follow us on Twitter here

Foursquare, Little Sis, & Patch — Dive Right In!

Oh, Sandy! She might have turned off the lights at our Tribeca office for a week, but she couldn’t stop Temboo. Now here’s another taste of APIs from our ever-growing Library.

Foursquare
Don’t worry about your mayorships and badges. Our wide range of Choreos for this API will make you a Foursquare master without having to check in all over town. The bright minds behind the API have even referenced us on their developer site.
43 Choreos. Keyword: Location.

Little Sis
“Profiling the powers that be.” That’s Little Sis’s motto, and they’ve created an amazing resource that shows the whole world and web of connections among the movers and shakers in business and government. Explore all sorts of links through donations, marriages, and lobbying efforts that may be influencing decisions that affect everyone. Very relevant and eye-opening as we close in on the election this November.
4 Choreos. Keyword: Civic.

Patch
Find out what’s happening on your block—or someone else’s block across the country. This network of US local news and community sits allows developers to search and integrate its hyperlocal content into their applications. Plus, Patch includes articles and posts from more than 70,000 RSS feeds by bloggers, mainstream media outlets, and independent news sources.
7 Choreos. Keywords: Location, News.

How to Win a Hackathon

Hackathons For Fun and Profit

Before I switched over to the Developer Evangelist side of the hackathon business, I had won seven or eight major events, thousands of dollars in cash and prizes, and a bit of a reputation as the girl who leaves no cool stuff for anyone else. Now attending these events as a sponsor, I focus on advising teams using Temboo on how to maximize their probability of success when they demo.

As a result, teams that have used Temboo at hackathons have won prizes at Hack’n Jill, AT&T Mobile App Hackathon, and HackNY. In fact, multiple teams took home prizes after building their hacks on Temboo at HackNY.

So what is the secret? Hackathon success is about strategy, not necessarily top technical skill. Of course, the better, more versatile developer you are, the easier it is to be successful. But the best hacks are rarely written by the best minds in the room.

Know Your Audience

Or in other words, pick your prize. Sponsors will often bring their own prizes as “Best Use of” awards. Your odds of winning one of those is much greater than winning First Prize or People’s Choice, especially if you structure your hack to speak to their needs. I once won $1,500 from Getty Images because I not only used their API the way they were hoping developers would, but I wrote a quick library for other developers and threw it up on GitHub. By speaking to their interests, I left a bit richer.

Define Winning

Which brings me to my next point: winning a hackathon is not necessarily about first place. Ultimately, hackathon crowds give more weight to number of prizes you’ve won over the supposed hierarchy of those prizes. The bulk of a hackathon demo audience are fellow hackers hoping to win prizes for their own submissions. The team that picks up two or three prizes has much better odds of being remembered and getting the boost in street cred than the team that takes home the top prize. You remember the winners that matter to you. You remember the people who beat you. By the time first prize comes around, most teams know they’re not serious contenders, so the biggest impact of reputation often comes from winning where others think they might have a shot.

What leads good hackers astray is thinking that tacking on as much as possible will improve their odds of success. These piecemeal hacks rarely hit the mark because their array of features often don’t make sense. If they do win something it’s usually by default: they were the only team to use a particular service.

So do go for multiple prizes, but be strategic about it. See who’s sponsoring prizes. Can their technology add value to your idea? Focus on one or two interest groups and go after them directly.

Do Something Interesting

A hackathon is not a business plan competition. Sure, there are more business-focused ones like Startup Weekend or Angelhack, but ultimately hackathons are not about solving problems or building businesses. They’re about going beyond the things you would normally build at work, playing with and pushing the limits of technology. Many teams go home empty handed because they try to build startups instead of hacks. They explore reasonable ideas or create solutions to problems people aren’t particularly passionate about. Does group food ordering have a larger potential market than a fridge that can alert you when someone is stealing your snacks? Yes, of course. But the snack stealing got the top prize because it was both creative and technically interesting.

People don’t come to tech events to see their current inconveniences reflected back at them. They come to get excited about the future.

Keep The Theme

I’ve seen groups win big using none of the suggested technology available at the hackathon, but I’ve never seen a group win that didn’t keep with the theme of the event. But boy do people try. Often these hacks are existing ideas/project that the hacker is trying to reframe to qualify. It’s really obvious when it happens, and hacking on an existing project is frowned upon anyway. You can sometimes get away with bringing in previous work if the match with the theme is perfect and the hack itself is really impressive, but otherwise don’t bother.

Remember you’re dealing with a sophisticated audience, you won’t fool anyone.

Maximize Your Swag

Every now and then sponsors bring hardware to the hackathon. If you have any interest at all in the device in question: hack on it. Don’t concern yourself with the idea, just hack on it.

Nine times out of ten the sponsor with the goodies turns around at the end of the hackathon and announces that anyone who hacked on the device in question can keep it. They already can’t sell what you’ve spent the day screwing around with and (depending on how far they’ve come) it might be an expensive pain to take whatever they’ve brought back with them. The marketing value of putting a free device in the hands of an influential user outweighs the loss of giving it away.

Avoid Large Events

Yes, I know: the fame and glory of Tech Crunch Disrupt beckons. The prize money can’t be beat at large events, but you’re basically trading a whole lot of value that hackathons can bring for a tiny chance at winning the lottery. Large events mean more stress, more competition, fewer teams assembled on the fly, less getting to know your fellow hackers, less interaction with sponsors and guest speakers, less networking, longer demos, less quality people, cheaper food, worse accommodations.

Smaller hackathons, indeed dare I say even hackathons without prizes, have a lot going for them. Most of the really impressive people I’ve met through hackathons I’ve met at smaller events. People who know their stuff don’t want to spend a weekend getting as stressed out as they might get at work.

Don’t Go For Cheap Gags

Giving a great presentation can be the difference between going home with nothing and going home with glory. Having a great sense of humor and being comfortable speaking in front of people helps a lot, but sometimes people misunderstand the influence of a demo that rocks the crowd and assume the secret to success is building something funny. These teams think they’re making a serious bid for People’s Choice, but People’s Choice tends to go to the hack the audience admires the most … not the one that’s the most entertaining. If someone builds a hardware hack while you’re messing around with fart jokes and cat memes, you’re done for.

Do be funny, but have some substance behind that funny first.

Don’t Be Afraid To Fly Solo

My rule of thumb with the ‘to team or not to team’ question is this: do I have a clear idea already and is there a group whose idea interests me more? Sometimes I show up without a clue what I might want to build. On those occasions I’ll usually jump on someone else’s team and pitch in where I can. It’s a great way to get to know a new group of people.

But hacking solo has its advantages too. It’s usually both faster and easier. You don’t have to mesh your style with someone else’s or worry about code you write at 3am being readable and elegant. You also don’t have to worry about splitting your prize up. ;)

Don’t Overplan

Every time, without fail, there is always at least one team that wastes valuable time debating the minutia of technical components that might be significant to scale the app to a hundred million users—Wait, what? I’m not kidding, I once watched a group argue for twenty minutes on whether or not to use a Captcha system to prevent spam robots from using the app they were building. Twenty valuable minutes of hacking time wasted talking about something that did not matter at all. Even if they were able to get their hack live and online, spam bots were not going to descend immediately.

Fake Your Interface

Let’s be clear: No one expects you to build a production ready app in less than twenty-four hours. Your hackathon audience will generally forgive a certain amount of fakery on time consuming, but technically uninteresting elements. Don’t fake the core components of your hack, but if you don’t need to demo a user logging into Facebook, don’t waste time setting up authentication when you can just use some clever HTML/CSS to simulate the same thing. We all know you can do it for real. There are only ten thousand various tutorials on it now.

Know Your Stack

Hackathons are great places to learn about and experiment with new technology. However, if you want to win, this isn’t the time to get your feet wet in a completely new language or an unfamiliar framework. Try to limit the number of “new” elements to one or two small things. You will hack faster and maximize your focus as time is winding down. There’s nothing more disheartening than wrestling an issue you have never seen before at three o’clock in the morning. When learning a new language, you’re going to want to take your take your time. Time is one thing you do not have at a hackathon.

Remember What Hackathons Are About

You go to have fun, to hang out with other people who love tech, and to push your limits. Hackathons are basically networking events for hackers; profiting from them is about more than just winning a prize. I’ve made so many valuable connections at hackathons: people who have opened doors for me, mentored me, gave great advice, and helped me find resources to continue sharpening my skills.

Khan Academy, Dwolla & Freebase — More from Temboo

We’re coming off of a big week after presenting at October’s New York Tech Meetup. Plus we just added the ability to call Choreos using cURL requests as well as a new member to our SDK family—node.js. But all that doesn’t mean we don’t have more APIs to share with you so you can get started making the next big thing. 

Khan Academy
For some of us, school was just too short. Khan Academy to the rescue! Part of our newly launched education category, this API gives you access to over 3,300 educational videos on everything from arithmetic to physics, finance, and history with hundreds of exercises to practice your skills. Get smarter.
21 Choreos. Keyword: Education.

Dwolla
From the unlikely location of Des Moines, Iowa, comes the online and mobile payments system provider Dwolla. Send money to friends or buy that new gadget that’s caught your eye all while avoiding those pesky credit card fees. Whether checking accounts, handling payments, or finding nearby businesses that use Dwolla, our Choreos got you covered.
12 Choreos. Keyword: Payments.

Freebase
Osmotic collaborative knowledge you desire? Then Freebase should light your fire. This huge collection of structured data constructed from a wide of sources by an online community is a global resource for accessing common information more effectively. Our Choreos can put the data sets you need right into your hands.
4 Choreos. Keyword: Developer.

Five Minutes of Programming with a French Accent

This past Tuesday we had the honor of presenting Temboo at the New York Tech Meetup. Our co-founders Trisala and JB took a sold-out crowd at NYU’s Skirball Theater on a tour through our ever-expanding Library and showed the audience how Choreos work right from your code. You can watch the demo here. We were the final presenters, so just click on the last yellow dot in the progress bar to jump right to Temboo. 
 


JB wows the crowd with his French accent and live coding skills. 

Dev Diary: Coding without Temboo

Image via

In October of 2012, Temboo released a special kind of DevShortcut: superpowerChoreos that take care of a host of development tasks and hook into multiple APIs. One of them was called GoodCitizen.Civic and it returned civic information from a specified area using data.gov, SunlightLabs, LittleSis, and GovTrack … in five lines of code.

The following is a page found from a developer’s logbook as he tried to build the very same app (minus one API):  

I’ll start by trying to get demographic data from Data.gov. The overall Data.gov documentation is a sprawling mess. Finally I realize that the actual API I’m looking for isn’t listed under the Census or Demographics sections at all — it’s actually called the “broadband map API.” (And here I was thinking that broadband was about internet connections, rather than census counts. Whatever.)

There’s no API wrapper that I could find for the Data.gov “broadband map” API, so I’m just going to make the HTTP call directly myself. Awesome. In order to do that, I need an HTTP client library — the Apache HTTPClient lib has worked well for me in the past, so I’ll add that to the project.

Of course, since it’s an Apache library I actually need to add in 4 other libraries that are dependencies (httpmime, httpcore, commons-codec, and commons-logging).

To efficiently handle the data returned by Data.gov, I need to add another library — Apache IOUtils. (Yes, I could do my stream-to-string conversions, etc., without this, but it would make the code much longer.) Now that I’ve found my way to the right place, the Data.gov API documentation isn’t fantastic, but after spending a bit of quality time wrestling with the syntax I can make the call. 

Now, on to Sunlight Labs.

The Sunlight Labs API docs page points me at a Java library on Github created 3 years ago by some guy named “lordjoe” (https://github.com/lordjoe/java-sunlightapi/

The documentation refers to some JAR files that don’t actually exist in the git repo, but whatever; I’ll give it a try.

I cloned the repo and ran the test program; it fails with an error. Not exactly encouraging, but… 

Upon further investigation, it turns out that lordjoe’s Sunlight Labs wrapper API I downloaded doesn’t actually include a method to get a list of legislators by coordinates. Fantastic. Fortunately, there’s another Sunlight Labs wrapper on Github written by “tdanforth” two years ago. This one isn’t referenced by their documentation, but I’ll give it a try.

Again, this library is in source format — there’s no JAR available — but at this point I don’t really care. (tdanford has actually included an ANT buildfile, but it’s not worth trying to reconfigure now. I’ll just add this as an item on my todo-list, if I actually get this library functioning.)

The API wrapper provided by tdanford does include a method to list legislators by coordinates (hooray!) but it turns out the way the library is structured doesn’t actually let me use the method because the Legislators API object is defined as a private inner class (@#$%#@!) — so it looks like I’m going to need to refractor tdanford’s API wrapper to make it work in my project.

Refactor completed. Next, I want to use the Sunlight Labs API data to make a request to GovTrack to get information about what each legislator has voted for. As far as I can tell, the only API wrapper available for GovTrack is in Ruby — so again, I’m going to need to write my own wrapper. Fortunately, the GovTrack API documentation is really clean and well presented, so hopefully it won’t hurt too much.

The last step in my project is connecting to Capitol Words, to retrieve top phrases for each of the legislators. There doesn’t seem to be any wrapper library at all for the CapitolWords API, so I’m back to assembling my own HTTP requests. (Deep breath.)

Final status:
Lines of code (without doing any parsing on the API data): 234
External library dependencies: 9

Parse, 37signals & GovTrack — Check Out These APIs in Temboo’s Library!

More Choreos & more APIs. As our Library gets bigger and bigger, we hope to spark some ideas on where to start Temboo-ing. So we’re going to start highlighting regularly some of the great stuff we’ve built for our users—a little taste of Temboo’s breadth & depth and (we hope) inspiration for your next killer app. 

Parse
Backend, schmackend. Parse simplifies all that behind the scenes work for your mobile app with its cloud services. Sending push notifications, signing up new users, and creating objects are even easier with our Choreos taking care of the work. Now you can focus on making your app sing and dance (or whatever you like).
29 Choreos. Keyword: Developer.

GovTrack
Everyone likes to gripe about Congress, and GovTrack (just added last week) has all the information to help back up (or perhaps counter) your complaints. Find out what votes your representative has been skipping out on and check on the status of that four-day work week legislation you’ve been rooting for. Lots of historical data here too (back to the founding of the USA!). With the presidential election underway and new government initiatives to release more data, we’re putting a lot of focus on adding more civic APIs.
5 Choreos. Keyword: Civic.

37signals
Collaboration always sounds like a great idea, but it’s often a lot harder to achieve effectively and without stepping on your co-worker’s toes. Enter 37signals. Their web-based systems Basecamp and Highrise allow your team to manage projects and handle your CRM needs with an easy-to-use interface. These Choreos can automate updating your tasks, entering contacts, and more. Unfortunately, they can’t do all your work for you (not yet).
39 Choreos. Keywords: CRM, Productivity.

Oh data! Oh my!

Katalina, API Researcher and one of our Choreographers, discusses the team’s work in making today’s omni-prevalence of data useful and digestible:

We at Temboo have been keeping a gimlet eye out for open government data sets that might have wide ranging appeal and make for interesting apps. As a result of Obama’s Open Government Initiative new data sets are being released all the time.

We almost fell off our chairs thinking about all the strange and wonderful apps that could be built toward the public good when we came across the likes of the NASA data sets. How about a Lightning app that tracks where in the world lightning is striking in real time? Or an app that calculates your chances of being struck by a piece of falling space debris given your coordinates? The brutal truth is that NASA has a lot of data, and it will be some time yet before all those zettabytes of information are easily available to the public.

One of the issues with big data releases from the government, of course, is that it can be complex. The agencies often dump files upon the public, providing no viable interface or documentation, and we are expected to wade through the results. Case in point: the Department of Education data, built upon the Socrata system. We felt strongly that we wanted to add this data to our Library, but the information returned by the Socrata based methods was a no-man’s land of metadata fields and useless JSON junk. The data itself was hidden in a labyrinthine structure of unintelligible field names with equally bewildering numerical values contained therein.

What does it all mean? We rolled up our sleeves and dug through the voluminous documentation to see if we could wrap our heads around it all and come up with more meaningful kinds of outputs. We then painstakingly mapped the raw government data field names to ones that are concise — and above all,  descriptive — of what information they really contain.


Source to Target (DoE raw data to Choreo-categorized) mapping 

To make the Department of Education data more intelligible to an average user, we performed some legerdemain using the Map function in Twyla, the software we use to build Choreos. We turned the hairy source XML into well-groomed target XML files by mapping each field one-by-one. For the sake of clarity and usability, we occasionally omitted data fields we felt were too obscure or cumbersome. With this combing done, building the Choreos that make up our Department of Education Bundle was a simple process.

The Department of Education bundle will be released with version 1.73 later this month.