Here at Bump, we want your documentation to look beautiful. That’s why we designed our layout to work with both OpenAPI and AsyncAPI specifications — just provide your API in these formats, and we’ll make it look amazing.

But where we really simplify things is the ability to update your docs automatically, so you don’t even have to think about updating. Just push your code, and we’ll make sure your docs are updated.

In this post, we’ll walk through the Bump GitHub Action. If you keep your code (with your API specification) on GitHub, this action will do the documentation…


At Bump, we are committed to ensuring that your API documentation is beautiful and always up to date. To demonstrate the power of our tooling, we’re going to walk through the creation of an API (and, more importantly, its documentation). As we create the API and modify it, the power of integrating with Bump will become more and more apparent. And this is why we are here: to make everyone’s life easier: easier for the development team, the documentation team and — of course — easier for your customers to understand and stay abreast of any changes to your API.


We’ve come a long way in the world of payments. The process has become faster and faster, to the point where we’re now talking about service delivery in real-time, occurring almost instantaneously after the users’ action.

It’s a remarkable leap, but the phrase ‘real-time’ has also begun to become something of a buzzword, lost in its overuse and over-simplification. What does it really mean? How does a ‘real-time’ process work?

Take the Fidel transaction API as an example. Incredibly useful, easy to integrate — a powerful, real-time transaction-tracking tool.

In a nutshell, it means that every card enrolled on a…


Have you ever wondered what happens when you minimize the browser on your phone? Does the website stop loading? What happens if the website has a periodic ping, for analytics, or ads, or another process? On a mobile phone, this could lead to excess data usage — which on a metered connection can be costly.

On a mobile device using the cellular network the radio does not turn off right away due to the Radio Resource Control state machine (read the Wikipedia article or watch this video I made a few years ago when I was at AT&T). …


While looking at a WebPageTest waterfalls, I often come across surprising attributes. A few weeks back, I came across a page that had images with a familiar file naming convention:

https://twitter.com/dougsillars/status/1086196363010949121

This website is using the Mac screenshot tool to create images that they are using online!

Image Optimization

I’ve written a lot about image optimization, on GIFs, Base64 encoding and more (read more at dougsillars.com). My gut feeling was that websites that use screenshots are not optimizing the content for the web. So I decided to find out.

Are Screen Shot Images On The Web Optimized?

The HTTP Archive dataset for January 2019 has data on the load characteristics…


Every few months, I like to take a deep dive into the HTTP Archive to understand how the web is using various technologies. In 2018, I wrote about Images, video and Base64 encoding. In today’s post, I want to take a look at how the web is using Animated GIFs. (and thats a hard G in GIF, BTW).

In this post, I’ll walk through some of the inefficiencies of aGIFs (TL;DR: they are big and use lots of CPU), and then a look at how GIFs are being used on the mobile web (from the HTTP Archive).

Who Doesn’t Love an Animated GIF?

Well, if we…


Augmented Reality and Virtual Reality (AR/VR) are cool technologies that are coming more and more mainstream. While today they may be primarily in games, and some require fancy headsets like Oculus, there are technologies that are bringing AR/VR into the mainstream. For example, A-Frame is a web framework that allows you to bring VR experiences into the browser. As a framework, it is syntactically similar to writing HTML, bringing a low barrier of entry for many developers. If you are not familiar with A-Frame, and want to learn more — the tutorials are great.

Building a simple world in A-frame…


When a server redirects a request — the browser has to make a second request for the file, adding (at least) one additional round trip, and delaying the delivery of the content to the end user.

As I was sitting around one day, I wondered ‘what is the maximum number of redirects on a single page?’ HTTP Archive to the rescue. In the summary_pages table, there is a numRedirects field. And, running a quick search in BigQuery, I discovered a page with over 1100 redirects:

In WebPageTest, a yellow line means that a redirect was requested. I count (ok..a keyword…


This past weekend, I had to opportunity to head to the East Midlands and visit Birmingham for Hackference 2018. Friday was a 2 track conference (roughly broken into frontend and backend), and then Saturday and Sunday was a hackathon.

I hung out on the frontend track.. I gave my talk on delivering performant (and yet still beautiful) images (here is the deck). Every talk was incredible, from the history of emojis, to a WebVR/voice interaction demo, controlling a drone with Web Bluetooth, a great SVG demo, and a push for everyone to work on the HTML5 standards. …


Lazy Loading is a technique where content is only loaded when it is required. In the case of images, this often means only when the image is on the screen). In this post, I investigate Chrome Canary’s new image Lazy Loading flag, and measure the performance impacts of automatically Lazy Loading images.
According to the HTTP Archive, the Median mobile website is 1271 KB, and has 501 KB images (that means that at the 50th percentile, images make up 40% of the page weight). Further, the LightHouse audits in HTTP Archive finds that that the median site has 92 Kb…

Doug Sillars

Developer Relations. Web and Native Mobile Performance engineer. Passionate about making the web faster. Available for short/long term consultation.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store