APIs + Developer Experience

summary

Procore TechnologiesUX Designer • 2 Quarters in 2016

At Procore, we saw the growing need to publish our API and create a developer experience that will best serve internal and external customers. As we start moving toward APIs as the status quo, we need to realize the importance of the developer experience. My goal on the team was to be a liaison between our end users and our API. Along with my team and the rest of the Procore, we wanted to create an empathic and simple experience for anyone that touches our API. In doing this, we will have an API that will rival all our competitors, and create a developer experience and marketplace for our customers.

API

0 to 1 Product

Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations

Setting the Context

User Experience was a top priority at Procore when it came to building our customer-facing products. The art of simplifying complex interactions into meaningful user experiences is an important competitive advantage for technology companies. But what if your product is an API and your end-users are developers? How do you design a good experience for them? Designing an API that achieves your business goals means focusing on the Developer Experience. The way to do that is by using empathy to understand your audience.

At Procore, we saw the growing need to publish our API and create a developer experience that will best serve internal and external customers. We want to explore the best practices worth baking into our team's culture. We generally expect developers to be intelligent; therefore we don’t go out of our way to ensure their experience is great. As we start moving toward APIs as the status quo, we need to realize the importance of the developer experience.

When I joined the API & Developer Portal team in November of 2016, the company saw the opportunity. There was no doubt that APIs were driving our mobile and integrated world. Apps and websites were looking to use our APIs to attract customers and to scale rapidly due to our large user-base, and market leadership. My goal on the team was to be a liaison between our end users and our API. Along with my team and the rest of the Procore, we wanted to create an empathic and simple experience for anyone that touches our API. In doing this, we will have an API that will rival all our competitors, and create a developer experience and marketplace for our customers.

The Current Problems / Building Empathy.

Since the Procore API was not public at the time, our main stakeholder were our internal developers (mainly mobile). We had around 24 squads that had written close to 1,317 endpoints. Dang. So what were the main challenges we face:

  1. No source of truth -- many sources

  2. No formal process on how to write references & docs

  3. Inconstant in design

  4. No way to self-update information

  5. No way to manage & collaborate

We wanted to empower our users to build products. When designing our API, we had to constantly remember that if our API is poorly designed, documented or supported, nobody will use it unless they are forced to. Sad.

" “What is swagger? Is that actually where all the API documentation is? If so awesome because I haven’t been able to find a reliable place to look up our API docs."

Mobile Engineer at Procore
Internal Developer Survery

The Research

As a team, we rallied and dove face first into it. We began to define our personas and began to do a competitive analysis. We also sent out survey's to our internal stakeholders to get our baseline NPS score. And that was, scary. Survey of 79 internal developers at Procore.

Our Release Strategy

Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations

Team offsite with all the stakeholders planning for 2018

Let's see the designs…

Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations

So we set out to change the culture of our API.

Our marketing team set up a Hackathon at our customer conference, Groundbreak (biggest event of the year), so we had a hard deadline to have a kick-ass API & developer portal. It was going to be an event that showcased our API and Procore as a Platform. BUT, in order for that to be a success, we needed the developer experience to be enjoyable. That also included everything from the completeness of the API & documentation to the experience in the Developer Portal.

So we dogfooded. To improve the API and ensure Groundbreak is a success, we decided to host our first internal Hackathon in January of 2017. Our entire R&D department took a break from normal sprints, and allowed teams to build things against our own API! My team treated this as an in-house innovation lab to better understand the current issues and where we should focus our efforts. All that to say it was a major success! 

Myself and Danny Phillips (FE Manager) planned, ran, and hosted the event. It was one of the highlights of my year! 

Video our marketing department put together of our Hackathon. Currently, this video is used in the engineering hiring packet.

Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations

Lastly designed and built the experience to showcase the apps

With the App Marketplace, we're able to extend the value of our platform by easily integrating the apps, solutions, and processes that our clients want to use from our developer/3rd party community. We’re committed to working with the construction industry’s most innovative technology solutions to provide even greater value and help drive the industry forward for the more than 1.4 million users who rely on Procore for their project management needs.

I created this quick teaser video for our company’s Groundbreak Conference, one of the largest construction conferences in the USA. (Illustrator/After Effects)

Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations
Example of logistic and schedule to complete work in rapid iterations

Wanna Chat?

If you’re in the Seattle area I’d love to grab a coffee, or we can jump on a call any time. I enjoy talking!

© 2024 — Tabby Jewett

Wanna Chat?

If you’re in the Seattle area I’d love to grab a coffee, or we can jump on a call any time. I enjoy talking!

© 2024 — Tabby Jewett

Wanna Chat?

If you’re in the Seattle area I’d love to grab a coffee, or we can jump on a call any time. I enjoy talking!

© 2024 — Tabby Jewett