Posted by Alba Rincón on Feb 26, 2016

Alba: My first six months at MyBuilder

I have been working at MyBuilder for six months now, so that means it’s time to explain a little bit about my experience here.

After working at my last job for over five years and finishing my final degree project, it was time for a new challenge. A big challenge. My partner and I decided to move from Barcelona to London, we thought it could be a great experience for us to live abroad for a while, and a good opportunity to learn. We wanted to learn more about other cultures, other ways of doing things, and also we wanted to improve our English.

Posted by Edd Mann on Feb 24, 2016

Handling Time-Dependent State Recording using React

Sometimes you look at a feature request and think that it maybe a very tricky implementation to develop. I felt this way in regard to recording input fields in an recent application I have been working on. The idea was to be able to record a user’s interaction with a HTML component (in this case a textarea), and be able to replay these events (in real-time) at a later date. Thinking about how I would go about creating such an implementation in trivial JavaScript, with all the browser nuances and user input differences, was not very appealing.

Posted by Sten Hiedel on Jan 29, 2016

React.js app optimistic updates in Flux architecture

When somebody makes an action on a webpage, they expect instant feedback. They’re not thinking about the server responding and acknowledging a change. At MyBuilder we’re aware our customers are using mobile devices more then ever. Without optimistic updates network latency can kill our app’s perceived speed.

Posted by Edd Mann on Oct 28, 2015

Asynchronous Calls within Flux

The Flux architecture abides by a single unidirectional data-flow throughout the entire application. This provides us with a host of benefits, ranging from easier to reason about code, to clearer testing strategies. However, one issue we faced in our recently updated interface tradesmen use to communicate with customers, was how to handle asynchronous calls within these constraints. Throughout this post I wish to guide you through the iterative design decisions made, along with the resulting abstractions and boundaries.

Posted by Will Thomas on Oct 09, 2015

On brewing, design and space travel

As a designer, I sometimes struggle to remember that the audience can’t always see what I see. When I solve a problem there are usually many constraints and frameworks that — unbeknownst to the audience — must be adhered too. I have to make products that not only solve a problem but make sense to me, and the audience.

Posted by Rainer Kraft on Aug 21, 2015

My first three months at MyBuilder

Well, I recently finished my first three months at MyBuilder, and according to tradition, I was asked to write a blog post about my experience.

I had been contracting for some years and was pondering a return into permanent employment. When my last contract ended I had some down time and plenty of time to think things over. As much as I love the freedom of contracting I did miss being part of a company proper; where my input would shape my own future in it.

Posted by Edd Mann on Jul 22, 2015

Insertion, Removal and Inversion Operations on Binary (Search) Trees in PHP

Recently Max Howell (creator of Homebrew) posted an interesting tweet in regard to Google’s interview process. In this tweet he mentioned how one of the proposed questions was to white-board a solution to invert a binary tree. Over the past couple of years I have been interested in exploring fundamental Computer Science data-structures and algorithms. As a result, I thought it would be interesting to explore this structure and associated operations in more depth - using immutable and mutable PHP implementations to clearly highlight the benefits garnered from each approach.

Posted by Edd Mann on Jul 08, 2015

Managing Jenkins Project Builds and Configuration using PHP

Throughout project development we use Jenkins to provide meaningful test feedback on each Git push event. These builds are required for a sufficient amount of confidence to be gained for merging into master and subsequently deployment. Each member of the team has their own project which they manage with the current project/branch they are working on. However, typically we find ourselves working on multiple branches throughout the day, and it can become cumbersome to update the projects configuration.

Posted by Will Thomas on Jun 24, 2015

Revealing your hand

It can be hard to know when to put down the mouse and get some fresh eyeballs on your design work. Act too soon and your ideas might not quite be fully formed and be misunderstood. Wait too long and you may have travelled too far down the wrong road. Like most things you need to find a compromise. Here are a few tips on how I try and strike a balance when delivering comps.