I don’t see it that way. Usually the same team is responsible for supporting phone, Mac, iPad, watch, etc. for a software component. Even if your team doesn’t “know” (your manager might) about the vision pro, they could just be told that we are making 3D photos and videos today and craft a file format, and software apparatus for reading / writing same. An engineer might believe it’s for the film industry. Just need VP foresight.
@iollmann @gruber @dunks @asymco . this kind of stuff would be a trade secret if more companies were disciplined, meticulous, and professional about their work. i don’t think that there’s another software system within an order of magnitude of the complexity of macos/ios/etc. there’re systems duct taped together that may look on par, but the deep integration required to acheive certain goals probably doesn’t exist elsewhere. i’d be happy to learn if there are some examples.
@raytraced @gruber @dunks @asymco
Well, if Mac/iPhone/tablet/watch/tvOS is well designed, it will not in fact be complex or necessarily even sophisticated if it can be avoided, but it will feature a huge amount of code reuse and the “separate” platforms can be used to debug / sanity check one another. Less code is more.
@iollmann @gruber @dunks @asymco sometimes you don’t get it perfect on the first try, and then things get messy. for example libdispatch not wrapping callouts with an autorelease pool by default. the opt in default behavior can’t be changed b/c it would break things, even if it would fix a number of current and future memory leaks. libdispatch was a major leap forward in stratifying complexity, but its mass adoption caused many new complications.