Pragmatic 25: Software Entropy

16 June, 2014


John and Guy English discuss software entropy as it relates to the User Interface and the code itself and explore if there’s a way to stop it.

Transcript available
Welcome to pragmatic pragmatic as a weekly discussion show contemplating the practical application of technology exploring real-world trade-offs with great ideas of transforming products and services they can change our lives nothing is as simple as it seems this episode sponsored by Whitlock Studios visit Whitlock to get in touch and take advantage of special offer for the app icon and logo design service exclusively pragmatic I'm John Geagea and my guest host night now I have been a long fan of his work and that history and programming spent nearly 2 decades his workforce strategy first be soft to be soft I'm sorry outcomes bassinet Road amoeba and three is gating up with our Chris Paris to form agents dealt released a Mac application called napkin he has an awesome podcast I that I love called debug and occasionally apparently also kicks bears for some reason understands anyway are so welcome to show going with occasional member again thank so kicking down sorry really quickly you can actually keep as they do add a trainer to use is probably a bad idea so that the name of the website I apologise being I guess I I said I I sometimes got questions protect distortion not held at about and that's fine that you have a story forgetting there is a very good one Kyle Hale take a government arm I had been reading an excellent work was chosen and apologetic time and the work that had been meeting was cold very married Whitney by fellow got the brown which is about arm elected to the end of the union was the native American in Native American decline in American investment arm and for whatever reason at a thing as training at symptom is China get venture website and kicking. It was a he was Native American gay interest gay and and I just had his to the DNS thing indicated that it was cool and that you crazy was was overtaken by Neil nice that that's courts are defiled more legitimate story than take distortion at a shop arm but anyway that's okay call thank you but I am yes now explain it publicly ever know what I've listened to a lot of pod casts that you've done and I can't remember if you actually explained that before the gas thank you for that ego always wondered okay from cool so before you stuck into this this episode is 10 quickly cover a few new features of added to the website for those that they don't read our tech distortion are real quickly arm is now possible to use the player on tech distortion of of the episodes it's now possible for you to create a link at any time index that you're at at the moment from the web player and if you follow a link to an episode that has a time index and press the right arrow play button that will start playing from that position is not a new idea is to something that I've always wanted to implement on the web player I think pocket cast actually does do that already but they give you a unique generated link are to a landing page on their server whereas this is directly linked through wire as I run now or in static and I'm using J player services using off-the-shelf stuff are it's I wish there was an industry standard for the reasons are SoundCloud doesn't but again it's unique to their service so I decided to something that you is this not hard all wanderings in passing a query string with episode URL and time equals how many seconds from the beginning is not rocket science it's just something I wanted to have so anyway thing I've done as the feet switched over to a MP3 for maximum compatibility I was receiving multiple complaints about AAC format are there's a few devices out there typically non-Apple devices that one lady player to X and three acts of your listener to X and 3X go right ahead arm I I can understand if I talk a bit slow but identical talkback slow but anyway so it's all good arm I'm trying to be what they want so they go are I will be putting up AAG AAC version 2 are encoded feed in the next few weeks for those of you that are bandwidth conscious so I'll post that link and I'll let you know that link is in a future show so are the go that's happening so anyway enough of that and are on the topic for today and when I one is on doing different lessons start on our my own is I've been asking my my guess what they want talk about and there's a list of topics and this week our guy has Picts are software entropy and I guess the thing with software entropy is that when I say that I realise that may be different people have a different understanding of what I mean by entropy but arm I might I might start by asking you guy what you think I actually meant when I say software entropy arm so to me arm it's the sort of inevitable spec edification of the girls said that eventually appears arm another aspect of it settling for me has been a lot of the software version especially games has been in order to support other developers are silicon liquor level designer will be using code effectively set publishing Apis and that requires you to meeting backwards compatibility are further back than you you never want to arm music being gone and that has Timmy has a light entropy inactive because you're making decisions not based entirely upon what best product at any one time that what is likely to be best going forward and what seems steer the existing concerns that are already in the field absolutely nuts the trigger point might naturally consider that one and in an idea but even in essence a nutshell yes that's that's the idea is that's essentially entropy when I was desired to say when I was growing up salad ally was by anyway seriously they used to refer to entropy and numb physics is being arm order and disorder the finding is that is doing the research for the episode these days apparently a sort of moved away from that concept of order and disorder and when people describe the entropy more recently it's more about a measure of equilibrium such that you as activity increases in a system that's eventually will reach an equilibrium are by that that energy being distributed within that's isolated system so is all very fascinating and physically in the night sort of being in the business listening the go and I'm sure I've AC made a meal of that but still any account the point is that's are in software parlance I guess what I mean is that are the more effort and energy that you put into our software development on a specific product or section of code it tends to become more disorganised disordered and the same is true I think also of user interfaces and are so it's something that I will look at my guess is the most two angles of Yuri moderate entropy is a couple of good links and show notes and a feel free to knock yourself out there are so depending on your inclination might actually knock you out but anyhow arm so user interface start with that I guess because unbuttoning that that's I think applies to most people animal startle must be the backend of actual so I I see user interfaces that the majority of people or companies in the world the major driver behind software development and use of features and yard that's when someone goes your daily obviously because mean if you don't add features I have features and wiring byproducts oak yes I guess it's kind of obvious but the more features arm more when users are buying your software they feel like they're getting more value for their money for got more features generally speaking and obviously gathers other aspects like the complexity of what you've got and if there is a specific feature that they really really want the null pages for that yet other features be damned but generally speaking I like to think while that sorry I don't like to think ice I think that is that is my perception is that that people want to add more features so that people say why got all these extra features and therefore you should get my product so you compare something like pay arm pages to the word or you compare arm pixel pixel mailer which is a great product by the way to something like photoshop and you know there's desert is a chasm in in complexity and features but people think of a serious people get photoshop a serious people use were discussed so many extra features right but I don't know if that's actually a sensible way adapted to think as I don't actually think entirely that way but I know a lot of people do so so I think a lot of yes there are more fully featured applications that there are and a lot of that is because there have been established for long-time lifts are built up as Jane features I think a lot of people buy seed well taken word on specific people by word in order to be in order to interoperate with other people think they get it because it's the de facto standard I think the byword for the symbolism that these digits by Windows machines validate minute well that's what work as an that's what everybody is my four people and his windows because I had no choice validate my running theory at I'd I totally agree with you absolutely right and I think I think it worked there had no choice and then at home legislate well get something as work because I've been trying to work now so you just mix makes sense and it makes less hassle many many people computers are useful to have their uses are didn't want any hassle and it can completely understand that and while sure you could argue that the Mac itself is less hassle if you need interoperate with you with work we need to get inner you please excel document work done at home for some reason and it's not hundred percent compatible and your Mac in the Mac despite being great in terms of its UI internally consistently for itself is just hassle becomes a hassle for you did interoperate arm that's what you get it that's what you get busy and it's a compelling rational argument through besting the majority of people who do want to computers are that said things change with the web and in West End fixed a bunch stiffening within revolution more recently this has been less tie into specific applications under Windows desktop self in the tables can turn a little bit absolutely I guess I picked word as an example I guess because it was at night quick and easy example by grid Avenue to set it's just our it's sort of office has maintained its dominance because of its momentum and people and using a salon for interoperability so I look I completely agree but I do think that that in for interoperability thing can't last forever I think it's only a matter of time before the competitors or chisel away at its already started but is not it's not there yet so you office will continue to be a big income earner for Microsoft but in any case arm that's all cool but just about user interfaces and adding more to them I guess because they've been around for a while these products I think that the issue is that once you've got a user of a product than driving a user to upgrade becomes of paramount importance because you you get revenue when as a software developer company you get revenue when people buy your product they buy a product and a user for 20 years while you Maybe 10 years at most of the naturally stretched on compatibility operating system go to changes in your hardware it changes you buy guess are still programs written in dorsal store run Windows 8 I get nice yikes I'm here and I guess that it is stark and that you think if you are those which are scary but anyhow irrespective my point is that you get nothing for most people after the first initial purchase so would you do you need an upgrade and how to entice them to upgrade what you have more features so this next version has all these extra features and functions and options you should upgrade and I get got me thinking about you is it is a fallacy in software that it is easier to get existing companies to upgrade than it is to entice new customers because this conventional thinking and I looked and I looked and I looked and I can only find anecdotal if you came in call studies but anecdotal discussions that say everything from three times to 30 times the cost of to get a new customer as opposed to retaining an existing customer and I think will okay does that work for software because in software if you want to get your arm existing customers to upgrade what you do while the often you'll subsidise it you will use okay wealth you get upgrade pricing but eager some of your profit and so I know if the numbers really balance out or not IIS it indices to be a heck of a lot of guesswork that seems to be the perception isolate the put the pervasive perception is I have to add more features more more more more in order to get my customers to upgrade have you seen that sort of effect arm was overridden at canal over it's been pretty arm but in general upgrades are still in a big driver of revenue and one of the reasons is that you can it's easier to type to existing customers than it is to Anyone's used to capture in most family where are so cynical and discussing advance and out of and I have an image of someone running around the butterfly net you are you likely would be to capture the attention it is basically you you have the attention of your existing customers because they're using a happy new you are in effectively you your relationship with them you have a conversation with them arm striking Avenue conversation capturing the attention of new customers can be difficult arm you know you need to do marketing campaigns are which in our can be nice can work and can be good but ultimately your standing in stricken yelling at somebody that you now doesn't matter how much marketing you doing specially says people recognise that they go you've just marketing to be so you lose a little that of that human agent A arm at approaches can be to ensure get to you at work or a rating of live leg arm gas ministry, Nora Dan junket Ben Simmons with asthma shot down to get you an adult thing to do it for this but I think it helps it is it is the answer to get either yet get your name out there and people feel that they can trust you then you can have a conversation with them about the software design and a journal from think think simply public about it and Will Shipley did delicious lab you gay arm says he says it upgrades are a large part of their revenue and cash going from 1 to 2 and that makes a lot of sense now things may be a little different now that that the actual kicking and scanning the measure because people have two revenue streams now well that there are definite the classic direct sales revenue for the app store sorry for their own store and to which you can show captivating you can offer these incentives and you can communicate with existing customers and then there's the app store of words are harder to Billy creative relationship with you with your customers because you have to the classic system you have in addressing at the name and what you assume it was the name should I know exactly which mean yet as there is no one standing between you and your end user the facility app store it could be interesting to see what the deal with new users versus upgrade users are arm you think you can see that over the next couple years certainly we are at that age and distilled charm and we actually haven't decided what the boat followed similar pits to 1.3 when we had to point I don't honestly don't know what to do wealth that that's fair enough as it is one of those things that I'm sure you'll you give it more thought but bottom line is that's are plenty of people plenty of developers now have set the tone and said I put a substantial effort into this and of category right here and there is no other mechanism for us to you if we can keep keep giving you free upgrades as per the app store model or we can simply say you knew at this is the ref ref to visually apt and is you were charging for it again because of the amount of work that went into it and a lot of people are over well I guess will always be outraged because it's the Internet but on a lot of people accept that especially that is a good product so it's a sort of thing that I think that's totally fair to do so could get while I just wanted to so irrespective of whether or not it anecdotal or not there's there's there's evidence it certainly sounded as more evidence that I could necessarily nail down our but I guess the question is more of a postulate light doesn't completely apply does not whether a dozen mouse and I said sound like it probably does then and that's fine then that just creates more pressure to add more features and this is the whole problem with is also met with the whole idea of the entropy is that this is pressure you have to add more you've gotta give more up to get people to do that upgrade if that's a significant part of your revenue yes I said yes yes are cooked thoroughly in giving you so and and and that's fine that's that's where were at so I get the thinking that's the amount of screen real estate that we've got to play with as developers on the desktop just keeps growing went by member having a 12 inch CRT and thinking that was the most huge monitor in the world ever and now I'm sitting in front of a 24 inch flat screen and I've had 27 inch monitor and a 30 inch monitor and in my my chequered computer history generally screen real estate uses gross and okay is also the user interface leap from desktop to mobile where everything shrunk but now look at it is now growing again so you so inevitably with time space for new user interface elements increases and it will increase I think not quick enough it's like I will add more features but the screens are growing big government although for me to fit all those extra features may because the cycle could be three years before I got 2 inches in screen size but my software could iterate for five times between their now nominal upgrade revenue come on so yet you then start to have new paradigms to hold even more options so used to be Argo drop-down menu keyboard shortcut near thumbs up on done there okay will then have now got toolbars and we've got the hovering the hovering toolkits in the context sensitive menus and ribbons and all these young men is like a single layer upon layer upon layer of new new interface Paris hold more and more and more options to the point which we have some kind of controlled chaos eighth April again entropy is exactly they wanted to you through the list in the classic sense of the joint from water towards chaos arm and again I think your example of Microsoft Word is perfect for that territory only that the inner and think anybody has hasn't yet seen that screenshot reflect words toolbar just buttons that were there to make any sense and its well-intentioned rate trying to put functionality front and foremost that you mean use arm what it doesn't have though is are like an editorial sense you need to be able to throw things out and and that that's ultimately that is the entropy date idea is that later sang as you add more features and you need to keep adding features if you going to sell even sell your product to existing customers you need to give them the value and ultimately in software value transfers into most times I can you future something that they could do now that they couldn't do before that has something of value and down academic and feel good about that will you stick the new button interface that set house that I notice a new feature that exacts it is all while the data feature benefits not visible while no one will know normal care and has a think sill through the media think arm I think the key is to focus on what the actual purpose of the product is what the actual value and give Europe so in the case of napkin that the value is that you can quickly and concisely market images and chatter through its best visual chat can enable arm still don't need that that focus helps us decide what features to put in and not put in but it also helps us focus on the actual value of the application so if we do an update scattered bunkmate can want buttons to do a bunch of staff that's not necessarily a win arm because it's distracting from the actual value of the application which is to be quick are so AF collectively had less buttons and it was easier and faster and you can get anyone anyway that would be aware that you back it's really really tricky to sell or shall I try not none of this what we run also try and I want to try and wrap this up towards the end I got a couple of ideas and you already you've already arm yet hit on some of them which is basically it's all it is all about focus it's about understanding exactly what your product is trying to give people rather than being I'm an all in one box that can do anything you'll ever want to do which is what my software tamoxifen cells becoming people even use Excel as a database is not a database rate that values Visual Basic scripts and an all sorts of crazy stuff to turn into a pseudo-I'm not really a database database but some I think the greatest two examples in terms of companies that suffer from this problem are Microsoft and Adobe and I saw a caller matters before you with photoshop and with with word that are icily look at screenshots of XL you mentioned the screen dumps of word icy look the screen is of XL I went back to Excel version 2.0 and again linking the show notes have a look at you haven't seen it may compare that which was done in 1987 against office 2013 and the number of options now versus them as is this is astronomical and is you like us before they that they batted the ribbon along the way and honestly I think the ribbon I had a go at the ribbon on a previous episode but you I've sort of educated myself since then so I think the list I'm sorry I don't have the name and finally bidding that gave me the right links I can do some research on that it is actually kinda cool but unfortunately it doesn't help the problem of having too many damn features so the problem with keyboard shortcuts ultimately is it the right Achilles a seniors find yourself crazy finger, is like well it's shift control option command V I'll write what I do and it's like I that's split the document to shred one half highlight government bolt as I come on because it gets to that point right with you just can't keep adding them so anyway I guess the bottom line is that all was not lost right because this is all about companies and individuals that are developing software when it is their only source of revenue if you have an alternative source of revenue there is a different way of doing this and DO I was bring up Apple another makes FM were not in any case little apples done and ED examples on on the quote are pages numbers keynote and is prior to that is a few years prior to that Final Cut Pro X or 10 sorry I was in an ice axe site delegate in Oregon so there was a massive draw when Apple took Final Cut Pro and they ditched multicam editing support and they ditched native external tape editing in fact the multicam support was gone for seven months and there was this I picture my minor walkout I quote unquote walkout but I don't know if software progress actually got up from their chairs and walked away from far more more likely that as did the upgrade and Working but the point is that there was it there is big push back and Annapolis of on the back foot after a while the respondent said don't worry Wilbert will add back what they did I'll sorry with pages Yellow Pages is they did mail merge need mail merge until literally yesterday I was having a party right and she will ask that it's okay darling take care of all of the envelopes I can do a mail merge office open up pages are nigh can't because Apple took mail merge outs of pages meant okay first time of needed in nine months if it is not I use it every day the week but what I do I went to word arm sorry but anyway the point is that that they took that out it used to be in their and what it when I went to pages version 5 at the current version so it's been nine months now there's been a mail merge and pages so what Apple do what they hit reset they said you know what screw this I'm going back to when a simplified interface with no I base my understanding they rewritten the code base or vast chunks of it and now they're really adding the features that they essentially removed very gradually but in doing in a far more controlled way in a less bloated way and is I got Mick got to thinking the only reason that they can do that is because they've got an alternative revenue stream that do not reliance on sales of pages and Final Cut Pro to survive so they can do that if customers walk away get angry on principle and so on the news pages because I can't merge my mail anymore then it doesn't matter because you do not depend on that revenue might Microsoft and Adobe can't do that for sure that you had a delivery arm still in the iWork team basically just moved of iOS and the viewer editing on AIS and then there's this most recent one is them pointing of the ALS (hunted under the Mac and this is not really like the removed net marriage no I well well then make a choice to mail merge mill marriage was godlike from the product perspective yes they removed features are from a development perspective knowledges and guard to adding and backing are like apples get support was a big but it is up in arms that the new Mac stuff didn't support apples get what that meant for the future of apples get and really what that meant was that the teams hadn't done it is used in a premature January rate we tolerate in the arm you need another revenue stream not in order to pull a stunt like that are an think that others can be set as frustrating as it is that you can use the mill marriage arm those are the kind of set of let the field of fellow moments that you need in order to combat that the software entropy that discussing out exactly they could get building on it but there in the just edited to be set but and that's very very hurt that it's very hard choice if you if you are not making money out of iPhones and first absolutely do it it's a tough call but I guess the whole point of 111 to talk about this is how we ought we all agree is like okay got out features go get new customers gotta go go get that revenue in you periodically a year upon year or every two years Pannonia developer cycle but irrespective you need to do that right and his Apple saying actually well they don't because we have an alternative revenue stream so you know what we gonna do the quote unquote right thing and we are going to distill this down to a key centre for our accusative feeds just occurred to me agent distill distilling as a having to do with that was just a coincidence sorry is a sidetrack that just occurred to me to someone the reasons why you named agent distilled distilling ideas or is it just me yet that's all I mean there is a bluesy aspect of it both northern at the the idea is that you know we we want to consider things carefully and will that stage but is it yes the extended steel bit is that we want to get to the amended that the process is based on distilling like a good sky through whatever is similar noted the focus on quality after careful consideration and time is what we can capture that and and yet this eyewitnesses is part call sorry I does every now and then I get a four becomes in the my my head normally I just got that I'm not sure of the callousness if you already understood why called agent distilled arm you so that appetite is figure that out so they're going it's a most discoloured thing to do getting witchy and you know the logo is a barrel cell phone and women at Unite on a fetish is drinking anything but that we know when everything and we were cool with that association yet exactly but not that the real reason is because it's a smashing suffers a process of refinement insurers and agent distilled tasks that it captures that that process call live others want to meet project managers that didn't get that about software and the like is ready to go out as it really go out as a radio out yes 3 to go out good nagging on a different project modern while hang on a sec year millennium trainer to be elected as this is the promise of work are too many big companies but anyway before we go any further are most were quickly arm talk about sponsor which rock studios so selling a business or an app is like selling a house is a huge amount of time and money by redecorating bring the house up to scratch and modernising it into great photos and build a website showing off that house but if there's one thing missing it can stop wise men walking through that door its curb appeal people say you shouldn't judge a book by its cover but unfortunately human nature frankly most of us do and some do the same thing with business logos app icons and e-books so without some kind of curb appeal people won't usually take the time to look inside and check out all of your hard work and it can go unnoticed name to send it an honour and the show recently with Scott a fresh coat of paint on the new artwork as a result of working with Aaron over at which rock studios can't recommend him highly enough there was an awesome icon to draft the first few years Aaron designed that he also designed the brand 512 mineral and lots of other recognisable apps businesses and websites including 70 dB if you're looking at some curb appeal Aaron can help you what I really enjoyed working with Aaron about was that he took the time to understand what I was looking for and a few emails back and forth and I had 8590% of where I need to be aware of what I wanted he just intuitively knew exactly what I needed by someone told them and it was so quick compared to my other experiences I've had previously with other wrap with other designers does as a special offer just the pragmatic business Aaron is offering is at icon and logo design service for $400 now that half the normal rate and that's an amazing deal get to get access to a professional of Aaron's calibre and experience this paper the graphic designers out there that can give you something good Aaron will take the time to give you something great visit which rock specifically that URL to get in touch with Aaron and take advantage of this amazing deal while it lasts thank you once again to which rock studios for sponsoring pragmatic so that's we talked about the user interface I think we need to move on to the guts arm not entrails meaning I guess a gap so little about my line of work which is a little bit different from yours predominately the software that I write is more our industrial automation so you were controlling pumps and motors and is now all sorts of different physical devices servo motors and so on and one worker start out with an object that that is designed to control specific pump let's say in the end user then says you are after you've you're right you get to cite the codes done in an factor acceptance tested the now so we can add AER leak detector because we just realised that that we ordered submersible pumps and without leak detector could all go bad lover blah blah silliness IR grates an hour to go and retrofit my block to alienating an input for a leak detection rate say modify the so you modify the block then you modify the high level code and you've got a retest and reintegrate answers and slow okay great so all this time and money and unfortunately because you don't hurry because your on-site temp typically you're not quite as neat a gone Ballarat with time but you're typically not as neat as you otherwise would have been when you were under the pump and I guess if you're smart about how you structure the code from the beginning you can sort of write your code to the point where it is a bit more flexible and I guess that's an experience thing but honestly the distal point where if you make the code so generic that it is infinitely flexible it also becomes infinitely difficult to comment to Ashley documented and when you truly tested the more generic the functionality I found that when it comes to immigration the truest test case only comes when you assemble all the pieces because there could be some race condition between two or three different objects that is an obvious reason apparent maybe say hey why your test cases aren't thorough enough maybe but I guess the bottom line is that I find if you go to generic sometimes that that can cause its own problems about high-level languages it's like I not add another method I'll add another method to this class when I meant you hate all the data is in their rights to set some more and before you know it you haven't this ridiculously long list and this huge object did not understand what the heck does and you that's my frustration and that's it to some extent self-inflicted that it seems to be pretty common and I guess that's something that I wanted to explore is that the more time and energy and effort you pour into it this is this base of code that's been this been written and tested and spin out in the field and people been using a Scott that field soak time for a court that any almost loath to change a psycho aftermath I do this will break dad in mind are just in it sometimes any features you got to so I guess I'm so curious how you manage how you how you handle benefits and you've come across as well done had exacting problems and with justice in certain curious work what aware select what you programming against to control his pumps okay well there's quite a few different controllers were in in the industry that I work in I've there's a whole bunch of the programmable logic controllers and our PLCs for short was also something called a distributed control system or DCS similar kind of idea bottom line is that you've got a piece of hardware out there that you physically wire the arm with wise into a drive or into a contactor and that will turn the power on and off to a pump are variable speed drives, like if you got an air conditioner inverter air-conditioner those sorts of things were run it can run the motor it at whatever speed you set out like hundred rpm thousand rpm you do is give a set point away goes that sort of thing and is these particular devices are very arm how should I say the vendor specific so you're my appeal see from Siemens or you buy one from Schneider unfortunately for you buy them from whoever Rockwell automation you buy from all these different people and I'll have their own custom programming software so it essentially each one has its own operating system that you gotta learn it software is frustrating as hell arm only use you like a real programmer you make things work in real life which is you I don't have assess what this I've done some high-level stuff I've done you what you do nowhere near to the level of software that you've developed in the best I've done so far is clock but never mind that anyhow my point is that God the point is that Saddam yet it's fun having a user interface playground we can say on the turn that specific pixel this right shade of turquoise why because I can whereas in a lot of the skull systems you deal with you I draw a pump it's gotta be read when it's running dream is not running or vice versa or its greyscale to be just the right shade of grey and good luck customising it you know you don't have that option and when you controlling a device with these PLCs you programming with somatic manager Fitzsimmons PLCs you're hacking why that code and you've got two or three different language is to choose from that if you don't do it just the way that they say is never know why so it's in it's not as flexible and I'm in and that annoys me but at the same time it's satisfying because at the end of the day you hit run and you watch this machine come to life actually happens it's clear it's cool it's really cool and it's very satisfying and and so my best programming experiences were our industrial machines with servo motors and server controls as though the so-called CBI arm is a machine that I did which are makes garage door panels and this particular machine art takes smart steel bars I think it's a 1.6 mil mild steel are on the coil list coils like five tons E come pick these up as a Superman or something and is arm put ID calling machine that I'm fine fills the coil then use you level it you emboss it with a woodgrain pattern and also locomotives then feed into another machine that presses a pattern into it then you chop off the guillotine you accelerate thataway roll form the edges punched holes very very cool and you sit there anything to yourself hey I just program this is the so-called sometimes and where every now and then I drive around the city and I'll see houses that have been built in the last 10 years and I think my machine made that door and SO like smiling to yourself and my wife catch me saying what you smiling and undermine our Yemen enough in its fine hatted and impact on one arm yeah well done it but no one knows who the hell I am so had a door and I hate the door shuts might get at my Donahue unit anyway you get arm I do get a warm fuzzy feeling answer as to the end add to the entropy thing arm lacking user interface think it's is unavoidable to a certain extent in the arm the cast of making changes to code and back are steaming in at the time are can outweigh any immediate benefits so while it may be you feel you need to be factory need to eliminate some methods or you need to add in maybe just berate system from scratch it's very hard and shipping software to actually get around to doing arm for the same reason that you were seen before is that the arm the pressure in this system is effectively coming from the user as well once the fact that what is actually coming from is your revenue stream if you want to be running a business in our and seldom get revenue from users and Wadi users want their one new features work by fixes of whatever it is whatever it is that the users want the don't want you to be made at his functionality that they don't have any benefit from yet I had imagined one saving is no money and re-factoring a code so should so to monitor how you got it but you if you will be yet if you are taken to an extreme that I can see why someone would say yes now it's about is that this would be nice with the pressures coming from now the thing is our you with pressure of any kind arm yes bailing out the bowl with a bucket may help to relieve some depression in terms of sinking by putting down the bike and actually patching the whole up may help you a lot more great emitting and building another boat right next to it whatever it whatever happens to be there there are there are alternative methods detected don't necessarily mean that you need to do is keep in dealing out with the bucket on time and in terms of software sometimes every voting system is that is what's it may not be immediately obvious that that's what's needed boat down the road that's in there it'll pay off in spades arm absolutely finding when that is is difficult and sometimes you can be too eager to be that something just because you don't like it here sometimes in unity sometimes it elected and that's not also that snake and experiencing no nights financially at a meteorologist I think a lot of that also is if you've got multiple products that you're supporting then a lot of it also comes down to potential future utility like if you're if you decide I'm going to sunset my app at X and out of your portfolio than obvious Enoch and I spent time re-factoring it because it does not pay off that so yeah it's is a complicated question but the bottom line is that I think did that with all the financial pressure to continue to draw in new users you focus on the features you focus on extending and you don't focus on re-factoring in the simplification and ultimately that that leads to this this disorderly with some boys that originally hopefully not spaghetti spaghetti furcation of your code was short-term but yes it is a good way of putting it now and I'm hesitant you just made the argument that it's a revenue stream issued by a neighbour does need to be revenue because I think open source office in this same problem to yet an interesting yakka so it's used to it whatever it is input pressure into the expectations of what the pilot has to and in the case of commercial software yes that that's in users and revenues gent but a bit think equally and open source has sent pressures immediately face the same can spaghetti furcation were actually push the dead commercial software does Indian summer goat sometimes indeed can be rated arm me with less blowback than then in the commercial world but a lot of times you find that that's just doesn't happen and the inner that will has its own set of pressures and so I don't want to make it seem like a sister like a moneygrubbing fan hiss is widely is a software entropy suffer entropy happens the matter which I have based on expectations of the public that I am I bet NASA has GPL has some systems that they wish that they could take the time to clean up your absolutely on the open source side are only I hadn't actually considered some unquenchable that are because I did make you think about that but now I am thinking about that if it about open source software for example that's essentially help with this it might most software that is developed in an open source that I've seen exists to offset a commercial need in other words as a commercial product out there but people are saying while we would rather have an open source version or something it's very similar or if not feature equivalent then a feature similar to this other product so that people have a choice and then it'll be open source everyone can contribute towards it and it becomes its own living entity and is I think that in that case that a lot of the driver's inch is to drive it towards feature parity with its competition and was a competition I'm in your commercial competition so you look at something like go near office or open office and its feature set and I am relatively sure that they would be driven by the fear that what what they consider to be the key features and functionality that is currently available in office and they say well we won't be in open office alternative that you can't be open office alternative unless you have a minimum set of features that the Microsoft Word and Excel and so on already have and I would see that as being the driver is not money exactly it's more of a feature equivalence Nitro lagoon due to dizzy and ultimately exit this as there are jab in a project on how to avoid suffer entropy are good question are I have a couple of ideas arm I guess is one more thing I want to quickly cover about some of the other some the other areas that they can come from and it also has around people so before we get to that just quickly with people arm is people the cause of and solution to every problem pre-much arm right so the people involved in a software project change with time and in the industry employee Turner somewhere between 12 okay in my industry and I think software gates is relatively consistent solar numbers about 1836 months on average staying in any one company obviously individual expenses will vary in Davidson average like in my crew for example I stayed a company for 6 1/2 years that was like an eternity arm and I've been a company for as little as four months and one that recently well didn't didn't quite work out but it yet irrespective point is that on average about year and 1/2 two years somewhere on average so if you have a product that takes more than three years to develop or is you have a future version or set of the series of future versions that spans more than three years which the large software is very common then you have a completely different team working on it at some point in the life-cycle of that product and when teams change directions change focus changes design principles can change and no more is it just Wernicke with eight menus no more than 10 items per menu that gets lost or thrown out the window unless it is really clear direction a good reason given or there is this idea of the the ought her who is involved through that that the lifetime of that product try and stabilise that to be consistent ultimately new people the new shiny shiny features they take over and say well Wernicke tackle normal stuff that drives a lot some of that entropy as well so please if that's that's in my experience so I a case again to how the hell you avoid this and honestly ultimately use substance one of the big ones already and that is it comes down to focus on what the heck the purposes of what you are actually writing if everything the solution to arm your success there in software anyone's success in software is simply arm you wear a kitchen sink we do everything that you want do jack of all trades and master of none is I think it's far better to focus on being exceptionally good at one thing or a handful of key things are closely related in your software than to try and keep adding more and more features you should try to enhance the features that you've got to make it even better so I liken it to what Google is done with search and is a kind of realise that some people, yell at me when I make this comparison but he goes are they started out with a big leapfrog on the competition with an innovative search algorithm but they didn't stop there they kept on buying more and more servers and writing new code bases to improve the search result time the indexing all of everything they do their algorithms are tweaked constantly they keep pouring more money back into it and that means that they're still just a search engine Google is still just a search but it's gotten so much better over the years because they keep pouring more and more into that core competency that they've got to make sure that their final software product that they're delivering is a software product or delivering that is so good at what it does that it is without peer and if more companies thoughts like that with white word or pages whatever then there will be a lot less of this entropy going on I think is agree arm goes to the pressure thing and I think Google is interesting in the way that the pressure for them works arm the want to think straight there one to get the customer attention that they need the dinghy to have the best search arm but they also need to be hell to serve up the best ads for people and yet still you know it's interesting that the pressure the pressure is merely them to be able to sort of reboot stuff just a little bit differently but I realise the danger in drawing the analogy to Google is of course well know a lot of people see Google's arm and driven our revenue strong likely add-on into add-on only mean that anything is integer and in the topic of suffer entropy Google has a low software that is no add-on think that type of them is whatever revenue model aa don't think that being dismissive of it is served to get purpose of traffic away with the pressures of the greatest art I totally agree I am just hearing the feedback in advance and my has come to light Mount red China and will just email marker interviews with email down from the website into any lacuna can take Madonna still get in touch with me but I will let you know it is imbalanced arm but you still unite anchovies interesting in its own rate they just kind of differed in the notion that overtime and in the classical sense having gets disorganised and in the modern sense export becomes features in equilibrium arm I think that is completely to its offer and I think that your job as developer is to maintain order effectively and that you in your new code in in the interface in an the processes that you that you have arm that kind of urine in that way you get a paycheck basically this is that you maintaining order of the system you new grading system and you sound system or inaccessible to us you your publishing at arm you providing system and your purpose is to make that system run and entropy is going to happen and that is always going to be your number one and concerned only should be in a concern and it business had in any number of ways except in the interface in the code you not even in organisational structures or the way the money meeting say however it is said Keith R Bennetts it's sort of the overriding issue at think it's it's a huge topic it is and I guess I feel like no one talks about a highly non-talks about it and as for the reasons that I had on the less I guess one of those things are just as quickly other other thoughts and ideas on beyond and people will hear me refer to Google so below Google it's not saying arm but still art 101 things I I love and hate at the same time and this is such a silly example but on sale anyway is some edits are paste and paste and match style if your Mac using your Nolan talking about and I brought this up previously arm on a podcast cannibal when but the point is how often do you copy and paste text we don't want to match the style of the destination you how often really seriously do and yet you get both options and the default option is the longest paste and it's the wrong one as I only heard how the site I'm copying some text off of the web for my inner project which yells like plagiarism and totally wrong anyway and pasted into whatever pacing into our and I get the formatting from now it's like it's the wrong font the wrong font size it's a night Italic site that's not what the rest of my document is go orbits between emails in someone's emailed and it's gone the ads come out as Unicode and sacs stripped of every four formatting and and that that that is the silly example but don't really both of those options pick the one that is the most likely and run with that you adding it is as a feature it's I feel like anyone can add a feature but what takes what takes the arm the real skill I think and whether focus should be is understanding the right feature that people are going to use the most often and adding that or if not replacing what you currently got with that so that it's simple and is focused and frankly the simplest user interface arm the simplest feature the best feature I should say without adding complexity it is a feature that essentially invisible or mostly invisible to the user and if you can add features than that is the way to do it and if that doesn't sort of that sound too cryptic but do not amend and I can explain out financially and at least go that that comes from the year in the next days and can't copy and paste and add the veg text would be put on pasteboard and so when you visited it would it would mean tender style which was a corrupt sense feature the time right at and its in on the one thinking about certain website and cupping a bunch of stuff out of the web said there were thinking about leg well attractive tax documents formatting in a manner one preserve formatting as a companies text documents/waves default I believe peace and match style came in on the Mac OS X committee meeting tender in one manner that it that was a hack around thing and what they should have done is just change it to the weathered it should work these days is this people cupping passive marketplaces and very really care about keeping the formatting the same so that it really should change that is a perfect example of entropy and innocent of not revisiting a problem and I still haven't it's still there and I got the current version the pages up and there is paste paste and match style of every well because it could be one of those things are just ingrained in that that's the way it works and just get over it be complaining about this further next Syracuse was complaining about: 2010 meeting well-meaning good news is if you keep complaining like that actually works but only help the people listen to you and I'm nonlicensed is a matter that some I guess the only other thing I like to add about you try to reduce our entropy and this comes more in the teams thing and when you got a longer term project is if you've got a set of rules or methodology arm or interface paradigms that guiding the development initial develop of your software then you forgot to write it down and make sure that people read it when I start developing don't don't just say here work on this bit here we want to add featurettes begin to read the dam for a philosophy first and because I've had so many bad experiences of his junior his junior programmer arm and this function to this object and go ahead and go and time crunch timeframes get done get it done and you come and have a look it's like they've used completely different conventions to everything else is totally inconsistent with the project and is it is essentially that they've been off in the underworld and why is because you early on while when I was younger I didn't write down in the methodology was all in my head while I got Veritas an hour ago I write a coding standard is my coding standard is what he is what you should follow arm I'm not saying it's right I'm not saying it's wrong and I'm saying it's the best or could well be the worst methodology but it's about consistency because that because it's the lack of consistency that drives that spaghetti furcation and honestly it it takes you a few hours to write down our a detailed methodology I think and that's time the loss it'll save you days weeks months of frustration in the future so anyway night argue and that yes rating don't go getting a deluded good and you know what I think we're getting at is that you need to heated induction people into the culture of the product in the cold and the way the image decisions why make decisions and an antenna that time that does become more difficult because you know you bring in new people that I have all of the experiences you can't really Travelling just downloaded into their brains are at a certain amount of time you assume that other people think like you because you been working with products along and you West End entropy kicks in yet that set at and that the problems gets worse when you've got the are the hot the hiring boom and bust, cycle so you'll if you've got a group and you gotta get a product out and be you are living in Seattle is very much people talk about this on them the episodes are 20 go the critical path and arm not podcast episode are of this trust called the critical path anyway and is it was that the idea from mythical man month understand three more people of this and still they could never get done quicker and the analogy being well know if there are nine women than that a pregnant than they give birth to Ed to one baby and one month so I'd sort of that kind of concept you doesn't work and three more people and it just throws out all those rules and see how you just get chaos and disorder so the gradual buildup and an indoctrination in an hour and she is now wanting the indoctrination into some, like we live since a Manchurian candidate can have word with you doesn't we manner and dress the culture of the city effectively you embrace it or there is little in well know maybe not quite as brutal but sometimes on Seo sometimes I wish I had an aboriginal workout you were a soft pedal stuff and not let people go as a gardener and then you pay for it now that's that's reasonable like this little things work in this we were doing things and if you're not going to contribute and that doesn't mean blanket in North Korean Canada where you must must behave like this Armenia but at least you know what to decide cases and act within the parameters I think if somebody's going against that then it's probably for the best that you progress with them is this true in think there can be having fun and certainly it's not the best for the project is as easy as is the teams is absolutely it will talk more about this you can reach me on Twitter at John's edgy and check into my writing attack you like to send any feedback please use the feedback form on the website that's where you'll also find a shadows this episode under pod casts pragmatic unify pragmatic show on Twitter to see show announcements and other related stuff I'd also like to thank our sponsor for this episode out what frog studios if you're looking to add some curb appeal to your product or company remember specifically visit this URL what frog to get a great result that half the normal price so I'd also like to say a big thank you to our guiding wish for coming on the show today and dump was the best way of the people can get in touch with you and see your work arm so and they have an cold napkin which you can find in the Mac App Store and at GTE on Twitter very occasionally rated can better come and have a duet podcast of the bug which can find it awesome cool for things not becoming Allgeier done a thing as a route was a really great United added the thinker of listening�
Duration 1 hour, 9 minutes and 7 seconds Direct Download
Episode Sponsor:
Wet Frog Studios: Wet Frog Studios are an amazing App Icon and Logo Design company with a knack for understanding what you need and delivering a great result quickly. Exclusive for Pragmatic listeners they have an offer of their App Icon and Logo Design service at HALF PRICE. Visit the URL below to get in touch and take advantage of this amazing deal and add some curb appeal to your project today. Visit to learn more.

Show Notes

Related Links:

Premium supporters have access to ad-free, early released episodes with a full back-catalogues of previous episodes


Guy English

Guy English

Guy of Aged & Distilled also blogs at Kicking Bear, has an awesome developer podcast called Debug and once helped organise the Çingleton conference that has now sadly ended.

John Chidgey

John Chidgey

John is an Electrical, Instrumentation and Control Systems Engineer, software developer, podcaster, vocal actor and runs TechDistortion and the Engineered Network. John is a Chartered Professional Engineer in both Electrical Engineering and Information, Telecommunications and Electronics Engineering (ITEE) and a semi-regular conference speaker.

John has produced and appeared on many podcasts including Pragmatic and Causality and is available for hire for Vocal Acting or advertising. He has experience and interest in HMI Design, Alarm Management, Cyber-security and Root Cause Analysis.

You can find him on the Fediverse and on Twitter.