The Birth of Office for Windows RT
Shortly before the January 2011 Consumer Electronics Show (CES), we were asked if we could create a version of Office that would run on reference hardware with an ARM processor. This led to Steve Ballmer’s CES demo of Word and PowerPoint running on ARM. Office for Windows RT was born.
Why Create Office for Windows RT?
In doing research for Office for Windows RT, we spoke to people to understand how they use current, in-market tablets. We wanted to understand what was missing that would make for a more compelling experience. One answer was nearly unanimous – people wanted a complete Office experience; not just a viewer. However, they also wanted a version of Office that was optimized for the tablet form factor – most importantly supporting touch and providing long battery life.
Office Home & Student 2013 RT is Office running on the ARM-processor based Windows RT OS. It is full Office built from the same code base as the other versions of Office, with small changes that were required as a result of differences between Windows 8 and Windows RT. Our goal when starting the Office for Windows RT project was to deliver:
- ARM as a “first class” platform, including the Same look and feel as x86/x64, same level of polish and reliability, full Office feature-set and fidelity and Service parity (e.g., save to SkyDrive, roaming settings, other Windows Live integration, Office.com experience, etc.)
- Stunning battery life (both active and idle), great performance and responsiveness
While we knew we wanted to deliver the same great Office experience across Windows and Windows RT, we also knew that Windows RT gave us an opportunity to optimize the product for the type of devices that would run on this new platform.
Optimizing Office for the Windows RT Platform
The Office Home & Student 2013 RT applications – Word, Excel, OneNote, and PowerPoint run on the desktop on Windows RT. Our highest priority was making sure that customers can successfully do the things that are most important to them when using Office on these Windows RT devices.
When you use the Office applications on Windows RT, you’ll find yourself in a familiar environment that feels just like what you are used to using on other platforms. You may also notice some of the enhancements we made to optimize Office for the Windows RT environment – like automatically enabling touch mode (but if you don’t notice and find that everything just works as you’d expect, that’s okay too).
When you look at the specifications for Windows RT devices, you’ll find that most share some common characteristics:
- Portable with the ability to run on battery for long periods of time;
- Memory capabilities start at about 2GB;
- SSD drives of 16 to 32 GB capacity; and
- Wireless connectivity with some having 3G
We’ve optimized Office for these capabilities. We’ve already described our touch investments in the post “Using the new Office with touch.” In addition to these broad investments in touch, Office applications are enabled for “touch mode” by default, so the touch experience is better out of the box.
Let’s take a look at some of the other improvements we’ve made while developing Office for Windows RT.
Maximizing Battery Life
Battery life is a difficult problem that requires good citizenship from all parts of the system to get the best possible results. A single poorly-performing component, whether hardware, driver, or software can significantly reduce the delivered battery life. In Office Home & Student 2013 RT, we carefully evaluated the impact Office has on the system and then made deep investments to ensure that we met the overall citizenship goals for the platform. For example, ideally Office would have no perceptible user impact at idle. In reality, Office apps need to maintain such things as data freshness which necessarily uses some power. Where we couldn’t remove a feature’s impact on battery, we invested in reducing the extent of that impact. Here are some of the common challenges we addressed.
Software Needs to Let the CPU Sleep
The most actionable thing that drives battery utilization is how often we wake up the CPU to do work, especially when the user is not actively typing, scrolling, etc. CPU power state transitions are expensive. To reduce these transitions, we want to avoid breaking up work across multiple CPU wake ups. Instead, whenever possible, we try to do all the required work at once. We focused on two things to reduce net wake ups: 1) coalesce timers and 2) remove the need for some timers entirely.
The primary mechanism that software uses to ask the system to wake it up is timers. Prior to Windows 8, Windows was not “tickless” meaning you were guaranteed to wake up every ~16 milliseconds. Timers were also often set to wake the process after a specific amount of time or repetitively on a given interval. Windows 8 added new coalescable timers which allow programs to be more battery-life friendly by specifying a range of time to wake up rather than an absolute interval. This allows the system to cluster wake ups with the end result being more CPU sleep time. This extends battery life dramatically.
In Office 2010, there were some situations where applications would wake up the CPU more than 1000 times per minute during idle. With the new Office, we have reduced that by 95% when the user isn’t interacting with the program. Most of the changes are in how Office interacts with the system at a deep level, so you shouldn’t notice any difference. However, there are a few changes that an observant user might notice. One example is the blinking cursor. There is no hardware or operating system support for a blinking cursor so software implements this feature using timers. To minimize the power impact, Office on Windows RT stops blinking the cursor after a few seconds if the user stops interacting with the application. When the user is away, we just show a fixed, non-blinking cursor. This requires no timer and is the best power citizenship option. This is just one example you might notice, and there are several others you won’t notice at all until your battery lasts longer than expected.
Take Advantage of the Hardware
Windows RT is designed to run on ARM System on a Chip (SoC) processors. Unlike a traditional PC where the CPU, graphics card, network adapter, and other systems components are generally all separate pieces, SOC processors combine these components onto a single integrated chip. This improves performance and reduces power consumption. It also guarantees that we can rely on the hardware for expensive operations like playing back videos.
Windows 8 detects this support and takes advantage of it. This is a real benefit to software vendors. For example, in the past, we would write code to detect the level of graphics support delivered by the video card and would write software-based “fallback” code to use when the graphics card in the system did not provide the required capabilities. When using the fallback software-based algorithms, execution cannot be optimized to the extent that can be done when implementing the same algorithm as a dedicated feature of the processor. This impacts both performance and battery life – often dramatically. We’ve taken advantage of these hardware offloads in situations like showing video in PowerPoint. By doing so, we improve the overall battery life of the system.
While the impetus for doing all the work I just described was the desire to deliver great battery life for Office for Windows RT, the fact that it is the same code base as the other Office products means that all users benefit from these changes regardless of what edition of Office they are using.
Using Less Resources When They are Scarce
While running, most programs load or create a great deal of temporary information that is necessary for the program to display information on the screen or to perform other operations. To improve the program’s performance and responsiveness, this information is saved in memory, called caching, so that it can be reused without the overhead of reloading or recalculating. When multiple programs are running the amount of memory available can become limited requiring the operating system to swap out some or all of the program to make that memory available to other programs. This “memory paging” is expensive and can reduce the responsiveness of the system.
Office detects when the user is not actively using the system. When this occurs, Office releases these temporary caches. By having Office determine what memory can most optimally be released rather than relying on operating system memory paging, both Office and the rest of the programs on the system benefit by more effectively utilizing limited memory.
Make Room for the User’s Information
Windows RT systems generally have Solid State Disk (SSD) drives. These drives are fast and battery efficient. However, while the cost per gigabyte continues to decline, these drives are still more expensive that traditional rotational drives. As a result, these drives tend to have smaller capacities. When programs are loaded on today’s large rotational drives that can be over a terabyte in size, most users don’t notice the space used by the program. However, when loaded on a 16GB SSD the operating system and programs can fill a significant portion of the total drive.
While developing Office for Windows RT, we carefully evaluated each feature’s impact on the overall footprint of Office on the drive. For example, rather than including large number of templates and clipart on the drive, we opted to put frequently used templates on the drive while making the more extensive collection available via the start center in Word, Excel, and PowerPoint and also online .
One area that was identified for space savings was language packs. Many OEMs load multiple languages onto the systems they ship. If a user only uses one or two languages, the language resources such as spellers, grammar checkers, and UI strings for the other languages historically have continued to take space on the drive. Office is designed to clean up unused languages packs that are not configured for use by the user. If a user decides later that they want one of the languages that were removed the system will automatically download the required files from Windows Update.
Helping Users Avoid Bill Shock
One of the features we expect to see in many Windows RT systems is cellular network support. A characteristic of these networks is that their use is often metered. That is, users pay for the data they utilize – either some amount of money per megabyte of usage or with a monthly cap and then additional fees if they exceed that cap. As a good citizen on these devices we felt we needed to help users know when they are using a metered cellular network and give them the choice whether or not they want to pay for the usage or not take a particular action. Internally we referred to this as helping users avoid bill shock.
Windows RT provides APIs that allow applications including Office to understand the user’s current network state. We can identify if the cellular network is unrestricted or if usage is metered (the user is paying for their usage), if the user is approaching or over their limit, and whether or not they are roaming. When we detect that the cellular network is metered we throttle network traffic to reduce our impact. When users are roaming or over their cap we inform them and give them the options to turn off network traffic. Ultimately, the user knows best what they are trying to do and whether or not they are willing to pay to do it, so we try to give the user more feedback and control.
Benefits for All
While the work I’ve just described was done to optimize Office for Windows RT, most users will benefit no matter what edition of Office they choose to use. Office automatically determines whether or not the necessary operating system and device support is present to enable these enhancements. The majority of the changes are enabled when Office is running on any edition of Windows 8. Only features such as support for touch or cellular networks require additional hardware support.
Differences between Office for Windows and Office for Windows RT
||Word 2013 RT
Screen shots of the two applications look very similar because the products are very similar by design. Differences between the versions are subtle. Office Home & Student 2013 RT includes the vast majority of Office Home & Student 2013 features available on PCs, and the features customers use most. Windows RT tablets have special requirements for security, reliability, and battery life, and we’ve worked to ensure that the RT version is well-suited for the platform. Beyond the differences listed below, Office for Windows RT is fully-featured Office with complete document compatibility.
- Macros, add-ins, and features that rely on ActiveX controls or 3rd party code such as the PowerPoint Slide Library ActiveX control and Flash Video Playback
- Certain legacy features such as playing older media formats in PowerPoint (upgrade to modern formats and they will play) and editing equations written in Equation Editor 3.0, which was used in older versions of Office (viewing works fine)
- Certain email sending features, since Windows RT does not support Outlook or other desktop mail applications (opening a mail app, such as the mail app that comes with Windows RT devices, and inserting your Office content works fine)
- Creating a Data Model in Excel 2013 RT (PivotTables, QueryTables, Pivot Charts work fine)
- Recording narrations in PowerPoint 2013 RT
- Searching embedded audio/video files, recording audio/video notes, and importing from an attached scanner with OneNote 2013 RT (inserting audio/video notes or scanned images from another program works fine)