Interactive Powerpoint_How to Master effective communication
API first.pptx
1. 100 more developers
without recruiting:
Hello API First Paradigm
odeda@wix.com linkedin/oded-apel
Oded Apel - Software Architect
November 2022
2. Hi, I’m Oded
→ I ❤ code - been writing code since 7th grade
→ 13 years in the industry, 5 years in Wix
→ Started as a developer, became TL, and now an architect
Hello API First Paradigm
→ Already working on the next generation of developers
3. Agenda → The tale of Wix eCom integration with eBay
→ What is API first approach?
→ I want to be API first!
Hello API First Paradigm
4. Agenda → The tale of Wix eCom integration with eBay
→ What is API first approach?
→ I want to be API first!
Hello API First Paradigm
5. Wix is a leading website builder DIY solution, aimed to provide everything that you need for your online business.
Hello API First Paradigm
7. Wix users wish to integrate
with eBay
Hello API First Paradigm
Define products in Wix
When an order is made on eBay, show it in Wix
make them show up in eBay
8. So Wix decided to build it
Hello API First Paradigm
Wix + eBay
Integration
A team of 4 people was assigned to the task. They worked for 6 months.
9. So Wix decided to build it
Hello API First Paradigm
Wix + eBay
Integration
A team of 4 people was assigned to the task. They worked for 6 months.
A POC was made, it was clear that it would take a significant amount of time to get the product production-ready.
Code was thrown away :(
POC
Main pain point -
integration with eBay
Pain point -
integration with Wix
11. Hello API First Paradigm
Wix partners with Inkfrog
Wix + inkFrong
Integration
Inkfrog’s business is to integrate
eCom platforms with eBay
12. Hello API First Paradigm
Wix partners with Inkfrog
Wix + inkFrong
Integration
Inkfrog had to integrate their existing product with Wix.
To enable this, Wix exposed the required public APIs.
Within 6 months, the integration was live in production
Inkfrog’s business is to integrate
eCom platforms with eBay
13. Was it just luck?
No, it was a change in mindset.
→ Wix decided to invest in having public APIs
for all services
→ Taking advantage of these APIs, it was
made possible to let someone else build
this product
Hello API First Paradigm
14. Agenda → The tale of Wix eCom integration with eBay
→ What is API first approach?
→ I want to be API first!
Hello API First Paradigm
15. Not API First
Product Manager
→ Talks to users and researches other
products
→ Defines screens
Developer
→ Creates design (often starting from
DB schema)
→ API is created as bi-product to allow
client-server communication
Hello API First Paradigm
16. Not API First
Product Manager
→ Talks to users and researches other
products
→ Defines screens
Developer
→ Creates design (often starting from
DB schema)
→ API is created as bi-product to allow
client-server communication
Hello API First Paradigm
API First
Product Manager
→ Talks to users and researches other products, APIs and
external applications for competitors
→ Defines capabilities
Developer
→ Translates capabilities to an API
→ A design is created based on the API
Product manager defines screens, can be considered as
“default UI”
→
17. Example:
A To Do List
→
Remove task
Edit task
Mark a task as completed
My Tasks
✔ Task 1 …
Task 2 …
Task 3 …
Add task
Add task
→
→
→
+
20. Hello API First Paradigm
Back to the eBay case
Wix + inkFrong
Integration
➔ APIs to allow reading products from Wix
➔ API to allow creating an order in Wix
➔ Events when product gets updated or deleted
21. And that’s it?
Not really, it’s a great phase 1.
Phase 2 happens when you expose SPIs -
interfaces that others can implement and
extend your product.
But that’s for another day …
Hello API First Paradigm
➔ APIs to allow reading products from Wix
➔ API to allow creating an order in Wix
➔ Events when product gets updated or deleted
Wix + inkFrong
Integration
22. How did Wix
benefit from
API first?
→ TLDR; Increased dev velocity
→ Encouraged reuse internally
→ External developers can provide features that users need
and are not first priority for Wix
→ Infinite scale
Hello API First Paradigm
23. Agenda → The tale of Wix eCom integration with eBay
→ What is API first approach?
→ I want to be API first!
Hello API First Paradigm
24. Standards
→ Authentication and authorization
→ API standards - many small decisions so that all your APIs feels like they are created by the same company.
Examples:
Common entities (e.g address)
HTTP paths
→ What is considered a good API?
Hello API First Paradigm
25. Why are Standards
important?
→ All APIs “feels” like they were created by the same company
→ Improves API quality
→ Can build tools for all services (e.g export)
Hello API First Paradigm
26. How can you ensure
Standards?
Forum
Discuss standards and
come up with guidelines
Experts
Experts in each group to
spread the knowledge
Hello API First Paradigm
Enforcement
Breaking the build
27. Product
Manager
Process & Mindset
Needs
defining API
capabilities
Needs a
different set
of skills
Owns the API -
needs to
understand what
it can provide
Hello API First Paradigm
TLDR; API is a product.
That’s why the product manager ...
28. Development
starts from API
design
Spends more
time on API
design than
previously
(YAGNI is not
as obvious as it
used to be)
Builds more
capabilities
than what the
current
product (UX)
needs
Hello API First Paradigm
Developer
Process & Mindset
29. Local experts in
each group
that review API
and ensure
standards
Ensure API
experience
including
naming,
documentation
and even
usability
Hello API First Paradigm
API Masters
Tech Writers
New Roles
Process & Mindset
30. Do I really
need all of this
for an internal
API?
Strive not to
have internal
APIs
Hello API First Paradigm
Every
external API
starts out as
internal
Internal APIs
Process & Mindset
Yes, like yourself as much as you like external developers
and invest in having a good API.
31. You still need
to QA your
“regular”
product
You also (or
mainly) need to
QA your APIs
using tools such
as postman
Hello API First Paradigm
Feedback on
invalid API
input is crucial
QA
Process & Mindset
Bugs will be found on the API level, possibly ones that
have no effect on your “regular” product.
32. You still need
to support
your “regular”
product
You also need a
support team
that can
support
developers
Hello API First Paradigm
Support
Process & Mindset
33. Hello API First Paradigm
Interface Definition Language (or IDL) allows you to define an API. In Wix we use Protobuf
IDL
Tools
34. Hello API First Paradigm
Where you see all APIs with documentation and playground
API Portal
Tools
35. Hello API First Paradigm
Where you can create applications | Users can find and install | Authentication | Webhooks
App Market
Tools
36. API first does
come with a
cost.
→ It increases the load on QA and support
→ It requires new roles such as tech writer
→ It’s a paradigm shift that your company needs to do
→ It may lead to analysis paralysis - API first requires
you to analyze your use cases upfront
→ Product-development tension - should the product
understand the API?
Hello API First Paradigm
37. API first paradigm allows you to
boost development velocity.
Hello API First Paradigm
The scale is infinite when both Wix and non-Wix developers can now
develop what our users need.