A challenge for any software developer is balancing what it wants, what its customer wants, what potential new customers need in order to buy, and what it can actually deliver. As a mobile platform developer, Infinite Flight works within the same set of challenges. This process doesn't have to be a secret, so we'd like to share it.
"We want X"
This is the phrase we hear the most. Sometimes it's in the context of a carefully worded feature request on our community forum, and sometimes it's a single word. Each customer has a slightly different and customized set of expectations that dictate what they feel they should receive in exchange for their hard-earned buck. This isn't something we take lightly or with a grain of salt. Our customers and community are what makes us what we are. If you build a sub-par product or expect too much of the customer, you'll find you don't have a customer to listen to.
At Infinite Flight, we have two main groups of feature requests; aircraft and non-aircraft. Aircraft requests include types and variants, features (eg gear tilt), liveries, and so on. Non-aircraft requests usually revolve around adding clouds, weather, and 3D buildings. The two categories aren't mutually exclusive. Indeed, sometimes a feature from one category can't be delivered without a feature from the other. In responding to the "we want x" cries, we need to do more to educate our community on what's involved in that statement.
Conversely, you might be wondering if working in one category delays production in another. Well, that depends. We're a small team and there is some overlap in terms of developer resources. Co-founder and CEO, Laura Laban is our lead aircraft developer. If she is working on aircraft models, most of the work on ATC and multiplayer will wait.
What is a rework?
A common misunderstanding when we share a work-in-progress with our community is that a new feature must equal a rework. For clarity, a rework for Infinite Flight is a completely new aircraft model and is the same as building a new aircraft. As standards increase for aircraft quality with more powerful devices and better technology, reworks become necessary to keep our fleet up to date. This is one of the reasons behind our decision to move to a subscription pricing model, as opposed to individual aircraft purchases. The subscription revenue allows us to maintain our fleet, and not make decisions based solely on following the money trail.
By contrast to a rework, we have what is sometimes referred to as a "soft rework" or simply the addition of new features. For example, we released the A320 series of aircraft, followed by a soft rework which brought wing flex, updated landing gear animations, and new liveries. The model quality on the A320 was performing well, so adding features in addition to updates to LOD (Level of Detail) made the most sense. For the adventurous, LOD refers to the level of detail we render at long distances. For example, if you see another aircraft at a half mile away, we don’t need to render things like the pitot tubes and antennae. This gives us fewer things to render, making it render more quickly and use fewer resources.
Developers also factor in the usage of our aircraft on the multiplayer servers. If a certain aircraft is getting a lot of attention but isn't up to current standards, it may be time for a rework. Community engagement and requests are an interesting component to this. At the time I write this blog post, the top 5 aircraft in the air are:
- B777-300ER (9.4%)
- B787-9 (8.7%)
- A320 (7.7%)
- A380-800 (6.1%)
- B787-10 (5.6%)
Stats courtesy of fpltoif.com
These stats are actually in contrast to what we see in our community engagement. This means that either there aren't as many fans of the A330 rework as our social media channels would have us believe, or users simply won't use the A330 until it does get a rework. Either way, our features forum category plays a large part in helping us determine what will keep our current user base interested and engaged.
Forward-compatibility is also something our developers have to take into account. I asked Laura how much this comes into play:
Having aircraft that were released over a span of 6 years coexist on the same system is a challenge. We've gradually updated configuration files to make sure older models are compatible with new features. We did that for lights, camera positions, and so forth.
We will sometimes come across the comment, "... but nobody asked for this airplane." This is a statement I love responding to on social media. The forthcoming A-10 Warthog is a great example. Our military aircraft fans have been waiting patiently and quietly for fighter reworks, and they'll be very pleasantly surprised when the A-10 is released in v18.6; our last release of 2018. But they're not the only consideration here. As it turns out, the A-10 (though badly requiring a rework being one of our oldest in the fleet) was the perfect testing ground for a new feature to Infinite Flight. Sorry though, folks. No spoilers in this post! Suffice to say that this new feature will be a game changer, and will set a new precedent for aircraft moving forward.
Acquisition vs Retention
Retaining users on a subscription model is hugely important. Keep a user waiting too long for their most-requested feature, and you'll lose that user. On the other hand, your product must evolve in order to reach new markets. Taking Infinite Flight into a real-world light training market, for example, won't happen by reworking the A330. What would help are better low-level terrain graphics, and real-world approaches and charts.
The balance between acquisition and retention will continue as we strive to improve flight simulation on a mobile device. To our community we say, thank you. To new friends stopping by for the first time we say, welcome aboard.