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.
Small Improvements
https://tech.small-improvements.com/ · 61 posts · history since 2012 · active
13 Apr
16 Aug 2022
This is an interview with Small Improvement’s software developer Jesper Oskarsson about how the development team works together, what the tech stack looks like, and how big feature releases are tackled. If you want to read on, you find another developer interview here. Hey Jesper! You recently had your 5-year anniversary at Small Improvements, so […]
This is an interview with Small Improvement’s software developer Laura Sochaczewski about how the development team works together, how sprints are organized, and how developers stay connected with customers. If you want to read on, you find another developer interview here. Hey Laura! You joined Small Improvements as software developer in 2019. Can you tell […]
19 May 2022
Let’s start with a beautiful quote, which also can act as a great summary of what I want to share: “If you need a readme.md explaining how to build a project, you already failed” – Eelco Dolstra With this in mind, try to think back if you ever tried to follow along in a tutorial […]
3 May 2019
We all love reading about the latest software developments trends and buzzwords but they can often turn out to be just that, buzzwords. For us at Small Improvements, Domain Driven Design (DDD) has really lived up to it’s own hype though and helped us build better software, faster and fewer bugs to boot. Do we have […]
22 Jan 2019
At Small Improvements, we are always keen to learn about our customers and how we can make the product better for them. Speaking to customers is great (and we do it all the time) but using the data we hold to find trends and usage patterns helps to find things that the customer won’t tell […]
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 […]
12 Mar 2018
We held our first accessibility workshop and in this post, we highlight our approach and key takeaways.
13 Feb 2018
Microsoft's Visual Studio Code is a powerful code editor — let's look at lesser-known features, customizations and extensions that make you more productive!
30 Jan 2018
We recently reached the size of 14 people in Development, and our goal is to get to 16 developers/designers in the next couple of months. An interesting question we faced and discussed in this context is that of “optimal team size”. In the past year we’ve typically worked in teams of three or four, but […]
5 Dec 2017
At Small Improvements we each have a learning budget and get to choose which conferences we attend. It might seem a bit of an odd choice then that I stepped off the plane in the Lithuanian capital Vilnius on a cold November afternoon. I was there for BuildStuff, a pretty special conference. The lineup was […]
22 Nov 2017
The four of us (Charisse, Jan, Paulo & Timur) arrived early for coffee. Right before the first talk in the morning we were welcomed by a very happy DJ. As it turned out later, he embedded snippets of the talks in his songs of vastly different genres in the breaks. Over the course of the […]
20 Oct 2017
Whalecome to this blog post 🐳. I want to share with you how we use Docker at Small Improvements, how it helps us to get our everyday tasks done and what we learned from working with it. For starters, I added an introductory section about what Docker actually is – if you are already familiar with […]
5 Oct 2017
It was a couple of months or so ago when I came across this conference called FullStack Fest, skimming through the agenda, I was immediately intrigued and thought “I’ve got to check this out”. The coolest bit? The conference was taking part in the beautiful city of Barcelona. September finally came around, and just as […]
12 Sept 2017
Here at Small Improvements we have 3 development teams. Each team is an autonomous unit that consists of frontend & backend developers, UI/UX developers and designers, so that they can build and ship features independently. In this blogpost we want to share an insight into what the development process looks like in Team Green. We […]
28 Aug 2017
The first half of 2017 has been quite a busy year for us. With all the features that’ve been rolling out, fixes to deploy, improvements to discuss, design and implement, it can be hard to organise an event that won’t disrupt everybody’s flow. Until we realize that there is never a “right” time. Here in […]
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 […]
9 Mar 2017
In an ideal world, caching wouldn’t be something we have to care about. However, with more and more mobile users on slow and limited data plans, as well as more advanced applications, we can’t escape reality. We need caching. As a response to this we have invested quite some time in Ladda – a dependency-free client side library for […]
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 […]
14 Dec 2016
Today we’re excited to announce a new makeover for the Small Improvements application; a new font family! Please welcome “Avenir Next”! This is all part of our mission to create a more enjoyable, engaging and enticing experience for Small Improvements users. The Design Team @ Small Improvements has had a big year; going responsive, updating colours, icons […]
5 Dec 2016
By Peter Crona and Michael Ruhwedel First of all, it was an amazing conference as always. None of us presented this year, but look for us in the future. Many of us at Small Improvements tend to go to more specific conferences, such as React Europe, DockerCon or JSUnconf. GOTO is more of a generic software engineering […]
1 Nov 2016
Like a lot of people at Small Improvements I’m fascinated by functional programming. For a while I’ve been thinking about cleaning up a little in our codebase, mainly the backend which is written in Java. I have known for ages that Haskell is really good with abstract syntax trees (ASTs) and was playing with the thought of creating a Haskell…
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. […]
30 Sept 2016
We recently launched our new Activity Stream. What began as a small idea turned into quite the large engineering undertaking. The results are astonishing, but it was a lot of hard work. In this part we’ll share how the design took shape. Whiteboard and paper drawings Each larger project at Small Improvements begins with […]
12 Sept 2016
It’s no secret that we at Small Improvements love to use cutting edge technologies for our application. On the client side, there’s no limit, that’s why we’re rapidly transitioning to React. In the backend, we’re pushing the limits too, but we’re currently bound by what the App Engine has to offer. The main grievance for us is that […]
15 Aug 2016
Small Improvements conducts Hackathons every few months which usually involves two days of hacking on an experimental project. Hacking doesn’t imply that it’s a “developers-only” affair either; other departments at Small Improvements like Customer Success and Marketing also get a chance to get experimental too. Hackathons usually give us a chance to really get creative […]
19 Jul 2016
I like to think of myself as a coder of convenience. I often tell myself this work is just a means to an end – I am only coding till I can afford to spend the rest of my days lying in a hammock, drinking out of a coconut. But that’s not really true. If […]
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 […]
15 May 2016
Development is hard. But communication is even harder – especially across departments and continents. Our SI Process Hacks series will highlight a few simple hacks we wish we had known right from the start! The problem We deploy many times a day – bugfixes, feature improvements, new options, changes in user flows etc. As a […]
7 May 2016
The challenge: Scaling Our dev team has reached a quite impressive size these days! Unfortunately I just don’t scale to this size. I can’t possibly conduct 1:1s, listen to feedback, give feedback and help people grow in a flat team of 12 people. While I don’t code anymore these days, and have assigned most project […]
2 May 2016
I recently participated in Softwareskills’ Liar’s Dice competition, and since people have expressed interest to hear about how I managed to win, I decided to summarize the process and results. As I prize I got 500SEK at Teknikmagasinet (Swedish store), a USB memory and this nice piece of paper :) Liar’s Dice and the Competition […]
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 […]
12 Nov 2015
In October Kristof, Kolja and me visited the AMUSE conference in Budapest. First UX conference for all of us! We went to stay for a whole week and used the first days for a ‘User Interface Retreat’ in our apartment. The AMUSE partners with the CRUNCH conference about big data and shares a lot of the infrastructure like […]
11 Oct 2015
In course of the DevOpsDays 2015 in Berlin, Small Improvements is going to host a Docker meetup with John Willis of Docker Inc on October 26th! John’s presentation covers the current state of the DevOps movement as presented by one of the original “Core Organizers” of the movement. The presentation will look at some of the taxonomies that have been…
29 Sept 2015
Our company bootstrapped from one developer (me) into a team of 12 developers. The transition was not always easy: More people means more dev power, but also more communication and alignment needs. When we reached a team size of 10 in July, we decided to split them team into 3 fairly independent subteams. Last month […]
9 Apr 2015
Definition Kubernetes – κυβερνήτης • (kyvernítis) m governor (leader of a region or state) (nautical) captain, skipper pilot (of an aircraft) Motivation We recently moved to a new office and discovered that one of our bare metal Continuous Integration build agents didn’t survive the move. Since other developers were already unhappy with the fact, that the […]
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 […]
We conducted our 3rd SI Hackathon on Feb 19th to Feb 20th. This is one of the hackathon results. Background My previous Hackathon project was way too ambitious, so I decided to pick something easier this time, which would also help reduce our support load a bit. A frequent pain point is that client admins […]
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 […]
12 Feb 2014
Dozens of VC firms reached out to us in 2013, so we sent our pitch deck around the world quite frequently. After a while we started sharing our deck with job applicants as well: We’re such a small startup, and many applicants had doubts about joining us. Access to our deck and our key metrics […]
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 […]
27 Jan 2014
Our SaaS application is built with Java, managed with Gradle and runs on Google App Engine. That makes a surprisingly lean and agile combination. Since we do like to work with the best tools available the folks responsible for the back-end love IntelliJ IDE. So of course we utilize the IntelliJ plugin for Gradle. It’s amazingly simple to […]
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 […]
11 Nov 2013
I bet you’ve heard about the awesome Atlassian Hackathons (“ShipIt days”), which regularly influence the product roadmaps. These hackathons last roughly 28 hours, and end with presentations to the entire company – voting and plastic trophies included. That’s all great if your team consists of 20 or more developers. But what if you’re only, say, […]
1 Oct 2013
A guest blog post by Christiaan Brand, CTO at Entersekt, Cape Town Managing user identities in a corporate setting is often pretty challenging — even more so if the company is expanding rapidly and trying to integrate some of the best Cloud-hosted tools into their environment. I’m Christiaan Brand, the CTO for Entersekt, a young, […]
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! […]
15 Aug 2013
We finally took the plunge and invested some 1200 Euro into buying a good coffee machine. Wow, these latte macchiatos are truly amazing! Worth every penny. Looking for a job with great coffee? Join us!
3 Jun 2013
Incredible. These tech whiz-kids get younger every year!
4 Apr 2013
It all started way too early for our taste, but we made it to Berlin Expert days in time! We’re looking forward to the talks, and to meeting tons of nerdy Java developers! If you have any questions about our job offers, don’t hesitate to bump into us. Spot us by looking for our T-Shirts, […]
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 […]
22 Feb 2013
Using the right technology is important to boost your development efficiency. But efficiency alone isn’t sufficient, you need to boost employee morale as well. Among the core ingredient to employee happiness are the company’s working conditions. And of course the office space itself plays a major role in that. We just moved into our new […]
19 Feb 2013
We’re a tiny startup, and yet we’re able to compete with some heavy weight companies. For instance, our main competitor Rypple launched two years ahead of us, received millions in funding, was led by a team of experienced entrepreneurs and staff, and got acquired by Salesforce last year. We have: No funding, no entrepreneurs, mostly […]
16 Jan 2013
We’re looking for a fulltime Junior Java Developer based in Berlin. Your first major task: Visit some of our clients in New York! Are you looking for a challenging job that involves some customer interaction too? You’ve come to the right place! While we build our software in Berlin and don’t really have to visit […]
19 Dec 2012
I recently did a presentation at the Berlin Java User Group, during which I summarised the past two years that we’ve been operating Small Improvements on the Google App Engine platform. Some things went great, others not so much. Here are the slides (German only) [slideshare id=15704136&w=510&h=410&sc=no]