Showing posts with label ecosystem. Show all posts
Showing posts with label ecosystem. Show all posts

Tuesday, December 21, 2021

Moving fast and going far are not the same thing

There is an old saying: If you want to go fast, go alone; if you want to go far, go in a group.

One significant difference between Apple and Microsoft is that Apple manages product lines and Microsoft manages an ecosystem. This difference is significant. Apple is, essentially, moving alone. It can (now) design its own hardware and software. Apple does still need raw materials, fabrication for its chips, manufacture of its cases and boxes, and assembly of components into finished goods. But Apple deals with two types of entities: suppliers (the companies that supply raw materials, chips, etc.) and customers (the people and companies that purchase computers and services).

Microsoft, in contrast, lives in an ecosystem that includes suppliers, PC manufacturers, developers, and customers (both individual and organizational). While Microsoft does design its Surface tablets and laptops, those tablets and laptops are a small part of the larger market. The laptops and desktops made by Dell, Lenovo, HP, and others are a large portion of the market.

Apple can move quickly, changing its processors from Intel to Apple-designed ARM in less than two years. Microsoft, on the other hand, must move more cautiously. It cannot dictate that Windows will shift from Intel to ARM because Microsoft does not control the manufacturers of PCs.

If Microsoft wants to shift personal computers from the current designs of discrete components to system-on-chip designs (and I believe that they do) then Microsoft must persuade the rest of the ecosystem to move in that direction. Such persuasion is not easy -- PC makers have lots invested in the current designs, and are familiar with gradual changes to improve PCs. For the past three decades, Microsoft has guided PC design through specifications that allow PCs to run Windows, and those specification have changed gradually: faster processors here, faster buss connections there, faster memory at some times, better interfaces to graphics displays at other times. The evolution of personal computers has been a slow, predictable process, with changes that can be absorbed into the manufacturing processes of the PC makers.

The Microsoft "empire" of PC design has been, for all intents and purposes, successful. For thirty years we have benefitted from computers in the office and in the home, and those computers have (for the most part) been usable and reliable.

Apple benefitted from that PC design too. The Intel-based Mac and MacBook computers were designed in the gravity field of Windows. Those Mac computers were Windows PCs, capable of running Windows (and Linux) because they used the same processors, video chips, and buss interfaces as Windows PCs. They had to use those chips; custom chips would be too expensive and risky to make.

Apple has now left that empire. It is free of the "center of gravity" that Windows provides in the market. Apple can now design its own processor, its own video chips, its own memory, its own storage. Apple is free! Free to move in any direction it likes, free to design any computer it wants.

I predict that Apple computers will move in their own direction, away from the standard design for Windows PCs. Each new generation of Apple computers will be less and less "Windows compatible". It will be harder and harder to run Windows (or Linux) on Apple hardware.

Microsoft has a new challenge now. They must answer Apple's latest M1 (and M2) system-on-chip designs. But they cannot upend the ecosystem. Nor can they abandon Intel and shift everything to ARM designs. Apple has leveraged its experience with its 'A' series chips in phones to build the 'M' series chips for computers. Microsoft doesn't have that experience, but it has something Apple doesn't: an ecosystem.

I predict that Microsoft will form alliances with other companies to build system-on-chip designs. Probably with IBM, to leverage virtual machine technology (and patents) and possibly Intel to leverage chip fabrication. (Intel recently announced that it was open to sharing its fabrication plants for non-Intel designs.)

[I hold stock in both Microsoft and IBM. That probably biases my view.]

Microsoft needs to build experience with system-on-chip designs, and alliances can provide that experience. But alliances require time, so I'm not expecting an announcement from Microsoft right away. The first system-on-chip designs may be tablets and simple laptops, possibly competing with Chromebooks. Those first simple laptops may take two years of negotiation, experimentation, design, assembly, and testing before anything is ready for market. (And even then, they may have a few problems.)

I think Microsoft can achieve the goal of system-on-chip designs. I think that they will do it with the combined effort of multiple companies. I think it will take time, and the very first products may be disappointing. But in the long run, I think Microsoft can succeed.

If you want to move fast, go alone; if you want to go far, go in a group.


Tuesday, December 1, 2020

A few minor thoughts on Apple's new M1 processor

Apple has released their new M1 processor and their new Mac and Macbook computer which use the new processor. Apple is quite proud of this achievement (and they have every right to be) and users are impressed with the performance of the M1.

Yet I have some concerns about the new processors.

First, with the new processors and the new Macs, Apple has consistently emphasized performance, but little beyond that. Their demos have featured games and video editing, to show off the performance. The advertising is far from the presentations of yore which listed features and boasted MIPS ratings. (Perhaps video games are the new way to boast processor performance.) Apple's announcement was designed for consumers, not corporate buyers and not technologists and especially not developers. Apple has made their computers faster (and more efficient, so longer battery life) but not necessarily more capable.

Second, Apple's change to proprietary ARM processors (and let's be real, the design is proprietary) fractures the hardware market. Apple equipment is now different from "regular" personal computers. This is not new; Apple used PowerPC processors prior to using Intel processors in 2006. But the new Macs are different enough (and designed with enough security) that other operating systems cannot (and probably will never) be installed on them. Linus Torvalds has commented on the new Macs, and indicated that without Apple's support, Linux will not run on the M1 Macs.

Third, Apple made no announcement of cloud computing. This is not a surprise; Apple has not offered cloud computing and I see nothing to change that in the near future. It is telling that Amazon, not Apple, has announced new offerings of Apple M1 Mac minis in the cloud. Apple seems content to limit their use of cloud computing to iCloud storage, online documents, and Siri. I'm not expecting Apple to offer cloud computing for some time.

Moving beyond Apple, what will other manufacturers (Dell, Lenovo, etc) do? Will they switch to ARM processors?

I expect that they will not -- at least not on their own. Their situation is different. Apple has control over hardware and software. Apple designs the computer (and now, the processor). Apple designs and writes the operating system. Apple builds many of the applications for the Mac. This vertical integration lets Apple switch to a proprietary processor.

Manufacturers for "regular" personal computers rely on Windows, which is designed and written by Microsoft. Microsoft sells some applications, but encourages a large ecosystem of applications. A corresponding shift in the "regular" PC market requires the cooperation Microsoft, hardware manufacturers, and application developers. Such a change is possible, but I think Microsoft has to lead the effort.

Microsoft does provide a hardware specification for running Windows, and they could issue a specification that uses an ARM processor. Such a specification would exist along side the current Intel-based specification, expanding the space for Windows PCs. Microsoft could even design and build their own hardware, much as they did with Surface tablets and laptops.

I expect that Microsoft will support ARM processors (although not Apple's M1 processors) and offer cloud compute services for those processors. They may design a custom ARM processor, as Apple has done, or use a "standard" ARM processor design.

Getting back to Apple, I can see that the new M1 processor gives Apple more control over its market. The "expansion" market of running non-Apple operating systems is, as I see it, terminated with the M1 Macs. Boot Camp is out, Parallels works (but not with virtual machines), and non-Apple operating systems cannot be installed. (Technically that's not quite true. A clever engineer did get the ARM version of Windows to run on an M1 Mac, but only by using QEMU as an intermediary. It wasn't native ARM Windows on the M1 Mac.)

More control may sound good, but it does alienate some folks.

The Linux crowd will move to other hardware. Linux is a small presence in the desktop market, and Apple may not care or notice even. But Linux is a large presence in the developer market, and a decline in developers using Macs may affect Apple.

The Windows crowd has plenty of options for hardware, with more as Microsoft expands Windows to ARM processors. Windows laptops are just as good as Macbooks, and better in some ways, with options for non-glare displays and finger-friendly keyboards. My experience has shown that PC hardware tends to last longer than Apple hardware (especially equipment built after 2010).

I think, in the long run, Apple's move will fragment the market, aligning Apple hardware with Apple operating systems and Apple applications. It will push developers away from Apple hardware, and therefore Apple operating systems and the entire Apple ecosystem. Apple won't die from this, but it will give up some market share. The more noticeable effect will be the separation of processing on Apple and non-Apple platforms. Apple will be in their own world, their own garden of hardware, operating systems, and applications, and they will gradually drift away from mainstream computing.


Sunday, January 8, 2012

Microsoft discovers the need for an ecosystem?

I believe that we have seen a significant change in Microsoft's philosophy in 2011, one that will lead to a number of changes in the software market.

Allow me to point to two events in the past year:

  • The decision to support HTML5 and JavaScript as first-level development tools. This is a big change from the C#-centric world of .NET.
  • The (somewhat quieter) decision to bundle InstallShield LE with Visual Studio, and drop the Microsoft-built install packager. This is also a big change in the "we supply everything" strategy.

These two changes mark a significant shift in Microsoft's strategy. For the past decades (since the introduction of Windows), Microsoft has had a strategy of being the sole source for all Windows-based software. Microsoft was determined to be the dominant supplier in every market, from operating system to office applications, from development applications to business applications.

This "provide everything" strategy has been successful. If you look at a random PC running Windows today, I expect that you will find that it runs Microsoft applications, with possibly a few home-grown applications and possible some applications from Adobe.

Here's a history of the big products in the Windows world:


  • Microsoft made Word the best -- or at the least most popular -- word processor, beating the competition from WordStar, WordPerfect, and every other competitor.
  • Microsoft made Excel the best -- or the most popular -- spreadsheet, winning the battle with Lotus 1-2-3 and defeating smaller competitors like Borland's Sprint.
  • Microsoft's PowerPoint is the standard presentation software for Windows. There are no competitors to speak of.
  • Microsoft's Access (and later, SQL Server) pushed aside all other database engines: dBase, Paradox, Reflex, R:base, dbVista, and others. A few small competitors (like Faircom) exist in niche markets. IBM's DB2 and Oracle's products still exist, but are less "Windows products" and more "Windows implementations" of multi-platform products.
  • Microsoft made Visual Studio the IDE of choice, driving Borland out of the market.
  • Microsoft purchased the SourceSafe product, integrated it with Visual Studio, and made it the dominate version control system for Windows. (Microsoft recently replaced the old SourceSafe product with Team Foundation Server.) Other players exist, but only as a small portion of the market.
  • Microsoft overpowered Netscape, which re-incarnated itself as the open-source Mozilla project. Browsers are conspicuous in their plurality in Windows; no other major application has this status.
  • Microsoft absorbed network functions into Windows. (Remember Novell Netware?)
  • Microsoft absorbed virus-checking into Windows.
  • Microsoft built media capabilities into Windows, eliminating third-party music players and video players.
  • Microsoft developed SilverLight to compete with Adobe Flash, and has rolled out several successful, capable versions. I suspect that they would soon displace Adobe, had it not been for HTML5 trumping both Flash and SilverLight.

I'm charging of abuse of monopoly power, nor of using internal technical information to develop superior products. (Others have raised such issues.) I am looking at the results of Microsoft's actions, regardless of their methods. And the results are these: the Microsoft ecosystem is dying.

Compared to the ecosystem for the Apple iPhone/iPad market, the ecosystem for Microsoft is small. Lots of people, from individual developers to large companies, are developing apps for IOS. In contrast, few folks are building applications for Windows.

Comparing the Windows ecosystem of today against the Windows ecosystem of two decades ago shows the same pattern: fewer developers today.


This is no surprise. The only winning strategy in the commercial market is to become big. One cannot succeed by staying a small company. (Yes, I recognize that there are lots of small companies writing software for Windows. But are they successful? I humbly submit that they have plans to become larger, and are simply waiting for the "right market" or the "right opportunity".)


The problem with the Windows ecosystem is that Microsoft kills any company that becomes too large. (How large is "too large" is defined by Microsoft.) How can one even consider Windows as a long-term environment for a product? You either stay small or become large and get crushed by the Microsoft empire. And there are opportunities in the IOS and Android markets. Developers have noticed the possibilities.

And I think Microsoft has realized this.

The past few years Microsoft has been claiming that they have a large ecosystem; the claim is to impress (or soothe) corporate buyers. But looking at the products on the market and the attendance at Microsoft conferences and fairs (and looking closely at the demographics and not just the numbers) one can see that Microsoft is not winning the hearts of new developers.

I think that the ecosystem has been changing quietly over the past decade (since the introduction of Linux and the original iMac computers). Developers have been moving to the non-Microsoft platforms in response to the expense, the "buy one Microsoft thing and you need another Microsoft thing" dependencies of products, and the threat of competition from Microsoft.

After a decade of quiet changes, the difference is significant. Microsoft recognizes it, and realizes that they need to change.

I expect that Microsoft will change from a "we supply everything" shop and focus on items of strategic importance. Those items will be money-makers and important system components. Here's a plan for Microsoft:
  • Keep Windows, but make significant revisions. Windows is necessary for the Microsoft world. The brand is valuable. Lots of customers are committed to it and are not willing to move to other platforms. But large customers want better security and easier administration, and small customers want lower expenses and easier administration.
  • Keep ActiveDirectory. It competes with LDAP and is easier to administrate.
  • Keep Exchange for large customers. Microsoft must offer a cloud-based e-mail/calendar solution for smaller customers.
  • Keep parts of Microsoft Office. Word and Excel can compete with the Open Office and Libre Office products. Drop PowerPoint. Keep Visio.
  • Keep Visual Studio and C#. Drop Visual Basic. Increase support for F#.
  • Drop Internet Explorer. (It offers no strategic value, and other browsers do not harm Microsoft's web offerings.)
  • Drop IIS. (It offers no strategic value.)
  • Enhance SQL Server and Access (the front-end GUI) to support data in the cloud as well as local data. Provide data in the cloud so that customers need only Access on their hardware.
  • Develop the Microsoft App Store (or whatever they call it) and allow others to sell applications.
  • Develop an update system that updates all apps, not just the Microsoft-supplied programs.
The decision to drop products like Visual Basic, IE, and IIS may strike some as foolish. It may be my personal bias that dictates the decision for VB, but IE and IIS offer no revenue to Microsoft. The need for IE is long gone; the winning strategy is to have superior web applications, not control of the browser. Microsoft would be better focussing their efforts on superior web applications.

One risk of dropping these products is that once customers convert to other products they may see value in non-Microsoft products. By pushing customers to non-Microsoft products, Microsoft legitimizes non-Microsoft solutions. That is a risk that Microsoft must counter by providing superior value in the products it retains in its offerings.

Despite the risks, I think that this is a good direction for Microsoft. By letting non-Microsoft products thrive, Microsoft can restore developers' faith in the Microsoft ecosystem and encourage them to consider it for new projects. I see it as the best way for Microsoft to succeed.