New Technology

Posted: July 21st, 2012 under Opinion.

There is the oddest phenomenon whenever a shiny new technology debuts. I suppose that it has to do with a naive Hollywood education about technology, or our desires for that futuristic breakthrough moment to happen. Whatever the newest thing is, it always seems to be perceived as the magic bullet, the game changer, and us digital wizards and sorceresses will effortlessly create a new world with it.

I see it all the time, some business type, marketer, client, producer, or manager starts spewing the latest hype or tech words that just became mainstream. Everyone wants to be hip, cool, and trendy, I get that. It just seems no one takes the time to consider if a technology is even relevant to them, and how could it satisfy their needs (assuming they even know what their needs are). That is really the core problem, if you are a non-technologist you are completely unequipped to digest and evaluate new tools of the programming trade, of course if you work in any business conferences with employees are needed so having the right equipment from can be great to make this process easier.

If you are a programmer, it is part of our career to stay current on the latest tools of our craft (no matter how rapidly it changes). Whether you received an order from workplace superiors or you were sucked into the media buzz, when you find yourself at the mercy of a new technology you probably have a crazy short timespan to evaluate what you might be married to for your next project.

Learning Curve

Originally “cursing” was supposed to be “implementation time”, but they seem fairly interchangeable to me. The main point is that most of the time we end up in this devilish little trough part of a system. Demos are designed to show what a technology does best, or jump starts programmers with some trivial examples. Then other programmer’s with their one or two week exploration and R&D time for new technology will play with it, and give it a vote of approval without leaving the trough. Often the most important knowledge to attain are the limits and how well it can scale.

If you are looking to build something just like those other things a technology makes easy, knock yourself out. I have seen too many demos with no animated objects, only showing many simple objects, conversely just showing one complicated object, or showing just a tiny one room scene. I will always be interested in pushing the limits; I am all about living on the bleeding edge – creating games previously not possible with vast, expansive, detailed, realistic, and interactive worlds. My goal is to blow your mind, not port something dated to a new platform. That is where technology and magic merge for me; it is the pinnacle of suspension of disbelief.

Project Lifespan

New technology doesn’t make you better at your craft; in fact, you will take a quality and productivity hit until you build up experience. Many engineers out there have a very skeptic view of newest technology craze. They acquired this cynical and distrusting stance because they have been burned in the past. Particularly painful third degree burns from discovering a crippling defect, being lied to or missing documentation, or coding ourselves into a corner when it doesn’t perform as promised. We are all guilty of making assumptions before we have a complete picture. We get our hopes up and get excited about things before we know anything, when all we have seen are the simple demos (I don’t ever trust videos anymore, I want to see a live demo). We manifest this race to take advantage and bridle this new beast and release the next greatest thing to the market. The practical approach is to take your time and run your benchmarks and thoroughly experiment, or build smaller projects first before you go chasing your white whale. Having to de-scope, cut features, or rework a project to optimize after you committed to a path is an unhappy place to be – you can learn a great deal in those struggles, but it is slow, painful, and expensive learning. We are quick to forget that we were previously able to build such beautiful things because we had experience and mastered the technology with which they were built (and perhaps had some time saving infrastructure and mature tools).

Technology isn’t any different from other products that are marketed to consumers. Sometimes technology delivers on its promises, apparently we have light cycles now (I want one so bad) oh, and rail guns. There are also times when there is just shameless hype to sucker investors, companies, and end consumers. luckily some experts call people on their shenanigans. It can be tough to tell the difference. Anyone remember the Segway? ‘There’s talk among tech insiders that it could be bigger than the PC. Kamen says it “will be to the car what the car was to the horse and buggy.”’ CNN lists the Segway between amongst the biggest product misses between New Coke and the Microsoft Zune.
It is one thing for a product to do poorly in the market, let us not forget that sometimes technology still completely fails, and not just a couple annoying bugs in a video game, but horrifying and terrible problems. Toyota’s ‘unintended acceleration’ recall, remember when a simple unit of measure calculation caused us to lose a 125 million dollar NASA project, perhaps the most notable software failures are the ones in the medical field that end up killing people.
Sometimes people just like the attention from having something to talk about, and we end up in quest for ratings mass media hysteria – I will never forget the global apocalyptic predictions of Y2K propaganda.

All technology has a human component. Hype and buzz words aside, let us hypothesize that we do find something better to work with out there. Most people (the ones that don’t build things) seem to forget that there is still a human behind every technology and software program out there. Someone has to write the code, perform the maintenance, as well as assimilate the knowledge and tools required to work with it. There is a very real opportunity cost and time investment to become an expert at something. It is tough to make that investment and commitment. Is it really worth learning something new if it is only 20% more efficient than what you already know? Is the time spent learning this new thing worth the lost development time? When is the next theoretical advance in the same field?

Excitement Over Time

The bar for success can be a moving target. With the onset of new successful technologies, or improvements on existing technology, the bar gets raised. Even when something new comes along and it is worthy, it needs to beat existing technology by (at least perceived) wide enough margin to make it worth adopting (or lower the cost to attain expertise). It also needs to beat future expectations in the same space, why learn tech A when tech B is supposed to be better and it releasing in six months?

The flip side of human technology interface is that real people are the consumers of technology. If a person cannot perceive a difference between two technologies, if the cost is prohibitive or there are other barriers to enter the market, if there is a feeling of looking silly using a new contraption (or doesn’t make you cooler), if it is difficult to learn, or is sufficiently lacking in the “gotta have it” or “this will forever change my life” mentality – if you can’t rationalize owning it, it has no value. If your game isn’t fun, people aren’t going to play it, regardless if it has the hottest technology. If the hottest trend or hip feature to implement doesn’t increase the fun, why waste the time on it? What would make your customers happier; would your audience notice the difference? There is always the looming opportunity cost to consider too, is the time sink for a new technology with an accompanying performance boost worth the content and feature time development lost?

One term that has been ubiquitous in my career thus far is ‘market penetration’. How many people have the technology for the platform, what is the install base? What is the conversion rate to the current version, what is the expected latency before the majority is operating the latest version? Who is driving the updates, is a component of the platform or fueled by games and other 3rd party developers? How often have you installed display driver updates for your computer only because of the carrot dangled in front of you by your latest game purchase?

Aspiration Ability

Personally, I always wonder and constantly evaluate my own abilities and the capabilities of the technology I am using against the aspirations of the project. Sometimes it is a very fuzzy and hard to define the Venn diagram of the three entities until you really know yourself and reach a high caliber of excellence in your medium. Making games is risky and time consuming investment enough as it is without the addition of new and untested technology; however, sometimes being an early adopter can really pay off.

In the past we have seen large technology jumps from new hardware. It was a big deal to go from 8MB of RAM to 16 or 32, or to go from enough processing power for 2D games to 3D games. If Moore’s Law continues to hold and technology continues to get faster and cheaper. Hardware will reach a point where improvements become meaningless to most users (it arguably already is for some). I suspect the newest revolutions will be in software, or if they are hardware related it will be servers or something users do not directly purchase, own, upgrade, or maintain. Peripherals will be ubiquitous; all devices will start to have touch screens, cameras, accelerometers, microphones, etc. I am not sure when, but at some point bandwidth costs will decrease, wireless enabled areas will proliferate, and network speed will summit a critical point where all of our data and processing will be done virtually – personal devices will just be terminals, portals and interfaces to virtual hardware. It would be interesting to see such a world where everyone is operating on the latest generation of always upgraded hardware (no longer having to consider development for a minimum specification machine, libraries and schools having equal technological footing), making technology truly universal.

Reflecting on tends I have seen already in my career, the value of quickly being able to evaluate new things, and the efficiency in which you can master new things, is a critical skill. Furthermore, not only the ability rapidly acquire mastery, but being able to discriminate what technology is worth learning. The rate of new languages, systems, platforms, tools, and interface widgets is only going to increase. Tread carefully when wielding new playthings. I don’t have any great insights here, a keen eye is only developed from enduring some hardships; there is only the universal truth that you can’t believe everything you hear. Hype is lies told to make money, lure investors, and get the word out. No one shows off their warts. Reckless early adopters of new technology often dig their own graves, sooner or later.

I feel like the media, investors, clients, users, and anyone removed from the process of developing technology forget that programmers are humans too, and we have to learn and adapt as well, which has a real cost. Did it matter that PlayStation 3 was the most advanced of the latest consoles when it had the steepest learning curve (and also the most expensive garnering the fewest users)? citation 1*, citation 2*

Lastly, you have to be able to sell this to people; it has to be worth their time and money – and they need be able to notice a comparable difference in your product. The PlayStation had the highest caliber performance, but perhaps it wasn’t a noticeable enough gap from the Xbox to bridge the cost difference. It is even more interesting that the Xbox is as successful as it is in the console contest despite all of its hardware failures. More processing power and memory allows us to create new experiences, but we have certainly created fun, emotion, and captivated audiences with less. A couple more polygons, textures, animated features, shaders, and cycles to calculate AI routines certainly makes games more realistic (and saves some optimization heartache), but it doesn’t necessarily create more fun.

My passion for games is strongly linked to providing people joy, happiness, challenge, and surprises – that is what makes it all worthwhile. Ultimately, technology is just a tool to build, publish, and be a point of sale for our content. I am not sure there has ever been a game that was successful just because it had the best technology. People still purchase board and card games, there is still a strong community and ongoing development in paper and pencil roleplaying games, and table top games have their niche. Your main focus should be creating a compelling and enjoyable experience, the pleasure and delight of your audience takes priority.

Thanks for reading, and remember, we are all in this together.

submit to reddit
Delicious Bookmark this on Delicious


RSS feed for comments on this post. TrackBack URL

Leave a comment