2012 February

2012 February

← Back to Blog

Archive for February, 2012

Update Your Code To FullContact Version 2

This is the final notice that we will be turning off all Version 1 API endpoints tomorrow, February 29th, 2012, as part of the transition to FullContact Version 2. If you haven’t already done so, please update your code to use our Version 2 API endpoints. We apologize for any inconvenience this may cause.

For many of you, updating your code to Version 2 is as easy as changing the version segment of your API requests. For some users, changes we’ve made to the API response schema may effect your code. Check out our blog post on schema changes to see if any of the fields you’re referencing have been renamed or removed.

Thank you for choosing FullContact as your provider of clean, complete, and up-to-date contact information. We rely heavily on feedback from “outside the walls” of our office in order make our company and products better. If you have any questions or need help during this transition, email me at robbie@fullcontact.com.

FullContact Name Normalization API Released

As programmers, we often have to deal with messy, unstructured user input. If you’ve ever worked with name data, you know that names are entered in all kinds of formats, and can be very difficult to work with. How are you supposed to pull all of these formats into one structured collection of data that you can easily manage and analyze? FullContact’s Name Normalizer is the answer, and best of all it’s free to use.

Our newly released Name Normalization endpoint takes semi-structured name data provided as a string and outputs the data in a structured format. We use US census data, coupled with proprietary algorithms, to parse the name string and determine which pieces belong in which categories. We also return the the likelihood that the data is structured correctly, based on the underlying census data.

As an example, if you submit the name string “Mr. Bartholomew (bart) Lorang” to the Name Normalizer JSON endpoint via the q parameter, it will return the following response:

You can find detailed instructions and more examples in our new FullContact API docs.

Getting started with the FullContact Name Normalization endpoint couldn’t be easier.

  1. Sign-up for a Free API Key.
  2. Submit a query to the Name Normalizer, passing the name string via the q parameter.
  3. Receive structured name data in either JSON or XML.

Turn your messy, free form name data into structured name data using this powerful new endpoint. And if you don’t have one yet, sign-up for a free FullContact API key, try it out, and let us know what you think!

Life is a Startup

FullContactI just “pivoted.”

Four weeks ago, I had never heard of a “pivot” as it is used in startup life. Now, I head up business development at FullContact and I get subjected to the word “pivot” on a daily basis.

Suddenly, I am bombarded with quotations from Brad Feld and David Cohen. My colleagues tell me about FullContact’s numerous pivots. After two days on the job, I have realized something else: not only do I work for a startup, but my whole life has been one giant startup.

My pregnant wife is watching me write this right now and I can see the question in her eyes: “You are 33 fricking years old and a soon you will be a father. What do you mean your life is a start-up?” Honey (and readers) let me explain.

I find a lot of truth in Steve Blank’s description, “a startup is an organization formed to search for a repeatable and scalable business model,” and “a business model describes how your company creates, delivers and captures value.”

Isn’t that what we all want in life? To find a repeatable and scalable model to create, deliver, and capture value, regardless of how we define that value?

For a long time I had an idea for my startup. But instead of a business, that startup was me. I believed I could take my ability to influence people, my competitive drive, and my strategic thinking to be successful while making a difference. I just needed to find the right opportunity.

The first iteration of the start-up of me was when I transitioned from the Marine Corps to the civilian world as an operations manager for a manufacturer. I successfully turned around an operation that had never operated profitably into one that was as profitable as the other segments in the company.

Great start, right? But I didn’t feel that I was working at my full potential or that I was on the path to do so. My impact was limited to the my team. It was not scaleable and I didn’t think it was repeatable. I was in an industry that was incredibly hard hit by the recession and I could only improve efficiency so much. Finally, I wasn’t taking full advantage of my strengths. I could do more.

This led to my first pivot, though I did not put it in those terms at the time. An opportunity arose with the same company to leverage what I had learned about the product and all of my strengths as the Vice President of Commercial Sales.

Again, I saw initial progress towards my goal and believed I was on the right track. But as time went on it became clear that this path was not going to lead me to where I wanted to go either. While it was sustainable, it was not scalable. I reported directly to the CEO, he wasn’t going to go anywhere, and the company was not going to grow anywhere near the rate it had previously.

As fate would have it, that is when FullContact came into the picture.

So I pivoted.

I took lessons learned, strengths gained, and failures experienced to go after an opportunity that presented itself and was aligned with all of those elements.
Just like a smart start-up.

It is a lesson I think everyone can apply to his or her life. Do not hesitate to pivot. Keep your desired end state in mind and when you hit surfaces find the gaps (we’ll talk about that later), even if it means you have to make a major course correction. Make sure you are sustainable, scalable, and creating value. Your life is a start-up and as I hear the new boss say all the time, “Do More Faster.”

FullContact Twitter Lookup Released

FullContact

FullContact provides a wealth of contact information about your users, but up until now the only way to query for that information was to pass our Person Lookup API an email address. This is great when you have an email address for every one of your users, but what if you don’t? Today we’re proud to announce the release of Twitter name lookup for the FullContact API, enabling developers to query for contact information using a Twitter name.

Performing a Twitter Lookup

If you’re already using the FullContact API, performing a Twitter lookup is as easy as passing the Twitter name you’re querying to our V2 Person endpoint using the twitter parameter. If you’re not yet a user, head on over to our API Signup Page to get your free API key (This includes 3000 queries to our V2 person endpoint, a $100 value). Once you have your key, you can test the API directly in your browser using the following URL (replace the “xxxx” value for the apiKey parameter with your API key).

This request will return enhanced social contact information for the Twitter name @lorangb. When querying by Twitter name, make sure to only include the alpha-numeric portion of the name (everything after the @ symbol). It’s also possible to pass the Twitter name via the X-TWITTER property of a vCard request.

Response Data

The response will be returned in the same format as the standard email lookup. You can change the response format by replacing .json with .html, .xml, or .vcf. Reference our new V2 API Docs for example API responses and more detailed instructions. You can also use our Live API Console to test the new Twitter name lookup from within your browser.

You may notice that for some queries, the response data for an email address search will return a different amount of information than a query for an associated Twitter name. We are working as hard as we can to make sure that the response data is consistant regardless of which parameter you’re using to perform the lookup. Because of this, we recommend defaulting to an email query when an email address is available, to ensure that the most information possible is returned.

More To Come…

Lookup by Twitter name is the first in a series of new lookup parameters we’ll be releasing. Stay tuned to this blog, and follow us on Twitter at @FullContactAPI for the latest announcements. And if you’re not yet a FullContact user, sign up for a free API key, test it out, and let us know what you think!

New FullContact API Docs and API Console Released

At FullContact, we believe that having great API documentation is just as important has having great APIs. What good are powerful APIs if no one understands how to use them? 

Without well designed docs, even RESTful APIs like ours can be difficult to use. In tandem with the release of the Version 2 FullContact API, we’ve spent that past few weeks improving our API docs with a brand new design, new navigation, more detailed information, and a live API console.

Version 2 API Docs

Our new docs have been redesigned from the ground up. The the first thing you’ll notice is the floating navigation module. Doc pages tend to be long, so we created a JavaScript navigation bar that follows you down the page, as you scroll. We’ve also added tags to each section of the documentation, indicating whether an endpoint is free or paid. Currently all of our endpoints are free to use except for the Person endpoint, which provides enhanced contact information based on an email address or Twitter name. (We’ll be releasing more information about our Name Stats, Name Normalization, Name Parser, and other new endpoints in the coming weeks. Follow @FullContactAPI on Twitter for updates on the latest releases.)

The documentation for each endpoint begins with a high-level overview, describing the basic functionality, input parameters, and responses. Example API requests are provided for each response format, including JSON, XML, HTML, and vCard.

The parameters section contains descriptions of each available input parameter for a given endpoint. For example, the Person method requires that either an email address, twitter name, or phone number is submitted as input. Other parameters, such as webhookUrltimeoutSeconds, queue, and callback are optional, and should only be used in certain contexts.

Example API responses are provided for each response format as well. Click the pill-shaped tabs across the top of the Responses table to toggle between JSON, XML, HTML, and vCard formats.

Live API Console

Our new Live API Console makes it easy to test the FullContact API methods right from within your browser. Once you’ve signed up for a free API key, navigate to the Live API Console page, follow the directions below the console, and start using the FullContact API endpoints immediately. We suggest you open the API docs in one browser window and the API console in another, so you can reference the docs while you make live test calls to the API. Once a request is successfully made, you’ll be able to inspect the raw HTTP request and response data from tabs within the console.

Over the coming weeks we will continue to update and enhance our API docs. We’ll also be rolling out blog posts describing how to use our new endpoints. If you have any feedback or suggestions email me at robbie@fullcontact.com, and whatever you do, don’t be a grin fucker.

Don’t get grinfucked by your users

I woke up this morning and I couldn’t stop thinking about how evil “sugar coated” feedback is when trying to build great software – especially from end users. It drives me crazy when I know someone is holding something back.

Sugarcoat

Coincidentally, a few minutes later, I read Brad Feld’s post on grinfucking and Mark Suster’s Don’t be a Grin Fucker.

Both posts are spot on. Our team met one-on-one with Suster for 15 minutes during TechStars Boulder 2011 and we really appreciated his candor. He gave us some honest, direct feedback that rattled around in my brain for the next few weeks. Now, that piece of feedback is an important part of our current strategy.

Part of the magic of TechStars is its “no bullshit” culture based on brutal feedback and intellectual honesty. David Cohen has done a great job instilling these principles into every TechStars founder, employee and mentor.

Unfortunately TechStars ended, and we had to rejoin the human race. Now, I find myself encountering way too much “sugar coating” – but now I think I prefer the term grinfucking.

I tend to meet with lots of people every day, in person, on the phone or via email. I encourage entrepreneurs to Tungle Me if they want a quick 15 minute mentorship session. I find that helping others with their problems serves as a sort of ‘mental gymnastics’ and keeps me ready to solve the most difficult challenges at my own company.

No matter who I meet with, at the end of the meeting I usually show the other person what I’m doing. It used to be our website. Then our API. Now it’s our new iOS app that we are currently iterating on.

I’m finding that a most people naturally try to grinfuck me by being polite about our software. I literally have to draw their feedback out by saying:

I’m going to watch you use our iOS App and take notes. Tell me exactly what you’re thinking as you install it and use it for the first time. I’m not going to say a word.

Usually, this is followed by some hesitation and I have to reassure them by saying:

You can’t hurt my feelings. I went through TechStars – we CRAVE brutal honesty. I’ll get upset if you sugarcoat anything. Hit me!

If they’re still hesitant, I usually remind them that I just gave them brutally honest feedback in some way, shape or form, and they should repay the favor. This usually does the trick.

What transpires next is magical.

Watching a stranger use your app for the first time is always incredibly humbling. But if you can get them to provide a stream-of-consciousness commentary while doing it? It can blow your mind and open your eyes. Usability issues scream out and are inherently obvious. Features that the entire company (including myself) thought were smart end up being dumb features and vice versa.

If you do this over and over, you’ll collect enough feedback to have some real, actionable data.

If you’re not ready for it, the process can hurt your feelings. But there’s no crying in baseball. And I guarantee the process will make your product better. After enough iterations, the feedback focuses on smaller details. That means your product is getting better. You’re making progress.

In short, don’t let users grinfuck you. As Steve Blank espouses, get out of your own building and make sure you get honest feedback about your product.

Have you got feedback for us about our iOS App? Download it, and email me your honest thoughts, good or bad. It’s just data to me and won’t hurt my feelings.

Just don’t be a grinfucker.

New Dev Challenge: FullContact for Salesforce (Part Deux)

We’re relaunching a previous developer challenge: the FullContact Chrome Browser Extension for SalesForce. We received several submissions last time, but unfortunately, they either a) didn’t work or b) didn’t match the specifications.

So we’re giving it another shot! You should too! If you submitted last time, we encourage you to resubmit – if you have questions, feel free to email robbie@fullcontact.com.

The winning app will receive a cash prize of $750, second place will receive $250.

In order to participate, head on over to CloudSpokes and sign up for a free account. Once you have your account, visit the FullContact challenge page to enter the competition. The winner will be chosen on February 12th.

Resources

Screenshots

FullContact API Version 2 Released

The team at FullContact has been hard at work these past few weeks updating the FullContact APIs, enhancing our API documentation, and adding powerful new API enpdoints to our product offering. We’ve also managed to launch the FullContact iPhone App, our newly redesigned website, and our developer site.

FullContact API Version 2 provides new data as well as much needed enhancements to the original Version 1 FullContact API. We’ve added a new section to API responses called digitalFootprint, which contains information such as influence topics and social influence scores from Klout. In an effort to make the API response data easier to work with, we’ve standardized the socialProfile fields across all social networks, to use consistent naming conventions. We’ve also removed and renamed various fields throughout the schema. For a detailed description of these changes, reference our blog post on Upcoming Changes To Our V1 Schema. Also, make sure you check out our new API documentation for detailed descriptions, example queries, and API responses.

If you’re a current FullContact API user it’s likely that you’re still using our original Version 1 Person API endpoint. We’ll be phasing out the Version 1 API on February 29th, 2012. We urge you to update your code to use the Version 2 Person API as quickly as possible, in most cases the code changes needed will be straightforward and minimal. Reference our Version 2 API documentation, our blog post on Upcoming Changes To Our V1 Schema, or email me directly at robbie@fullcontact.com if you need further help upgrading to Version 2.

We’ll be rolling out new API endpoints over the coming weeks. Stay tuned to the FullContact blog and follow us on Twitter @FullContactAPI for our latest releases. Many of our new APIs will be free to use, all you need to do is sign-up for a free FullContact Developer API Key to get started.