Skip to content

Commit 9ee32c0

Browse files
committed
Add Blobr article
1 parent 5a0501b commit 9ee32c0

File tree

7 files changed

+105
-14
lines changed

7 files changed

+105
-14
lines changed

Gemfile.lock

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
activesupport (6.0.4.7)
4+
activesupport (6.0.5)
55
concurrent-ruby (~> 1.0, >= 1.0.2)
66
i18n (>= 0.7, < 2)
77
minitest (~> 5.1)
@@ -58,9 +58,9 @@ GEM
5858
filesize (0.2.0)
5959
forwardable-extended (2.6.0)
6060
gemoji (3.0.1)
61-
github-pages (225)
61+
github-pages (226)
6262
github-pages-health-check (= 1.17.9)
63-
jekyll (= 3.9.0)
63+
jekyll (= 3.9.2)
6464
jekyll-avatar (= 0.7.0)
6565
jekyll-coffeescript (= 1.1.1)
6666
jekyll-commonmark-ghpages (= 0.2.0)
@@ -95,12 +95,12 @@ GEM
9595
jekyll-theme-time-machine (= 0.2.0)
9696
jekyll-titles-from-headings (= 0.5.3)
9797
jemoji (= 0.12.0)
98-
kramdown (= 2.3.1)
98+
kramdown (= 2.3.2)
9999
kramdown-parser-gfm (= 1.1.0)
100100
liquid (= 4.0.3)
101101
mercenary (~> 0.3)
102102
minima (= 2.5.1)
103-
nokogiri (>= 1.12.5, < 2.0)
103+
nokogiri (>= 1.13.4, < 2.0)
104104
rouge (= 3.26.0)
105105
terminal-table (~> 1.4)
106106
github-pages-health-check (1.17.9)
@@ -109,14 +109,14 @@ GEM
109109
octokit (~> 4.0)
110110
public_suffix (>= 3.0, < 5.0)
111111
typhoeus (~> 1.3)
112-
html-pipeline (2.14.0)
112+
html-pipeline (2.14.1)
113113
activesupport (>= 2)
114114
nokogiri (>= 1.4)
115115
http_parser.rb (0.8.0)
116116
httpclient (2.8.3)
117117
i18n (0.9.5)
118118
concurrent-ruby (~> 1.0)
119-
jekyll (3.9.0)
119+
jekyll (3.9.2)
120120
addressable (~> 2.4)
121121
colorator (~> 1.0)
122122
em-websocket (~> 0.5)
@@ -236,8 +236,8 @@ GEM
236236
gemoji (~> 3.0)
237237
html-pipeline (~> 2.2)
238238
jekyll (>= 3.0, < 5.0)
239-
json (2.6.1)
240-
kramdown (2.3.1)
239+
json (2.6.2)
240+
kramdown (2.3.2)
241241
rexml
242242
kramdown-parser-gfm (1.1.0)
243243
kramdown (~> 2.0)
@@ -263,7 +263,7 @@ GEM
263263
forwardable-extended (~> 2.6)
264264
posix-spawn (0.3.15)
265265
progressbar (1.11.0)
266-
public_suffix (4.0.6)
266+
public_suffix (4.0.7)
267267
racc (1.6.0)
268268
rb-fsevent (0.11.1)
269269
rb-inotify (0.10.1)

_data/docapis.yml

+3
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,9 @@ folders:
336336
- title: "Using Oxygen XML with docs-as-code workflows"
337337
jurl: pubapis_oxygenxml.html
338338

339+
- title: "Blobr: An API portal that arranges your API's use cases as individual products"
340+
jurl: pubapis_blobr.html
341+
339342
- title: "Which tool to choose for API docs &mdash; my recommendations"
340343
jurl: pubapis_which_tool_to_choose.html
341344

_docs/introduction_to_rest_apis/whats_new.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ If you're looking to see what's new in the API doc site/course, you can browse n
1616

1717
The following are the most recent updates to the API documentation course.
1818

19-
## January 2021
19+
## May 2022
20+
21+
* [Blobr: An API portal that arranges your API's use cases as individual products](pubapis_blobr.html). With Blobr, you can create an API store to launch and grow an API business with different monetization models.
22+
23+
## January 2022
2024

2125
* Revised the content in the [Metrics and Measurements](docapis_metrics_and_measurement.html) section as follows:
2226
* Consolidated the first-level checkliist and second-level checklist into a [single checklist](docapis_quality_checklist.html).
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
---
2+
title: "Blobr: An API portal that arranges your API's use cases as individual products"
3+
permalink: pubapis_blobr.html
4+
course: "Documenting REST APIs"
5+
sidebar: docapis
6+
weight: 9.95
7+
section: publishingapis
8+
path1: publishingapis.html
9+
last-modified: 2022-05-20
10+
---
11+
12+
With [Blobr](https://www.blobr.io/){: rel="nofollow"}, you can create an API store to launch and grow an API business with different monetization models. In the same Blobr portal, you can also include documentation that describes the precise workflow for each use case, helping API consumers easily onboard with your API. You can also customize your portal's name, logo, colors, domain name, add support chat integration, and more.
13+
14+
*Note: Blobr is one of the sponsors of my site.*
15+
16+
## Blobr example
17+
18+
Let's walk through a Blobr example. Here's a product catalog for a [Petstore API on Blobr](https://y18r6fxgtelv8ls5.developer.blobr.app/){: rel="nofollow"}:
19+
20+
<figure><a href="https://y18r6fxgtelv8ls5.developer.blobr.app/" rel="nofollow"><img src="{{site.media}}/product_catalog_blobr.png" alt="Product catalog overview on the Blobr API portal" /></a><figcaption><b>Figure 1.</b> <i>Product catalog overview on the Blobr API portal</i>. Developers can browse the various ways the API can be used ("products") and then preview or purchase the product they want.</figcaption></figure>
21+
22+
In this example, the use cases for the Petstore API have been packaged into seven different "products":
23+
24+
* Get info from a user
25+
* Buy a pet in a store
26+
* Buy a pet online
27+
* A recent pet buy changes his/her mind
28+
* Attach a picture to a pet
29+
* Retrieve user email information
30+
* Update user personal details
31+
32+
This is what's ingenious about Blobr &mdash; it allows you to take each use case for your API and package it as an individual product, which can then be monetized or made available for free. Each product usually involves using several different API endpoints in a specific workflow.
33+
34+
API consumers (developers or other integrators) choose the products they want to consume, and then they become authorized to use the workflow's endpoints. For example, a typical authorization might allow developers to make a certain number of calls per month.
35+
36+
Blobr's new approach to organizing, presenting, and monetizing APIs not only simplifies API consumption for developers, it helps API providers better communicate to consumers how to use the API.
37+
38+
## Product and workflow in detail
39+
40+
Let's look at a product and its workflow in more detail. Suppose you want to implement the use case "Buy a Pet in a Store." You would click this product to see details on the implementation. The product landing page shows an overview of the product, the cost, and the workflow.
41+
42+
<figure><a href="https://y18r6fxgtelv8ls5.developer.blobr.app/catalog/prd_7osv1snb1ehsu91m" rel="nofollow"><img src="{{site.media}}/product_description_blobr.png" alt="Blobr product detail page" /></a><figcaption><b>Figure 2.</b> <i>Product detail page.</i>This view describes the product and the workflow to implement it. The details also lists the endpoints used for the product.</figcaption></figure>
43+
44+
In this example, the product description is brief, but a more detailed product could include screenshots and other formatting (see an [example](https://s3.us-west-1.wasabisys.com/idbwmedia.com/images/api/product_description_alt_blobr.png)).
45+
46+
In addition to a product overview page, documentation appears as workflow steps. The first step in this workflow is to "Retrieve all the pets with the status ‘available'." Clicking this workflow step reveals more detail, as shown below:
47+
48+
<figure><a href="https://y18r6fxgtelv8ls5.developer.blobr.app/catalog/prd_7osv1snb1ehsu91m/workflow/v37tKPbAXi6FnHrQInyMO" rel="nofollow"><img src="{{site.media}}/workflow_step_blobr.png" alt="Blobr workflow step detail page" /></a><figcaption><b>Figure 3.</b> <i>Workflow step detail page in Blobr.</i> This view describes a workflow step, including the endpoint used, its parameters, and example response.</figcaption></figure>
49+
50+
The workflow steps usually reference an API endpoint. How do you get your API reference details in there? Although you can enter your API details manually, a more common approach is to upload an [OpenAPI document](pubapis_openapi_intro.html). After uploading your OpenAPI document, you can select the endpoints that apply to the workflow step. (The same endpoint might apply across multiple products in an API, and this approach allows you to single-source your reference documentation.)
51+
52+
For each workflow step, Blobr also includes a "Try it out" explorer so that developers can execute the endpoint directly on the page and see the result.
53+
54+
## API tracking
55+
56+
With Blobr, endpoint usage is tracked in a granular way. API providers can price each product as desired, such as 1,000 calls for $5. As calls get made to the endpoint, a counter shows how many calls remain in the purchased plan.
57+
58+
This granular call tracking allows API providers and consumers to measure API usage. Further, if the workflow involves calling multiple endpoints, you can see how far along the users get in the workflow funnel. In this example, users will most likely make a lot of calls to see the available pets in the petstore and fewer calls to actually buy the pets.
59+
60+
With Blobr, you can choose from different monetization models: subscription based, tiered, or metered models. For each model, the monetization is either based on the number of API calls made or, with custom units, defined by the API provider. The custom units can include the number of users, the amount of data processed, or other options. Flexibility with custom units provides a way to bring the price and value to the user closer together.
61+
62+
## Reasons for Blobr's unique approach to API portals
63+
64+
What's the story behind Blobr's unique approach to API portals? Alexander Airvault, co-founder and CEO of Blobr, said that previously, when he worked with API customers, they often struggled to understand how to implement the APIs. The APIs were usually more technical than the customers could follow.
65+
66+
Compounding the difficulty, the traditional model of API portals mostly provides a long list of endpoints for the user to figure out on their own. To reduce some of the complexity, Alexandre started creating "subscriptions" to different parts of the API for customers. That's how he got the idea of Blobr.
67+
68+
Blobr's approach _productizes_ the use cases of your API, making it clear how to use your API to achieve various goals. There's no ambiguity about what you can do with the API or which endpoints you need to accomplish each goal. This granularity also allows API consumers to focus only on the use cases of the API they actually need.
69+
70+
Dividing the API into distinctly packaged products not only eliminates complexity but avoids information overload for API consumers. The consumers see only the endpoints and workflows related to their product use cases.
71+
72+
Further, when there are changes to the API, rather than broadcasting all changes to a general release notes page, the changelogs are delivered on a product-by-product basis so that changes only go to the relevant consumers who have purchased those products. If desired, Blobr can automatically send personalized changelogs to API consumers. These personalized changelogs avoid broader communications in which only a small subset of information is actually relevant to the API consumer.
73+
74+
## One platform that brings it all together
75+
76+
Although we've talked about various pieces of the Blobr API portal, let's step back and consider the platform as a whole. Blobr provides multiple elements that are critical to distribute and monetize APIs. For example, Blobr combines building blocks that include API authentication, limits, documentation, monetization, and analytics _all in the same platform_. Blobr gives you workflow API documentation and testing, API monetization linked to real-time usage and authentication, personalized changelogs with each API update, API logs and error replay, and more.
77+
78+
The combination of all of these necessary elements, working together on the same platform, provides a seamless experience for both API providers and consumers through the whole API lifecycle &mdash; from pre-sales to implementation, post-sales, and beyond. It's a case where the overall platform is more valuable than the sum of each of the parts.
79+
80+
## The story behind Blobr
81+
82+
Blobr is named after [the blob](https://en.wikipedia.org/wiki/Physarum_polycephalum) &mdash; a unicellular organism best described as slime mold. Neither plant, animal, or fungus, the blob has some unique properties. If you cut a blob in half, each part continues to grow as a discrete organism. Conversely, if you push two blobs together, they merge into a single blob. The blob's division or unification provides a living example of how APIs can be chunked into separate products, or how the same API endpoint can be merged into multiple products. (Blob's have other unique properties that also make them an appealing metaphor.)
83+
84+
Blobr is in the startup phase. Based in France, Blobr received VC funding and began commercializing operations in January of 2022. As of May 2022, the company already has more than 100 paying customers. To learn more about Blobr, see [https://www.blobr.io/](https://www.blobr.io/){: rel="nofollow"}.

_docs/publishing_api_documentation/pubapis_jekyll.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Jekyll and CloudCannon continuous deployment"
33
permalink: pubapis_jekyll.html
44
course: "Documenting REST APIs"
55
sidebar: docapis
6-
weight: 9.96
6+
weight: 9.97
77
section: publishingapis
88
path1: publishingapis.html
99
last-modified: 2018-12-25

_docs/publishing_api_documentation/pubapis_which_tool_to_choose.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Which tool to choose for API docs &mdash; my recommendations"
33
permalink: pubapis_which_tool_to_choose.html
44
course: "Documenting REST APIs"
55
sidebar: docapis
6-
weight: 9.95
6+
weight: 9.96
77
section: publishingapis
88
path1: publishingapis.html
99
redirect_from:

upload.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
aws s3 cp ~/projects/learnapidoc/images/workplace_influence/$1 s3://idbwmedia.com/images/api/ --profile wasabi
1+
aws s3 cp ~/projects/learnapidoc/images/$1 s3://idbwmedia.com/images/api/ --profile wasabi
22
# to run, store image in project's image folder
33
# then type this: . upload.sh image.png
44
echo '<a href=""><img src="{{site.media}}/'$1

0 commit comments

Comments
 (0)