Systems | Development | Analytics | API | Testing

Latest Posts

How to monitor the health of Ably-dependent code

How often do you face an issue with a service that doesn't work and you don’t know why? How often is it related to some external services, dependencies like a database, or queue mechanism you are using? Of course, you could check each service from time to time, and you could run some smoke tests against the service, but it will not give you an answer if “service is not working because the connection to MSSQL failed.”

Ablyeye: How we visualized an Ably SDK with Go and Ebiten

I started working for Ably recently, at the beginning of 2022. One of the first tasks I was given was to build a demo project that used one of the Ably SDKs. Working as a backend Go developer for the past 4 years made my choice of SDK easy. I definitely wanted to work with ably-go. I found myself wondering how to explore, debug and test an SDK in a visual way, rather like how the Postman API Client interacts with an API.

Leader election in the browser with Ably

There is an entire category of problems in distributed computing that require a single client amongst a set of peers in a network to coordinate the behavior of all the other clients. It is common in systems responsible for processing queues of work that connect to downstream systems that don’t support concurrent connections. Or in systems where work is parallelized in a specific way.

What is WebTransport and can it replace WebSockets?

WebTransport is a new specification offering an alternative to WebSockets. For applications that need low-latency, event-driven communication between endpoints, WebSockets has been the go-to choice, but WebTransport may change that. WebSockets is a technology that enables bidirectional, full-duplex communication between client and server over a persistent, single-socket connection. This allows for low-latency, realtime updates, and the creation of richer communication and gaming applications.

Realtime challenges for audience engagement

A simple example of online audience engagement could be a livestream with a host and a chat system for audience members to interact with each other in realtime. Other audience engagement solutions include features such as chat or Q&A for participants to communicate while sharing an experience, such as a Watch Party, and polls, quizzes, and leaderboards.

First down or just down? Is your realtime infrastructure the real MVP?

Sports betting is on the rise in the US as a growing number of states have recently legalized online and mobile sports betting. As of early 2022, sports betting is legal in 30 states and Washington, DC, with more expected to follow suit. The industry has seen massive growth since the Supreme Court ruled on it in 2018, with mobile apps increasingly being the chosen way for customers to place a wager.

Redis scripts do not expire keys atomically

This short post by a member of Ably's engineering team describes how we resolved a problem that is typical of the challenges we face each week. We thrive on solving hard distributed system problems that are mostly platform agnostic and theoretical in nature, and this is the first post in a long-term series of articles about things we've learned recently.

The realtime web: evolution of the user experience

Over the last few years, companies have used realtime updates to add new experiences and features and increase their market share, It’s now standard to expect a page within an app or browser to update parts of itself without forcing it to refresh. For example, a news page of live sports scores updates with the latest goal scored, or an app shows a change as you track your taxi on a map.

Vue.js and Node.js tutorial: a realtime collaboration app hosted in Azure Static Web Apps

This post describes how I built a realtime collaboration app that scrum teams can use for planning poker. Planning poker, also known as Scrum poker, is a gamified technique for estimating the size of user stories. This helps in deciding how many stories can be put into a sprint. Usually story points in the Fibonacci scale is used as a metric, but T-shirt sizing, like small, medium, and large, is also used.