The features vs functionality dilemma

In 1965, Gordon E. Moore, co-founder of Intel, predicted that the number of transistors on a semi-conductor would double every year over the next decade. In 1975, as the rate of growth slowed, he revised his time frame to every 24 months. Looking back, was his prediction (a.k.a. Moore’s Law) correct? Not quite. Over the past 50 years, the number of transistors on a microchip has doubled approximately every 18 months!

To illustrate why this is significant, consider that the computing power of the Apollo Guidance Computer that helped Apollo 11 travel safety to the moon and back 50 years ago had 1,300 times less processing power than an iPhone 5.

With ever greater computing power available, program designers feel compelled to continually add features and functions to their programs. This, however, creates a challenging dilemma. How do you add functions without sacrificing functionality, especially if the end user’s field of expertise is not computers?

A case in point is fire simulation software. Simulation programs continue to add new features every year, and if the software is designed to be used by techies, that’s probably fine. If it isn’t, however, then the program may become needlessly complicated and complex. Once that happens, people stop using it.

A key consideration, therefore, is not whether you can add a feature, but, rather, will adding the feature make the program more useful to the majority who use it. Once it is determined that a new feature will complement the software program and enhance the user’s experience, the developer then needs to find the best way to integrate it seamlessly and intuitively.

Adding features just because you can is not the best way to develop user-friendly simulation applications. Rather, it’s asking for feedback from the end-user and directing development towards what they really need to help them do their job, not solely what you think they need.

With so many options and price points available, the smart choice for fire simulation software is one that has functions, yes, but also one that maintains its core functionality.

Translate »