We were annoyed with the slow performance of our frontend unit tests, so we made them much faster! It turned out that swapping out the test runner is an easy and efficient way to keep the migration effort low, while reaping the benefits of much faster execution times.
#frontend
29 posts
13 Apr
6 Aug 2025
Overview of the technical hurdles I overcame to evolve my intern project into a new feature for users.
28 Jan 2025
Qualitative comparison of image embedding models to power a scalable similar-image replacement system for Canva designs.
30 Aug 2024
“What are your goals for this quarter?” It’s the question every manager asks, and one that often prompts a flurry of technical objectives and project milestones. Jumping into this internship, I knew my answer. I wanted to practice making informed decisions on my project, since that was one of the challenges I faced last summer.…
22 May 2024
Balancing Old Tricks with New Feats: AI-Powered Conversion From Enzyme to React Testing Library at Slack
SlackUpdate (October 2024): In response to numerous requests from external developers, we have open-sourced a version of our Enzyme to React Testing Library (RTL) conversion tool. You can now find it on npm, along with detailed instructions on how to integrate and use it in your projects. In the world of frontend development, one thing remains…
15 May 2024
Prologue This is the fourth and final instalment of our series. In this piece, we’ll dive into our experiences and insights gained while tackling this project at Housing.com . Previous Chapter: CLS: Changing the perspective (Vol.3) Over the years we have tried a lot of approaches, some approaches required design inputs while on the other hand some ideas were tech…
5 Dec 2023
Slack users have more power than ever to automate routine tasks and processes, saving themselves time each day. Workflow Builder, a task automation tool built into Slack, has continued to improve since its launch back in 2019. Along with various new steps and triggers, we built a new sidebar section for all available workflow steps.…
13 Jul 2021
At Slack, we believe that designing an optimal keyboard experience is key to delivering a best-in-class product for all our customers. However, despite our design system components being individually accessible, we heard from keyboard users that we were still missing focus transitions in their end-to-end user experience. Non-sighted users who relied on a screenreader constantly…
23 Apr 2018
If there was one word to describe the theme of JSConfIS it would be experience. Beyond the wonder and fantastical environment of the conference’s location and backdrop (hosted in Reykjavik, Iceland at their world-famous Harpa concert hall) – the majority of talks focused on topics relating to both the user and the developer experience too. The […]
13 Feb 2018
Visual Studio Code: Features, Customizations and Extensions to Make You More Productive
Small ImprovementsMicrosoft's Visual Studio Code is a powerful code editor — let's look at lesser-known features, customizations and extensions that make you more productive!
9 Dec 2017
This series of blog posts is about the network related performance issues. The goal is to give you a set of tools to use that will provide you with insights that help you deliver fewer and shorter loading screens to your customers. Make sure you check out the first part, too: Performance Monitoring for the Frontend — An introduction Getting…
15 Aug 2017
Displaying a list of items is a challenge you will encounter in most web applications. When using a view layer library such as React, you only have to iterate over the list of items and return elements. However, often you want a couple of more features such as filtering, sorting or pagination. Not every list […]
30 May 2017
Recently three of our developers attended the CSSconf 2017 in Berlin. The talks have been inspiring for us and once again we got clear about what a mature language CSS has become by now. The steady addition of new features continue to amaze and the enthusiasm of the community is infectious. The conference itself was […]
25 Jan 2017
Intro This is the first post of a series explaining the story and technical learnings we had from starting to migrate from AngularJS to React. Check out the github repo for examples and the full code. Our frontend story so far At Small Improvements we’re aiming to make meaningful feedback available for every employee in every […]
12 Jan 2017
During Ship It Week, I took the opportunity to redesign our emails. The goal was to deliver a more modern and fluid layout in hopes of strengthening trust and creating a more pleasant user experience among our customers. Before and After Design According to research1, aesthetics play a big role on how people interact with things. And […]
18 Oct 2016
Eventually the time will come when your team wants to use React + Redux for their frontend stack. We made that commitment some time ago at Small Improvements – we never had to regret it. As we come from an Angular 1.x frontend application, we needed to decide between React (+ ecosystem) and Angular 2. […]
5 Jul 2016
After a significant project involving making Small Improvements responsive, we came up with some UI ‘rules’ that we in the design team or (‘UI Taskforce’) agreed upon. The longer we worked on this refactoring and ‘cleaning up’ of the app’s style, the more we realised the importance of (finally) having a Style Guide. At Small Improvements, […]
10 Jun 2016
In the past, we at Small Improvements have sponsored various Angular Conferences and Meetups. So how did our developers end up at React Europe? Let’s backpedal to understand the story behind that. Small Improvements and React!? At Small Improvements we decided in early 2016 to shift towards React instead of working to migrate to Angular […]
29 Apr 2016
We were proud to once again be a sponsor at last week’s JSUnconf in Hamburg. The conference, that centers around the latest and greatest in JavaScript, is truly the “unconference” in both content and overall execution. It’s a completely non-profit conference built for the community, by the community. As the event grows year over year, […]
25 Feb 2016
Keeping client and server in sync can be tough when building a single page app, and involves tons of boilerplate code. In this write up we’ll combine the best of two worlds by hooking up Angular 2 with Relay, making your workday much more fun and productive! This technology is so promising, that we’re running an […]
24 Feb 2015
We conducted our 3rd SI Hackathon on Feb 19th to Feb 20th. This is one of the hackathon results. Background While searching for a nice datepicker for SI I figured out that there’s nothing that is really pleasing from both technical and aesthetical perspective. Either it is an jQuery wrapped thingy, or wrapped pickaday or if […]
28 Oct 2014
First of all ng-europe 2014 was a really great conference. Many high level talks, the core AngularJS team really accessible and awesome attendants. Many thanks to the organising team who made this event happen. We were proud to be among the sponsors! There was so much to learn and to take home from this event, […]
11 Jun 2014
Getting angular’s watches right can be quite a challenge. There are several ways to watch values from a controller, be it $watch, $watchCollection or $watchGroup. Luckily there’s this amazing article of different ways to watch data that will solve most problems you might encounter. However, most doesn’t mean all: when creating the new admin screens […]
30 Jan 2014
The Static Showdown is a virtual worldwide hackathon for frontend-engineers. Hacking is more fun together – thus we provide our Berlin office as a central hub during the competition. The competition starts on Saturday, 8th of February, 1am Berlin time. You then have precisely 48 hours to develop your app. Anything that you can run on a static web […]
9 Jan 2014
Yesterday our frontend engineering team gave a talk at the AngularJS Meetup Berlin. The talk focused on performance measurement and tuning for huge angular screens and gave some insights into our workflow and toolchain. You can find the slides here: Slides Slides (PDF) Example Code
28 Nov 2013
When you build complex angular.js apps, your user interface might start to feel sluggish: You experience an uncomfortable delay whenever you click a button, the screen flickers when you scroll and some actions freeze your browser completely. This guide will help you to identify and speedup the slowest parts of your app. Hint: This post […]
10 Sept 2013
AnglarJS is great! But when dealing with large lists containing complex data structure, things can get very slow! We ran into that problem when migrating our core admin screens to AngularJS. The screens were supposed to work smoothly when displaying some 500 rows. But the first approach took up to 7 seconds to rende. Terrible! […]
11 Mar 2013
This is an article about the nice and mostly the ugly parts of customizing websites for print via CSS. During the work on our new design for Small Improvements I had to create CSS for print for the first time, following are the experiences I made, summarized in a way I think it would have […]
27 Feb 2013
We, Kolja and Timur, attended the jQuery Europe conference in Vienna, Austria this year. We met Sebastian Helzle who used to be developer at Small Improvements about a year ago and contributed a lot back then. The baroque location was breathtaking; the Gartenparlais Liechtenstein (Liechtenstein Garden Palace) is spectacular, especially the room were speeches took […]