Friday, July 28, 2017

Microsoft’s Slow Creep Back into Mobile


This post was also published on TechCrunch.

Despite an early lead with Windows Mobile and Windows CE — and spending billions on Nokia’s mobile business — Microsoft has been on its heels in the mobile device market since the one-two punch of iPhone and Android launching in 2007.

Over the past five years, Microsoft has staked out a strong position in the pro tablet segment with its Surface Pro. Microsoft is aggressively expanding its Surface line into the notebook and desktop segments. The upcoming introduction of x86-compatible ARM chips and the rise of progressive web apps could drive a return to the mobile market for Microsoft.

Microsoft’s foothold in the pro tablet market

Back in 2012, Microsoft entered the tablet market in full force. While the ARM-based Surface RT failed spectacularly in the tablet market due to lack of apps, Microsoft invented a new category of pro tablets that were as powerful as laptops. Microsoft has had a very straightforward play with its pro tablets: set the expectation that a pro tablet can function as a laptop with a powerful processor, keyboard cover, pen support, floating windows and a dock.

It has taken five years for Microsoft to push through here, and it is working. Apple has been chasing Microsoft in the pro tablet category and recently introduced floating windows and a dock for the iPad Pro. The key for Microsoft has been to iterate on its Surface Pro line to maintain a foothold in the mobile device category and slowly gain market share. It’s difficult to compare iPad Pro and Surface Pro sales directly as both Apple and Microsoft don’t break out unit sales by product. In 2014, all iPads outsold Surface Pros 9x. In 2017, that number has dropped to 5x as Surface Pro sales increase and iPad sales decline.

Surface’s expansion into the notebook and desktop market

Over the past 18 months, Microsoft repeated the Surface Pro playbook into every category of Apple’s Mac OS product line. With the Surface Book detachable notebook, Surface Studio desktop and now the Surface Laptop, Microsoft keeps releasing new, innovative features like detachable screens and the innovative Dial input device.

Apple’s Mac OS products have been a low bar to hit for Microsoft, as Apple’s products have been stagnant in recent years. Apple has focused on changing plugs and weird features like the MacBook Pro Touch Bar. Microsoft will keep plugging away with each of these products until it gets to a fifth of Apple’s volume, at which point the products have achieved escape velocity.

Re-entering the light tablet market

Five years after the ill-fated Surface RT flopped, ARM chips are finally powerful enough to run Windows 32-bit x86 apps in emulation. Emulation is a trick Apple has twice used to move customers from Motorola 68K to PowerPC to Intel x86. The apps run a little bit slower, but they run. There are few complaints as vendors recompile popular apps over time into the new processor architecture. It probably took some strong-ARMing from Microsoft to convince Qualcomm to add x86 emulation to ARM chips, but Windows Server ARM support was likely a good trade to enable ARM growth in the data center.

Before re-launching an ARM-based Surface Tablet, Microsoft will likely ship a Surface Book with an ARM chip that runs apps from the Windows Store. Once Surface Laptops and its cheaper kin from Windows OEMs flood the market, Microsoft will have a successful cross-processor apps strategy that encompasses both x86 and ARM chips. At that point, introducing a Surface Tablet will be no surprise. The Surface Tablets will effectively be Pro tablets that run on ARM chips, with Windows S, Microsoft Office and an entire library of Windows Store-vetted 32-bit x86 apps.

Making progressive web apps Windows apps

On mobile, it’s really all about the apps. In previous efforts, Microsoft tried to pay app developers to port to the Windows Phone. It wasn’t a bad strategy considering there is definitely a power law in app usage and there aren’t that many apps needed to reach critical mass. However, it was quite painful to port apps to Windows Mobile 8, which made it hard to entice developers who were battling to get installs on iOS and Android. Microsoft recently finally ended support for Windows Mobile 8.

Google has been pushing progressive web apps that make desktop websites run virtually like native apps on tablets and mobile. Even media-intensive sites such as SoundCloud now provide an HTML experience that is on par with native apps and can downscale to a mobile form factor and include features like ongoing playback through navigation and a clickable sound wave. “Mobile first” apps have fallen by the wayside to what I like to call “mobile also” apps that can be used on desktops, tablets and mobile devices.

Progressive web apps are very easy to turn into Windows 10 Mobile apps, as Windows Universal Apps can simply wrap Microsoft’s new Edge browser. Now Microsoft can get developers to simply wrap their progressive web apps as Windows 10 apps, which is quite easy to do. And Microsoft can easily convince native x86 developers to make sure that their tablet apps can downscale to mobile. What’s the difference, really, between a 6.5” phone and an 8” tablet?

Microsoft can take its time before introducing a Surface Phone. It will take a couple of years to establish Windows 10 S for the ARM-based Surface Laptop, re-introduce an ARM-based Surface Tablet and let OEM’s like the HP x3 be the test ground for the new Windows Mobile. Microsoft knows people aren’t going to rush out and buy a Surface Phone. To Microsoft, it doesn’t matter. They just need a viable toehold that they can grow into market share over time. Don’t think it can happen? They’ve already done it before with the Surface Pro.

Friday, December 16, 2016

Software is Due for a Bundling Event


This post was also published on TechCrunch.

We are approaching a new phase of enterprise software, where every niche of Software-as-a-Service has been filled and cloud companies are being consolidated into larger companies. Markets have a tendency to cycle from bundling to unbundling, and software is due for a bundling event. The cloud, open APIs, next-generation messengers and machine learning are combining to turn the end-user interface to enterprise software into a unified experience.

There have been attempts to do this, ranging from portal servers like Portal Software, to “Enterprise 2.0” collaboration software like Jive Software, to communications platforms like Yammer. However, none of these have stuck pervasively because they only solved one slice of the problem, various backends were difficult to integrate, it was hard to work with people outside of the enterprise and there was no machine learning to sift through all the data on users’ behalf.

In just the past couple of weeks, Microsoft, IBM and Facebook have all launched next-generation collaboration interfaces for enterprises. Slack kickstarted the reboot of Yammer and Chatter a couple of years ago, and now the big guns are back and swinging.

The key shift in these new messengers is the ability to integrate third-party software that can “push” messages with machine learning to help end users get only the data that is relevant. All of this is built on the rapid proliferation of micro services that allow easy access to most systems, including legacy systems. Some of the platforms even allow full integration of micro apps — simple, single-purpose apps that allow employees to quickly perform specific tasks.

The most convenient feature is to allow end users to drive micro flows, where they can complete simple actions such as approving a purchase order. As I wrote previously in TechCrunch, the unique combination of micro flows, micro apps and micro services is enabling a new architecture I call the “micro wave” architecture.

We at Sapho have had the privilege of working with most of these nascent platforms; here are our impressions.

Microsoft Teams

Key strength: Bundled with Office 365.

Pros: Microsoft’s recent foray into this market is a very comprehensive, well thought-out product. The third-party integration is best in class, with tabs that can support fully contained micro apps delivered by third-party systems. The bundling of Skype’s voice and video features is seamless and performs flawlessly, and even integrates into a channel’s conversational flow. The product out of the gate scales 5x in active users per channel past Slack. This really is a new Microsoft: The desktop version of Microsoft Teams uses Electron and Chromium and the product is available at launch on Windows, MacOS, iOS, Android and, of course, Windows Phone.

Cons: The interface is a bit busy; it packs a lot into the messenger frame. Microsoft will likely iterate on this and clean up the interface.

IBM Watson Workspace

Key strength: Cognitive grouping of messages with extraction of summaries and action items.

Pros: Watson Workspace offers the cleanest interface of all of the new messengers. The product is well planned and architected — like you would expect from an IBM technology, it can scale like a hockey stick. IBM has been a leader in bringing cognitive technologies to the enterprise; with Watson Workspace, it targeted one of the most painful aspects of messengers, which is not being able to find information easily. Watson Workspace magically organizes past messages into clusters and even extracts summaries and action items. It really has to be seen to be believed. The product is also free for users to start using, a first for IBM.

Cons: The third-party integration is excellent, but the ability to integrate a micro app into the interface is still coming. IBM does not jump to top of mind for buyers looking for next-generation collaboration tools. However, IBM has a noteworthy footprint with traditional buyers, and leveraging the Watson product line brand is smart, as it is really starting to get traction with buyers look for next-generation software.

Workplace by Facebook

Key strength: Familiar user interface with algorithmic surfacing of content.

Pros: The top benefit of Facebook Workplace is that everyone already knows how to use it. The interface is just like the consumer version of Facebook. Facebook’s magic algorithm that will surface content in a familiar feed. Facebook’s Messenger has been on steroids under the stewardship of David Marcus and Stan Chudnovsky. Facebook supports external team members out of the box, which is one of the main use cases for modern collaboration tools.

Cons: Facebook’s algorithm is tuned to show you what you would like, whether it’s puppy videos or a Donald Trump echo chamber. At work, people really need to be exposed to data they don’t necessarily like. Facebook has historically been blasé about privacy, and supporting enterprise single sign-on does not make the content hosted in Facebook any more secure. Facebook just announced they will support third-party integrations but does not seem to have a sense of urgency to roll out an ecosystem.

Slack

Key strength: First of the second generation, strong SMB usage.

Pros: Slack offers a clean, fun interface and is free to start using. It was the first to the market with a next-generation messenger client with cool features like autodetecting when code is pasted into a channel, and formatting it nicely. The third-party integration is quite good, but there are no plans to integrate micro apps directly into the messenger. Slack is the up-and-comer with a pure-play bottoms-up sales model, while the competition typically sells top-down to enterprise decision makers.

Cons: Slack has not been able to deliver an enterprise-grade product. Every Slack team runs on a distinct Amazon server running PHP and can’t realistically scale past 150 users. Users have to open a separate window and maintain a separate user name and password for every Slack team they work with, which is especially egregious considering that all Slack teams operate under the slack.com domain. C’mon Slack, put the user database in Amazon’s Redis implementation and pass an auth cookie between servers — it’s a one month project! At some point the kumbaya culture has to start delivering; they need to have some frank conversations in the engineering department that will make some millennials sad.

Google

Key strength: Can bundle with G Suite and Hangouts.

Google is the dark horse in this race. Just add persistent chat groups to Hangouts already!

Where it’s all going

Two of the biggest enterprise players, Microsoft and IBM, are gunning for this market now. Microsoft has an edge with Office 365 bundling and IBM has an edge with cognitive computing. Facebook is a new entrant that must overcome enterprise reluctance with its well-known interface and surfacing algorithms. Slack has been sitting on its laurels and now has to catch up with larger companies that are out-executing it. Google entering the market would target primarily the lower end of the SMB market that uses G Suite and would provide further challenges to Slack.

The exciting part of all of these players is that it is very quickly becoming possible to move beyond messaging and reinvent enterprise workflows with a new, modern interface. At large enterprises, in particular, this is sorely needed as workers become overwhelmed with information and stuck on old legacy software. Onward!

Sunday, September 11, 2016

Why App Development is Going Micro


This post was also published on TechCrunch.

Application development has long been fraught with peril: Projects become bloated, expensive and never ship. Implementation technologies tend to match the bloat, ranging from Service Oriented Architecture (SOA) to Business Process Management (BPM). As Redpoint’s Tomasz Tunguz recently pointed out, growth in Software-as-a-Service is slowing, and a next generation of applications will weave new workflows across existing applications in novel ways

The “micro wave” of services, apps and flows

The “micro” trend in application development is focused on delivering bottoms-up, simple solutions to complex problems. Micro services can easily integrate multiple systems, micro apps can present them as easy-to-consume user interfaces and micro flows allow users to simply complete tasks across systems. This “micro wave” triad of services, apps and flows offers a new way to weave existing systems in novel, organic ways in order to deliver solutions immediately.

Micro services

Interoperability between apps has long been the holy grail of application development. Heavyweight, top-down architectures such as CORBA/IIOP in the 1990s evolved into SOA in the 2000s. Implementing a SOA required enterprise-wide mandates and coordination. Payload standards such as SOAP are heavyweight and fraught with incompatibilities, especially at the authentication layer.

A few companies such as GE have had the discipline to implement a SOA, but for most enterprises, SOA projects have failed to gain widespread adoption. Even after success, the constant divestitures and acquisitions of the corporate world keep SOAs a moving target.

Over the past few years, micro services have become vogue. Micro services are atomic, self-contained services that perform a single operation on a back-end system, such as a retrieving a customer record. The most common interface to a micro service is the well-known and very straightforward JSON/REST/HTTPS paradigm. Authentication is also straightforward and is typically easy-to-use API keys.

The beauty of micro services is that they are incredibly easy to create, deploy and share. New and existing applications can easily call numerous external and internal micro services. Naysayers correctly point out the micro services can too easily propagate like mushrooms, fail to scale and are hard to share and discover. However, these are problems that should be corralled by policy within an enterprise, rather than heavy-handed technology.

Making it easy for apps to organically communicate with each other has spawned a new generation of app creation and delivery that has made it far easier for both enterprises and software vendors to accelerate a new generation of applications.

Micro apps

Since the introduction of iOS and Android app stores in 2008, mobile apps have taken over as many consumers’ primary interface to computing. With the plethora of apps available, it is so difficult to attract consumers to install an app on their device and keep using it. It is therefore very common for vendors to pile a bunch of features into their apps so they can retain existing users with new functionality, as well as attract more users. As a result, native apps are becoming increasingly bloated and hard to navigate.

A new wave of “micro apps” is emerging that are intelligent and context-aware. Platforms supporting micro apps range from interactive Slack and Facebook Messenger bots to Google’s interactive answer boxes, such as weather and flights. These micro apps are typically single purpose and use a combination of straightforward user interfaces and context.

Facebook Messenger’s micro apps are composed of rich bubbles and menus

Micro apps are based on HTML and load dynamically, typically bypassing app stores and loading directly into existing communication tools like Slack and Facebook Messenger. There is definitely pushback to the natural language aspect of “bots.” However, the ability to quickly load interactive micro apps directly into messengers and even search results is quickly gaining traction. Facebook Messenger, in particular, is quickly integrating new features, such as dynamic menus and interactive units, which can do anything, from helping you buy a shirt to ordering a pizza.

Slack’s director of developer relations, Amit Shevat, sums up micro apps very well: “they must do one thing really well.”

Micro flows

Business Process Management (BPM) tools help organizations implement top-down automation of business processes. They are typically very expensive and take a long time to deploy. BPM tools manage long-lived workflows requiring a combination of human interaction and machine-to-machine transfers.

The first foray into micro flows were by companies like IFTTT and Zapier, which move data from one machine to another — for example, moving a Salesforce closed deal to Zendesk. While these services are popular, they have hit an upper bound in traction and revenue. New companies such as Workato are extending machine-to-machine workflows between SaaS systems, but they are very similar in complexity to BPM solutions, with a domain-specific language suited for programmers.

A micro flow in Slack

The new potential for micro flows is in the arena of human-to-machine interaction. Now that messenger platforms like Slack and Skype provide rich, interactive HTML that lets users interact with back-end systems, there is an opportunity to reinvent how users interact with enterprise software.

With micro flows, users can bypass complex and unwieldy legacy systems to perform simple actions, such as approvals. One of the biggest complaints of modern workers, particularly younger workers, is the difficulty interacting with legacy IT systems that have not been upgraded in years. Much like Generation X workers wondering why there were so many typewriters around, millennials are perplexed by the unnecessarily complicated and antiquated systems at most Global 2000 companies.

Even executives and managers can benefit from micro flows for the multitude of approvals that generally require logging into systems they only occasionally use. Many companies have multiple systems for functions such as expenses. Although IT may have a long-term plan to consolidate systems, micro flows allow executives to interact easily with multiple systems through a single interface.

Because micro flows typically require some type of interaction with a user, they can leverage notification features in mobile devices and messengers. Such simple, easy-to-use micro flows make it easy to fully integrate contributors into a more macro workflow.

Onward to a “micro wave” future

The combination of micro services, micro apps and micro flows build on each other to deliver a new paradigm for delivering the next generation of apps. Hopefully we can learn from the lessons of the past and not try to “grow up” the micro revolution.

Monday, April 18, 2016

Facebook Messenger’s ‘Rich Bubbles’ Make Dumb Bots Usable


This post was also published in VentureBeat.

In the week since its launch, Facebook Messenger’s bot platform has seen a litany of complaints, with users arguing that it is tedious and unusable. The reality underlying the feedback is that natural language processing isn’t ready for prime time. The techies at Facebook Messenger clearly recognize this fact and have a few tricks up their sleeve that are very old school and reminiscent of the simplified HTML in Facebook’s app platform from almost a decade ago.

Chatting with bots just doesn’t work

Artificial intelligence experts are indeed pursuing systems that pose as humans and can pass the Turing test, but companies attempting to sell flowers or airline tickets are fast realizing that even specialized bots are incredibly difficult to create. The bot platforms are providing tools like Facebook’s wit.ai and Microsoft’s cognitive services to make creating interactive bots easier, but it is going to take years for these specialized bots to become truly interactive.

Even if that interactivity problem were fixed, it is still incredibly tedious to go back and forth with a bot to do anything even somewhat complicated such as purchasing a plane ticket. Using such as simple interface is reminiscent of calling an airline and having to use their TellMe voice recognition systems to go over every detail of a flight.

Slack, one of the first in the generation of bot platform, relies on “Slash” commands reminiscent of DOS command prompt. Yes, if you learn the syntax, it works, but how many people are going to bother mastering the syntax?

Some evangelists in the bot space are saying that at some point humans will have to take over a conversation in order to complete a transaction, which is quite silly when apps and websites have already made it so that you can perform all of these activities without engaging a human.

Facebook Messenger bots will soon look a lot like Google’s answer cards

Facebook Messenger is bypassing the uncomprehending bot problem by providing “rich bubbles” that provide interactivity directly within the messenger. Most in the industry call the equivalent functionality “cards” – small interactive units where users can make choices, swipe for more information, and click or tap on actions. Google made cards pervasive years ago by putting them directly below search queries such as “san francisco weather” and “flights from sf to la”.

So while the Facebook Messenger bubbles are still quite clunky, their evolutionary path has been well trodden by Google: interpret a textual query and provide an interactive unit in response.

Above: Left, Facebook Messenger’s weather bot, Poncho, in action; right, Google’s response to a weather search.

The chat interface offers iterative interactivity

However due to its chat interface rather than search, Facebook Messenger can provide an iterative experience with interactive cards that can quickly get a user to the answer or service that they want. This iterative experience is actually quite novel and useful.

Facebook Messenger is still a very nascent experience. The conversational interface is unusable and will likely remain so for the foreseeable future. However, the “rich bubbles” are well set up to provide an interactive, iterative way to help users find the information they need.

Facebook will likely expand this functionality to full Micro Apps that can load into the Messenger, with games delivered via React Native and apps delivered in this new HTML subset reminiscent of the FBML language Facebook used in its initial platform. All in all, this is an exciting development with far reaching implications for developers that are getting lost in the Apple iTunes and Google Play app stores.

Sunday, April 03, 2016

How Google’s AI Paved the Way for the Next Generation of Bots


This post was also published in VentureBeat.

Bots are fast becoming all the rage in tech, offering users the ability to use a messaging app to type in simple English requests to services like Uber. The user interface is just like texting a friend, and it’s far simpler to enter a message than to download and use a clunky native app.

As more bots and bot platforms like Slack emerge, it’s interesting to note that Google has spent almost 20 years perfecting how to respond to a text query. Today’s bots have a lot to learn from Google’s lessons in natural language interpretation, artificial intelligence, and user interface.

The quintessential example of a bot is ordering an Uber on Slack, which is relatively straightforward since Slack on mobile knows where you are. However, most current bots quickly devolve into endless back and forth. For example, picking an airline flight via text is about as tedious as using an airline voice response system.

Messaging back and forth with a bot is tedious

Perhaps eventually bots will become smart enough to know exactly what you want when you ask for a flight from SFO to JFK, but we are a long, long way from them knowing whether you are traveling for business or pleasure, if you need a different airport this time versus last time due to meetings, or if you want to fly a particular airline to round out an elite mileage tier.

How Google led the way with less text

Google has long been the master of returning the most relevant research to a textual query. Seven years ago, it began interpreting the intent of queries and returning cards with answers to queries above search results. Over the years, Google’s cards have evolved into highly interactive apps covering everything from weather to music, lyrics, and flights.

Google understands shorthand English like “flights from SF to LA” and returns interactive cards in the search results. An interactive card is a much more efficient user interface than messaging back and forth with a bot. We want to send text, but the last thing we want back is more text.

Google’s interactive card apps

Clicking on the “show flights” button in the card or on the “Flights” tab takes the user to a full-screen, fully interactive micro app capable of directing the user all the way through a flight purchase. Bots will likely soon move to this methodology of using a full-screen micro app for more complex interactions.

To drive the point home that text-only interaction sucks, a few years ago Google killed its SMS search product after its interactive cards and micro apps became fully entrenched in smartphones.

Choosing the right medium for the message

Much like people wait until they are using a computer to write a document rather than attempting to do it on a phone, natural language bots are suited to different tasks in different contexts. When using a voice-only interface, interactions are generally limited to simple questions and answers. When typing into a smartphone, a more complex query can return a more sophisticated interactive card or micro app.

Here’s a brief layout of examples for each interaction option:

The emerging bot platforms need to become micro app platforms

So what does this all mean for messaging platforms such as Slack and Facebook Messenger that are supporting bots? Looking at Google’s path, they will soon need to augment their APIs so that card apps and even micro apps can flourish within their platforms.

Supporting card apps and micro apps will require a new generation of lightweight HTML APIs like Google’s card API. Ironically, Facebook has killed off its FBML (Facebook Markup Language) platform, but perhaps React.js will be able to fill its shoes. Users are tired of bloated native apps, with an overwhelming number of features, and this is a great opportunity for lightweight, HTML-oriented apps to be dynamically loaded in real time.

Google also responds to simple queries before they’re even complete, another feature that messaging platforms will likely soon add.

Google’s search now answers some queries while you’re typing

And with some queries, bots should answer your question before you even submit it, as Google now does in Chrome for some queries like the weather and stock quotes.

Longer term, bots should message you when something of particular interest to you happens. Right now, bots are quite verbose and spit out everything that happens in a source system like Salesforce or Github.

Again, we can learn from Google, whose Google Now proactively sends you push notifications and interactive cards apps based on your context and interests.

Google will likely integrate a similar experience into its messenger Hangouts, and as O’Reilly’s Alistair Croll notes, Google is also integrating intelligent card apps and micro apps into its Inbox email product.

An emerging platform war for developers

After nearly a decade of iOS and Android apps, it’s great to have an opportunity to revisit how to invoke app-like functionality and also to slim down an app based on a query and user context. In the enterprise, users will likely come to expect that all of their enterprise tools are queryable and offer proactive, interactive cards and micro apps.

The value of bots for the enterprise user is only just becoming clear. Enterprise bots will likely be used to augment intelligence in the context of conversations, push relevant information to employees, and optimize workflows.

Google has a big lead in responding to text queries, but Microsoft has already announced a bot API for Skype, and new players like Slack are emerging. All in all, this will be a fun show — we haven’t had a developer platform war in almost a decade!

Saturday, February 13, 2016

Bits are Beating Atoms: The Google, Facebook, Apple and Amazon Shuffle


This post was also published in VentureBeat.

Google, Apple, Facebook, and Amazon have been dubbed the four horsemen of the tech industry. They are the biggest consumer companies and dominate the discussion through new initiatives such as drones and acquisitions such as Oculus.

As our current tech era has evolved, Apple has led the pile with a huge market capitalization, and Facebook was the newcomer with the smallest market cap.

In the past few weeks, however, Apple’s phenomenal iPhone sales have finally slowed and Amazon’s endless losses have finally caught up with it. In the meantime, Facebook has blown past Wall Street expectations and Google is continually growing despite its per click revenue dropping. Google and Facebook are weathering the recent tech doldrums better than their peers.

It all makes sense from a macro perspective: It’s far easier for Google to get you to do another search and Facebook to get you to look at another photo than it is for Apple to sell you another iPhone or Amazon to get you to purchase more merchandise. As the adage goes, with Google and Facebook, you’re the product, and advertisers are paying your way.

The marginal cost of revenue of a software company is far lower than a hardware or commerce company. Amazon is attempting to extract more efficiency by owning its own shipping and aircraft. Apple is continually optimizing its supply chain. However, increasing efficiencies in atoms can never catch up with bits; software is in fact eating the world.

Bill Gurley of Benchmark thinks that perhaps Amazon may have disintermediated Google since many people buy everything they need from Amazon. However, no one is looking for movie show times, restaurant recommendations, plane tickets, and many other services on Amazon. Google still has plenty of dry powder to grow, especially in a macro economic environment where consumers are choosing services over goods.

During the dot com era, the “four horsemen” were business-oriented Sun, Oracle, Netscape, and Cisco that sold the picks and shovels that fueled the dot com gold rush. A dark horse to consider in the current race to the top is business-focused Microsoft, which now has a market capitalization approaching Google and Apple. Microsoft’s shift away from Windows and into device-independent subscription services such as email, Microsoft Office, and Dynamics has been very successful.

It is incredibly difficult to keep moving more atoms at a massive scale. Google and Facebook’s bits are virtually free of earthly bounds, while Apple and Amazon’s atoms are increasingly shackled by reality.