3 ms·
> I disagree then. No one does this anymore. The big tech companies certainly don't. In a way they do. Game development/engine development is more possible fo
by drawkbox 7y ago
> I disagree then. No one does this anymore. The big tech companies certainly don't.
In a way they do. Game development/engine development is more possible for this but it happens in all software, especially widely successful software that must iterate while existing implementations are available along with the new one.
A big tech version might be old verses new reddit using same data store to verify how things work, and allow people to slowly change over and on demand with a url switch. Digg did not do this and alienated everyone famously.
Or when Facebook or others swaps out a new version of the api, the old ones run for a time based on the version switch, as well as apps built that integrate it or libraries used for it.
Or some A/B testing in terms of software flow or usability/presentation.
Or in Unity for instance they had their old GUI available while their new Unity UI was available, allowing people to switch. Same with their animation system to Mecanim animation system, same with their particle systems where they had two. They have to roll all new features in like this over time now that so much is built on the engine.
When you use Unity an example of parallel implementation might be which particle system you use at runtime, maybe both are integrated and you flip between the two to see what looks or works best. Or flipping between legacy animation or Mecanim. We have the ability to switch between ui libraries, particle systems, animation libraries on the fly because of all the different games/implementations we have to support and it is needed and they need to be a baseline support across all apps/games. Same with utilities, they can flip between these systems at runtime to check differences.
Doing parallel implementations can lead to cleaner internals to more easily plug in, and it can prevent the 'version 2' disease of hard cutting over legacy that ends up missing a bunch of features.
- codesushi42 7y agoOf course people use parallel implementations. I was commenting on the methodology. Also you're talking about two different things. There is feature experimentation, then there is development experimentation. Yes, of course you need runtime flags to enable A/B testing. Implementing two implementations for development purposes has nothing to do with that.