Microsoft's to-do list

Of the current technology titans, I cautiously support Microsoft. In spite of its flailing, an apparent willingness to change makes Microsoft capable of improving computing in ways I care about.

On the off-chance they are open to suggestions, this is my to-do list for Microsoft.

Overall objectives

  1. Acknowledge the shift from top-down to bottom-up IT. Individual users need to find Microsoft appealing,
  2. Play to your strengths. Make Windows on the desktop more appealing for content consumption and creation.
  3. Stop tolerating mediocrity from hardware partners. Push hard to see Windows platforms be the first to debut innovations.
  4. Court developers in new ways. Make developing anything on Windows free and pleasant.
  5. Longer-term: Unify the user's computing experience across all devices. This isn't just consistency of design and user interface motifs. It's continuity of applications. (See PAO.)

1. Individuals make technology choices

Technology decisions are today made by individuals, not departments. Become desirable to individuals while retaining your leverage with IT departments.

  1. Help your allies in IT departments lose this fight with dignity. Focus your server initiatives on being the best at corporate server interoperability across a spectrum of client devices.
  2. Some companies still issue laptops and phones as a perk, in the same way as company cars. You need to convince individuals that Microsoft devices are a Tesla Model S and not a Prius.

At least set your target that high. You need to make average consumers want to use Windows. Trouble is, you've already lost average users and now you're losing even your evangelists. So your focus should be on retaining evangelists and converting more.

1.1. Stop angering customers

Angering customers is a tragedy because it diminishes your efforts to delight them.

  1. Avoid arbitrary software limitations. Limitations come from hardware by necessity. See the section about Windows RT below.
  2. Allow users to make more decisions. It's okay to simplify a basic user interface, but be a force against over-simplification. Color pickers should always provide the full spectrum.

2. Hardware and network steering

Play to your strength on the desktop. Don't allow Apple and Google to narrate how content is created and consumed. They say life is exclusively mobile because that is where they make money. Most honest thinkers know we still spend much of each day at home or at the office and it's more effective and enjoyable to create and even to consume content with full-size high-quality input and output devices (keyboard, mouse, touchpad, touch-screens, gesture control, large displays, high-fidelity audio).

Yes, mobile devices are necessary when you are mobile. Tablets and phones are here to stay and need to be part of your overall strategy, but make them subservient devices (see later section).

The Apple and Google narrative rings true because large form-factor computing has not changed in over ten years. It's boring. Focus on changing that.

2.1. Immersive desktop computing

Make desktop computing sexy. Give desktop computing a reason for being in the modern era. Immersive, high-quality desktop computing should be a primary objective of Microsoft.

  1. Consider renaming desktop computing to shake off preconceptions. Perhaps immersive computing.
  2. Invest heavily in reducing the retail cost of large form-factor high-density displays. Aim for the ASUS 4k PQ321 to be considered entry level on the desktop. You'll need to make up for a decade of lethargy here.
  3. Make Windows excel with large form-factor high-density displays. The scaling capability in Windows 8.1 is a step in the right direction.
  4. Desktop displays should work with touch, but Microsoft should explore Kinect or Leap Motion-style gesture control. But don't lose sight of the keyboard and mouse. Continue to play to these strong suits of desktop computing.
  5. Voice control should be at least as capable as a modern cell phone. The voice control in Windows 8 is a hold over from Windows 7 or earlier.
  6. Every time a user consumes or creates on a mobile device while at home or the office, consider this a failure to correct. Ask yourself: why is my user feeling more appeal from a small screen device when they are near a desktop PC?

That last point is crucial because it's a genuine and shockingly common phenomenon. Every time I see someone tapping on a tablet or phone while sitting at their desktop computer, I shake my head in disgust. Not at the user, but at the complacency of Microsoft and its hardware partners.

2.2. High-bandwidth always-on connectivity

To facilitate a re-realization of the desktop PC as digital hub for personal applications, an effortless, always-on, high-bandwidth path to that PC should be available everywhere.

  1. Apply pressure on network providers of all stripes to return to unlimited connectivity. Rate limits are stifling innovation, especially peer-to-peer, which is where you need to focus.
  2. Support plug-and-play private and secure networks. Acquire or create such a device yourself if needed.
  3. Extend the idea of a HomeGroup to tunnel through public networks and encompass all personal devices in a peer-to-peer mesh. Every device a user owns should know of and directly interact with all others, with no intermediary third-party services.
  4. Don't abandon the notion of home servers (see next section).
  5. Pressure network providers to provide symmetric high-speed connectivity. Upload speed is important for a multi-device personal network.
  6. Desktop PCs should be frugal with wattage. Users should be conditioned to and comfortable with leaving them on 24 hours a day.

2.3. Embrace latent desires for control

Recognize and channel the building fear of control lost to the present-day notion of cloud services. Offer a return to self-control without losing the convenience of the cloud.

Microsoft should be the only titan promoting a decentralized cloud. Don't allow a start-up to steal this thunder.

  1. Support drop-in always-connected network-available encrypted private storage. Network upload speed is paramount, see above.
  2. Support federated backup. Allow users to allocate a portion of their private storage to backup encrypted data from friends and family.
  3. Leverage your old LiveMesh technology as needed to give this a low-effort setup.

2.4. Encourage hardware innovation

Rightly or wrongly, Apple and Google are credited with most modern innovations. Microsoft must internalize these as failures and change accordingly.

Two failures that demand particular revisiting:

  1. Microsoft failed to realize subservient tablet computing as wireless tablet clients. Limited by both technology and vision, the execution of those tablets was awful. Several years of failure to deliver a user interface suitable for the form-factor left Microsoft vulnerable to the iPad. Now Microsoft chases the iPad on the iPad's terms (a stand-alone computing device) despite the valid appeal of the original wireless tablet client concept: tablets should be application terminals, not computers. The question remains unanswered: can someone execute a tablet with a glamorous UI that can avoid adding to the user's device overload, but rather augment their existing arsenal of compute capacity—augment their network?
  2. Microsoft passively permitted, and even facilitated to a degree, the homogenization of displays, wherein the living room's television converged with the computer monitor. This caused a decade or more of stagnation under the "HD" moniker. Apple broke the cycle with the first "retina" branded products. Microsoft's hardware partners are still working to catch up.

This isn't to say that Microsoft is not already encouraging hardware innovation. Nevertheless, it is not difficult to conceive of higher-resolution displays and their appeal. It's not difficult to conceive of Avatar-style tablet computing and the appeal of singular personal application instances adapting to their multiple views.

Ideas are abundant; what Microsoft needs to do is invest in ideas with conviction.

2.4.1. A present-day opportunity

Encourage and take as a first for your platform wireless charging for laptops and tablets. For whatever reason, Qi charging is common in phones but still largely absent for laptops and tablets. Laptops often see usage at two locations—home and an office. In both locations, the user should just drop the laptop on a charging plate.

Make the competition's magnetic power connectors seem quaint.

Wireless display connectors should also be encouraged, making the docking and undocking exercises involve no wires whatsoever.

2.5. Shore up Nokia

The media and potential users should never feel any doubt that Nokia is committed to Windows Phone. Building a Windows Phone user base is taking a long time, but the rug would be pulled if Nokia's will burned out.

  1. Recognize the routine complaint by fans of Android that they would buy the hot new Lumia if only it ran Android. Discover what it is about Android that keeps users stuck and get them unstuck. They want the hardware.
  2. Keep subsidizing Nokia's efforts as long as necessary.

2.6. Pursue the ultra high-end

Eschew the friction of "good enough." Seek hardware innovation opportunities by examining where good enough isn't.

This a broad area, so be thorough with your discovery effort here. Focusing just on my own wishful thinking:

  1. Mainstream deep color.
  2. Aim for lossless compression within the next 10 years.
  3. Eradicate synchronization from multi-device life.

3. First-party hardware

With Surface, Microsoft became a hardware company; it is now possible to buy a Windows computing device with no other brand's logo.

Was this a good idea? Perhaps, since it appears the goal was to spur hardware partners along a path they were reluctant to follow.

Is it still a good idea? Again, perhaps. It's sufficiently good to at least warrant a second generation.

3.1. Get Surface 2 out as soon as possible

Surface Pro is good. Surface RT is bad. Others have covered this well enough, so I will keep it brief.

  1. You should have known better on the naming. Don't allow abominations like "Surface with Windows 8 Pro" to be seen by anyone outside your office. You learned naming simplicity the hard way. Stick with the what you learned: the next generation is just Surface 2 and Surface 2 Pro. This is what your fans already call the next generation, so don't play any games.
  2. Make Surface 2 and Surface 2 Pro both Haswell-powered. Aim to get at least one of these to the thinness of the current Surface RT.
  3. Bring the higher pixel-density display to the low-end model. Across the board, Microsoft should no longer tolerate low DPI in new devices. Low DPI is legacy.

4. Client operating systems

This is your bread and butter. Act like it.

4.1. Retain the desktop

There has been much talk about what to do with Metro (or whatever it's called) and the legacy desktop. Retain the desktop and fold Metro applications into it.

  1. Pay off the chumps who won't allow you to call Metro "Metro." The naming problem causes more pain than you can imagine.
  2. Apply Metro look & feel motifs to all Windows applications. I figure this must be in the works. Nevertheless, Windows 8.1 doesn't move the needle toward a Metro-Desktop fusion. In 2012 a designer named Sputnik8 conceived of a potential Windows 8 Metro-Desktop fusion. It's not perfect, but it's conceptually on-target and demonstrates that an actual Metro-Desktop would be beautiful.
  3. The Windows Task Manager saw an excellent Metro-Desktop redesign:

  1. Yet, most desktop applications retain designs first conceived for Windows 7 or earlier. Apply a consistent motif. Media Player still looks like this in 2013:

  1. Allow users to pull Metro applications onto the desktop. This is especially important in today's multi-monitor configurations and will be similarly important with large displays. For example, I should be able to have the Metro Skype application docked to the side of any display at any edge or as a free-floating window.

4.2. Window management

Review the window managers available for Linux desktops. Plunder good ideas without remorse. Aim to provide the following improvements:

  1. Easily and optionally snap windows to a grid and/or nearby window edges, both in positioning and sizing. Consider dropping in and adapting the layout manager from PowerPoint 2013.
  2. Easily subdivide space with tiled windows. For example, I should be able to quickly pick up three windows and swipe over a space to have them arranged vertically. This could be especially powerful with large screens and gesture-based input. MDI may be over, but that leaves document window management an unsolved problem. The desktop is still bogged down with too much time squandered on window stacking and arranging.
  3. Don't allow windows to steal focus. Ever. Build a notification system if you must.
  4. In general, bring more touch and gesture control to window management on the desktop.

4.3. Own the command prompt

PowerShell was a peculiar diversion. Rather than head further down that route, take a look at exploratory ideas in Unix shells. Replace cmd.exe with something that is cmd-compatible but with features at least equivalent to zsh or Fish Shell.

But Microsoft should go further with command shells.

  1. Render cygwin unnecessary by providing similar functionality out of the box. I'm on the fence about whether the full suite of Unix tools should be provided as-is or with some refreshing. These tools are useful, but they are overdue for a holistic refactoring. Is Microsoft the right group to do so? I'm not sure. But consider new, clearer names at least. And if they are renamed, be sure to provide aliases with legacy names for us old-timers.
  2. Consider how a mouse, touch, voice, and/or gesture interface can affect working with a command prompt. Today's prompts are only now barely scratching the surface of mouse interaction by making key elements mouse-interactive. Think about clicks, drag-and-drop, hand gestures, and so on.
  3. Think about information layout. Consider using some sort of lightweight markup language for making tables or aligning data. Perhaps fixed-width fonts are too valuable to dismiss, but evaluate alternatives anyway.
  4. Borders, colors, gradients, shading, transparency, common controls (progress indicators, prompts), multiple terminals, automatic re-layout on sizing.
  5. Provide a secure remote shell. For the love.

Windows is beaten up by developers for having a substandard command prompt:

And it is. Substandard, that is.

It's time to address that. Recognize that you'll never win over everyone, but invest the time necessary to construct a command prompt that some of us can proudly call one of the best ever. Reduce the matter to one of preference rather than an absolute.

I recently had a friend ask, "Does Windows have something like rsync?" I had to explain that we have Robocopy, but it's a meager facsimile with no remote component to help with partial/incremental synchronization. How embarrassing.

4.4. Holistic review of configuration

Conduct a comprehensive review and consolidation of operating system management and configuration, as suggested in 2008 by your users.

4.5. Rename and unshackle Windows RT

Windows RT might be considered a failed experiment today, but its long term value remains unknown. It will never realize that value, however, if it remains shackled and marginalized.

  1. Remove all limitations from Windows RT. Allow it to build and run desktop applications (see later notes on building software).
  2. Allow it to integrate with corporate environments, by for instance joining Windows domains.
  3. Consider renaming it to just plain Windows. Free of restrictions, combined with the "download and build" application approach described below, Windows RT would no longer be substantially different from other Windows versions. We hardly refer to Ubuntu on ARM as Ubuntu ARM. It's just Ubuntu whether it's on x86 or ARM.

Surface RT is already limited by its hardware. Software limits are punitive and unnecessary. They just anger (potential) users. You can't afford to anger users.

4.6. Expand the Microsoft Signature program

The Microsoft Signature program ensures that new computers are free of unnecessary crapware from third-parties.

Expand this aggressively. Many people hate Windows precisely because your hardware vendors ruin it with offensive junk like Norton Anti-Virus. Either threaten to decertify vendors that don't get on board or help them write decent crapware, er, software.

5. Server operating systems

The server strategy needs to adapt to today's bottom-up technology. Demystify servers. Leverage bottom-up by training laypeople that serving data is just sharing; it's the flip-side of consuming. Be the decentralized cloud company by giving everyday people the tools to serve.

Disintermediate the cloud.

5.1. Hobbyist / developer license

As a short-term or immediate action, create a new tier of Windows Server licensing for hobbyists. A hobbyist should be able to run a legitimate Windows Server license for ~$50. The license should be assigned to a person for use on as many devices as they want. This shouldn't have some crazy marketing name like IT Pro Pack or or whatever. It should just be the hobbyist and developer licence. Plain and simple.

  1. Encourage hobbyists to experiment with Windows Server.
  2. Consider making it just plain free to use Windows Server in a hobbyist capacity.

5.2. Revisit home servers

Increased hardware reliability and better network connectivity allow the plain cloud to be disrupted into a decentralized cloud. Facilitate the pendulum's swing back to control. Build the software to make user's data/content secure by default, shared with clear permissions, and discoverable by friends, family, or anyone according to owner-defined rules. Acquire the nascent players here if needed. Become the corporate sponsor of open source projects in this domain.

5.3. Home application hosts

Consider personal application omnipresence as a long-term goal. This provides consistency, single-state application continuity, and multiple-device harmony by making a multi-device lifestyle appear as if all devices were unified into a single device.

6. Court diverse developers

End the perception that developers who use Windows are .NET developers without exception. This perception—right or wrong—marginalizes Windows.

6.1. Grow open source initiatives

Massively double-down on existing open source initiatives. No, don't make everything you have open source, but increase your interaction with the open source community many-fold. The objective is to convince developers that it is morally and technically acceptable to mix open source with closed-source Windows.

  1. Chip away at lost ground in the server software space. Aim for all major server software to be available on Windows, even those that compete with your offerings. For example, Apache HTTPD 2.4 should be available for Windows. DevOps should feel comfortable deploying more than .NET applications on Windows Servers.
  2. Provide an official package manager for Windows. Like NuGet but with even broader scope. Consider just helping and building on the NuGet project.
  3. Sponsor more open source projects generally.
  4. Consider open sourcing Internet Explorer.
  5. Ship your C++ and C# compilers and build tools with all Windows versions; encourage open source projects to be distributed as ready-to-build source (and as executables, as is commonplace today). Windows today is the odd-ball platform that requires pre-built executables.
  6. As you did with node.js, make Windows a viable option for all development platforms including notoriously challenging ones such as Ruby.

6.2. Provide full Hyper-V on all Windows versions

Today, developers run Windows as a virtual machine. You aren't winning until it's popular to use Windows as the host OS. To that end, all Windows versions (at least all Intel versions) should have full-featured Hyper-V.

6.3. Cut MSDN pricing massively

The image speaks for itself, but to be clear:

  1. This is insane pricing.
  2. $1,200 and then $800 more per year in order to have the privilege of building Windows applications is insane.
  3. Apparently you have to be a corporation or a self-made tycoon in order to develop for Microsoft Office (the $6,200 option).
  4. This is a pricing model you would use if you don't want people to develop for Windows.
  5. I am at a loss for words on the rightmost option. That number is five digits?

You do want developers to develop for Windows, yes? Knock this off. Now. $50 or $100 a year, tops.

7. Email

Often subject to death-threats and eulogies, e-mail should be re-embraced by Microsoft.

  1. Solve the encrypted e-mail problem. Build on the open-source foundation of GPG. Microsoft should become a principal corporate sponsor of the GPG project and bring quality GPG user interfaces to mainstream e-mail platforms such as Thunderbird, Outlook, gmail, outlook.com, and so on.
  2. Support decentralization. Encourage hobbyists to run personal mail servers. Make this part of the decentralized cloud initiative.

Conclusion

That's my to-do list. Or wish list, if you must.

I am just some guy writing a blog. Do with it what you will. But I like Microsoft, so I hope someone is listening.
About this blog