Can we make delivering software better?
After school or University or most online courses on web development, we are always taught about delivery when it comes to working in the industry; bug fixes as well new features and how they are released. But why is it so different when it comes to software.
Software is still downloaded as a single huge beast for the most part; Sketch is a great example and is somewhat lightweight in comparison to other software like Adobe CC products or Microsoft Office products. Sketch version 71 was released on 23rd March downloading this version is nearly 65MB in size, two days later 71.1 was released that fixed a few annoying bugs that had been discovered; downloading this update was again nearly 65MB in size but how much difference could there be between the two versions in terms of lines of code written?
After some thought I started to draw some direct comparisons between native software development and web development especially when using version control like Git and how deploying from that only updates the files that have changed instead of downloading every line of code written and wondering whether software development could use the same technique.
I get that there are business targets adding to the pressure of releasing major software versions at a certain time and it’s the most prevalent in gaming with the influx of “day one patches” created even before the physical discs (that some people still buy including myself) have actually hit the shelves as they already know that things are broken before people have even bought the game. That’s a bigger topic that I don’t want to get into with this article as it’s not my place but there are definitely links between them.
Using version control to minimise the download of a new version of a piece of software would have a massive decrease in download time meaning that even those with slower internet connections can more easily get the latest updates, when talking about digital sustainability I always mention about how making websites more lightweight and purposeful websites makes them more democratic as it means that connection speeds due to location are no longer an issue. If we can do this for the web, why can’t we for software?
If you have your own thoughts on this, please do share them; find us on LinkedIn or send us an email; it would be amazing to hear from likeminded people on this and figure out ways of reducing huge software downloads.