Modularity vs. Integration in System Design
One of the persistent tensions in tech product development (as well as regulation and science) pits modularity against integration. Each has benefits, so there’s an ongoing discussion about the arguments for going fully modular vs. fully integrated. So let’s look at these factors in a real-world context.
Benefits of Modularity
Software engineers design code in accordance with the chief benefit of modularity, the ability to re-use blocks of code in future systems. Similarly, we tend to look for modules of usable code we can incorporate in current projects because who wants to reinvent the wheel.
The more times a code module is used, the more experience we get with its potential bugs as well as its possible improvements. Popular modules tend to grow over time, but periodically they’re refactored to reduce size, complexity, and overhead. So it’s good to incorporate pre-existing modules into your project and it’s neighborly to contribute new ones.
Benefits of Integration
Chiefly, integrated systems are faster than modular ones. There tends to be great deal of overhead in very general solutions because they have to function well in so many different situations.
So when we need to make a system – or a frequently used function in a system – very fast, we write it from scratch. We also structure the data used by the system in such a way that it can be processed very rapidly. This goes for both bulk performance of things like database lookups as well as quick response for simple things like mouse movements.
Integration can also be used to enhance reliability and resilience. Instead of using a common error-handling routine, core functions will include their own error handling to achieve the most rational form of retrying and rebuilding data structures before giving up and failing.
Apple vs. Windows: Case Study in Modularity
Traditionally, Apple and Microsoft displayed the benefits and shortcomings of modularity and integration strategies. While Microsoft Windows is a modular operating system designed to run on a variety of personal computer hardware built by a large group of licensees, Apple’s operating systems only run on Apple’s hardware.
The two companies also differ with respect to specialization. While Microsoft builds one operating system intended to run on everything from consumer electronics devices to high-end PCs, Apple has iOS for small devices and OS X for larger ones.
Microsoft has never made a dent in smartphones because its attempts to shrink Windows to consumer electronics scale have never been satisfying to users. Windows on a phone has always been clunky and slow.
Microsoft Abandons Modularity
While Microsoft has dominated the market for desktop computers, the laptop market has been more friendly to Apple. Apple was able to integrate its hardware with its software and beat Windows-based PCs on important dimensions such as screen quality, weight, battery life, and reliability. This has begun to change, but only because Microsoft has decided to play Apple’s game.
Last Week’s Apple and Microsoft Announcements
Apple and Microsoft announced new laptops last week, and it appears that the Microsoft has closed the gap. While both firms incorporate similar processors, Microsoft’s Surface Book – its first true laptop – not only looks like a Mac PowerBook, it offers a novel feature: you can remove the screen from the base and use it as a tablet.
Microsoft also offers marginally better weight, performance, and battery life. But Apple’s operating system is still better than Windows, so I doubt that the Microsoft look-alike is going to win any converts. And Apple’s new Touch Bar is kinda cute.
Microsoft also introduced its first ever desktop, the Surface Studio, an outrageously big and powerful PC that takes over a product niche that Apple doesn’t fully address. It’s a specialized machine for working with high-end graphics and video applications. Apple’s Mac Pro is still more powerful and expandable, but the Surface Studio has some neat user interaction features and it just looks incredible.
Bottom Line: Integration Works in Mature Markets
If this is the only case we examine, it appears that integration beats modularity in desktop and laptop PCs. Of course, it remains to be seen if the new, highly-integrated PCs will work better and sell better than the traditional modular systems. It could be the case that Microsoft will need to cycle through a few iterations before the benefits emerge. But the company is off to a good start.
Changes in market dynamics might have motivated Microsoft to pivot from its software-oriented past to the integrated PCs of the future. The PC market is no longer growing as consumer attention has shifted from traditional PCs to smartphones, tablets, gaming systems, automotive infotainment systems, and the like. But PCs are still vital platforms for business, and especially critical for software developers.
By capturing some of the profits from hardware sales to supplement its software revenues, Microsoft ensures that it will able to support and enhance Windows going forward. It will be especially interesting to see if Microsoft produces a smaller, faster, leaner Windows just for its hardware. Dropping all the fluff needed for compatibility might lead to a better Windows.
Next time, I’ll look at modularity vs. integration in the corporate merger context.