System Design Primer: Learn how to design large-scale systems
It seems like all such resources are about web-scale distributed systems and the content/methods are quite standardized.<p>What about other large-scale systems? E.g. desktop applications - for instance, how to design a large-scale desktop system such as Adobe Photoshop or MS Office.