barry burton
Posts tagged "Philosophy"
Jack Welch, former CEO of GE, in an interview with Francesco Guerrera of the Financial Times, as referenced in a Forbes piece introducing Roger L. Martin’s book Fixing the Game.
A Limited Philosophy of Software Development
Technology has become a very complex area. It is my belief that technology professionals should serve to insulate the general population from the myriad protocols and specifications and engineering. To operate a product correctly should not necessitate an understanding of the systems and principles the product is based on. Things should just work, or else provide an intuitive and high level response as to why correct operation is not currently possible.
This has the side effect of making technology professionals gatekeepers. This brings responsibility upon our shoulders but as long as we are willing to take that responsibility, this is not necessarily a bad thing. Lawyers and accountants and architects all serve as gatekeepers for their particular areas of specialty.
So fantastical has the rise of the internet and related technologies been that often these technologies are seen as magical and unbounded. In some sense the future of technology could be seen to be unbounded, at least in terms of dramatic and unforeseeable advances and changes. However, at any given moment there are very real physical bounds imposed by the present computing and networking infrastructures. As such, it is our job to intelligently make tradeoffs, packaging together into a product the best possible set of features that can be made to work together.
Returning to the idea of the gatekeeper, in a realm that is unbounded, a gatekeeper is always seen to be evil, someone who wants to arbitrarily prevent access to good things. Unfortunately, many people view the world of technology as unbounded and so technology professionals who are grounded in reality are seen to be evil guardians who prevent fun. This view is probably primarily promulgated by the technology press which finds it easy to report on features but hard to report on something vague like user experience. While features may generate a quick, sensational popularity, a good user experience will promote lasting goodwill and devoted user based that grows more slowly but is ultimately for more profitable.
Many specific points fall out from this but a few are worth explicit mention now. First and foremost, simplicity is king. Every new technology or feature is one more thing that must be remembered and understood by the user. It is not enough for the new item to merely provide some benefit, that benefit must be greater than the additional memory burden presented by the item. Social media can provide great new avenues of communication for reaching and interacting with customers, but it can also dilute brand and overwhelm customers who just want to simply keep up with something they find interesting. The same goes for any other new technology buzzwords that a user may be sure of needing but in fact add no new capabilities or power.
This brings up another point: there are times when technology professionals must say no to users or clients, but just because what they are asking for will not bring them what they ultimately want. Flash is a good example of this. It is a complex browser plugin that is responsible for more browser crashes than any other reason. It is one more piece of software that a user must keep up to date. However, it provides no new power or functionality. Movies are much better delivered via movie specific codecs, which like Flash necessitate an additional piece of software, but they do what they are supposed to do much better: display movies at much higher quality with fewer bugs and crashes. Animations and interactive visual displays are much better created with Javascript, HTML and CSS, all native browser technologies. This means that there is no additional software to download or that will possibly crash.
In addition, since the browser was designed to do precisely this, the operation is fairly efficient, reserving much processing power and battery life for other functions. Flash on the other hand is quite inefficient at most tasks it is asked to do, meaning longer download times, less available processing power, and increased power consumption. That is if Flash can even be made to run at all. It is not purely marketing that keeps Flash off of nearly all mobile devices. The one argument Flash has in its favor is that the development environment is familiar to many creative professionals who already use Photoshop or Illustrator. Without downplaying this benefit, it is still unacceptable to foist a more poor product on users just because someone does not want to learn how to create a better product.
The iPhone is a perfect counterexample. It uses a very unique development environment that was understood by few people before learning it for iPhone development, but the process is entirely oriented toward producing good products which are efficient and highly usable. So while a new developer faces a steep learning curve, once the environment is learned, great products can be more easily produced, rather than sticking with a easily known environment that was hamstrung to almost always provide mediocre results.
All of this essentially boils down to understanding where your strengths end and weaknesses begin. Sometimes technology professionals understand computational products better and so we do know better. However, this cuts both ways. Most technology professionals have little sense for visual design, so it is important for us to work with visual designers in order to produce the highest caliber products. So there should also be an emphasis on aesthetics, especially as it pertains to design and interaction. Ultimately, this emphasis is driven by a desire to create highly usable products, letting the goal of increasing user happiness guide each design decision.
Socialism?
That all people are selfish and only motivated by self interest is an undeniable truth. Some people generally prefer quantity to true quality, something that I think is an extension of a more general inability to weigh future consequences to be as important as present gratification.
Taken together, this is presents the following: all people seek to optimize their happiness, but some are only concerned with their immediate happiness, while other people are willing to endure present hardships in return for greater future happiness.
The problem with Socialism is that ignores the second group of people, forcing all people to fit into the first group. However, it is the second group that drives innovation and progress within society. Without them, society stagnates. A society in which hard work is not rewarded can never prosper.
Sometimes inequality of wealth is the result of the differences between these two groups of people. Socialism assumes this is always the case. However, the ability to work towards long term goals is not the cause of the most egregious differences in the distribution of wealth. The greatest differences in wealth always come from exploitation — from exploiting a system or exploiting the planet or exploiting people.
While Socialism stamps out the beneficial use of unequally distributed wealth (giving people a reason to work harder), it actually encourages the more devious cause by creating more loopholes. People don’t generally think of the US government as being Socialist because it implements few, if any, policies which remove the incentive of hard work. The US government does, however, enforce quite a few Socialist laws which make exploitation easier. These laws are generally designed to prop up industries and ideas which are no longer feasible, but end up forming a framework in which less than honest individuals can unfairly amplify the results of their work, so as to greatly change the distribution of wealth in a way that hard work alone would never reach.
Subsidizing farmers means that their status quo is always preserved so they have no reason to innovate. So Americans can get lots of crappy worthless food filled with corn syrup because the government pays for such a big percentage of corn production. The big packaged food companies get rich because the government has created an artificial demand for their nutritionally worthless but monetarily cheap products.
Subsidizing highways and American automakers means that transportation by car appears to be far cheaper than it actually is. This leads to unnaturally low adoption of mass transit. Failing to enforce to the true cost of items is just as bad. The burning of fossil fuels exacts a huge price from the environment, but this cost is not reflected in the cost of operating an automobile.
Likewise, pesticides transfer the cost of farming from the farmer to the earth. We become accustomed to prices for food that are simply too low to be fair. On the jilted end of this deal is the chemical-logged earth in the future, and the people of the future who are harmed by the tainted nature of everything that comes from this ground. Finally, power generation and other heavy industries spew tons of participants and gases into the atmosphere. We think of this as free, but it’s simply not. The air, the ground, these things are finite resources. To treat them as infinite and able to continually absorb our cheapness is not sustainable.
This doesn’t even begin to look at smaller examples of unsustainability — wasting materials in unnecessary packaging, creating cheaper products which won’t last and are so thrown ‘away’.
The last and worst form of exploitation is of people. Much of the products used by the industrialized world are made by underpaid workers in developing countries who are forced to work for not only low wages but also often under hazardous conditions.
So, a better society would leave inequality in the present alone. This inequality is primarily driven by some people working harder than others. The promise of this inequality is what causes some members of society to drive society as whole forward.
A better society would seek to limit long term inequality, but not directly. It would do so indirectly by avoiding any laws which artificially change costs (ie. no subsidization) and would enact laws to ensure that long term costs are reflected in what must be payed today (ie. pollution and exploitation would incur steep taxation).
With these changes, the market value of items would more closely track their true cost. Organic food would be cheaper than conventionally grown food, which harms the environment as part of its production. Some industries, once no longer propped up by subsidies, would be seen for the unviable train-wrecks that they really are, and would recede into oblivion (or at least the small scale fringe of society). The opportunities for exploitation would be dramatically reduced. Being evil would not be nearly as profitable, and while there would be difference between the rich and poor, the magnitude of the difference would much less than it is today. I would contend that to reduce the difference between rich and poor more than this would actually be bad, because it would mean unhinging a person’s effort from their reward, which is precisely why traditional Socialism fails.
There are a number of reasons why anything remotely like these changes will never happen. First, it requires thinking of the world as a whole. It requires that the ground and the people on another continent be thought of as part of one’s own society. As long as these people are outside of one’s society, they can be exploited, treated as being worth less than members of one’s society. Second it requires letting go of the status quo. If the unsubsidized automobile is no longer a viable industry, it means moving from the automobile to new forms of transportation. Third, it requires letting go of the American dream. If the true cost of items means that the average person can no longer afford a house in the suburbs and enough food to make them fat, then people will have to change to different styles of housing and / or resign themselves to only enough food to nourish themselves. People aren’t ready for any of these things.
I’m not a fan of telling others what to do. Everyone should be free to make their own choices. They just shouldn’t be allowed to make choices that negatively impact others without reaping the consequences themselves. That this is so easy is the real injustice of our society.