September 14, 2017
You may have noticed that things have been a little quiet on the BrandStencil Change Log over the past couple of months. There’s a very good reason for that.
We are in the middle of our biggest code refactor, ever.
BrandStencil is written on top of a development framework called Laravel. You can think of a framework as a set of prebuilt components, which enable you to create an application like BrandStencil much more quickly than you would otherwise. To use Lego and an analogy: rather than building a car from individual pieces, a framework gives you a gearbox, an engine or a steering mechanism already built from many pieces and you can drop these on to your chassis.
BrandStencil was launched way back in 2013 and at the time it used the most up-to-date version of Laravel. Over the intervening years we have made literally thousands of updates to this code to enhance features and improve the application, but Laravel has been constantly evolving too, and at some point we were no longer able to keep up to date without a major piece of work.
So a few months ago we made the decision to slow down on new features and concentrate our efforts on a full scale Laravel upgrade. There are many benefits to this including the shift to PHP 7, great improvements in security and performance, as well as access to many more ‘components’ which will mean new features can be developed more quickly in future.
This process has also forced us to go through pretty much every single one of BrandStencil’s c. 25,000 lines of code and tidy them up.
The reality of application development is that not every decision you make will turn out to be the best one. Sometimes you do something quickly in a way you know isn’t ideal - this is referred to as technical debt. Sometimes you think you’ve got something just right only to discover your assumptions were wrong and the thing you created isn’t being used as you expected.
Whether it’s repaying technical debt or reworking a feature to better meet the needs of your users, refactoring is vital part of the maintenance of any piece of software. Like a thorough spring clean, it throws away everything you no longer need, puts everything you want to keep in a sensible place, puts labels on things and ensures any rot is properly treated. Refactored code is easier to maintain, easier to extend and free of repetition.
We’re really excited about the new and improved BrandStencil. Our plan is to go live in October - watch this space for updates.