Saturday, October 20, 2012

Building Office for Windows RT

AppId is over the quota
AppId is over the quota

Editor’s note: Earlier this year, Steven Sinofsky announced Windows support for ARM processors (Windows on ARM or WOA). His post on the Building Windows 8 blog included the following news about Office:

“WOA includes desktop versions of the new Microsoft Word, Excel, PowerPoint, and OneNote. These new Office applications, codenamed “Office 15”, have been significantly architected for both touch and minimized power/resource consumption, while also being fully-featured for consumers and providing complete document compatibility.”

In the months since that announcement, there has been a great deal of speculation about what we are delivering. David Brodsky, Partner Test Manager and Josh Pollock, Principal Development Manager join Office Next to walk you through what Office for Windows RT is and why it exists; specific optimizations we’ve made (and why most of those will benefit you on other platforms too); what wasn’t possible and the functionality differences that resulted; and finally how to get Office Home & Student 2013 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.

image

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.

image

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:

Touch-enabled; 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.

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.

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.

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.

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.

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.


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 PlaybackCertain 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 RTSearching 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)

Office Home & Student 2013 RT is only available on Windows RT devices and is not sold standalone. The Windows RT devices available at Windows RT General Availability will include preview editions of Word, Excel, PowerPoint, and OneNote. After the final edition of Office Home & Student 2013 RT is released in a customer’s language, their Windows RT device will be automatically updated with the final edition for free via Windows Update (Wi-Fi connection required). Customers can expect to get these updates starting in early November through January depending on their language. We’ll publish the specific update schedule on October 26 on the Office blog.

Developing Office Home & Student 2013 RT has been a ton of work but also great fun. You’ll find Office for Windows RT to be a full-featured member of the Office family. We hope the work we’ve done helps make Office a great part of your Windows RT experience. We can’t wait to see customers put it to use!

- David Brodsky, Partner Test Manager
- Josh Pollock, Principal Development Manager

.


View the original article here

No comments:

Post a Comment