The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV...

15
The 2007 Microsoft The 2007 Microsoft Office System: Office System: Developer Model for Developer Model for the New User the New User Interface Interface Andy Cheung Andy Cheung ISV Developer Evangelist ISV Developer Evangelist Microsoft Hong Kong Microsoft Hong Kong

Transcript of The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV...

Page 1: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

The 2007 Microsoft The 2007 Microsoft Office System: Office System: Developer Model for Developer Model for the New User Interfacethe New User Interface

Andy CheungAndy Cheung

ISV Developer EvangelistISV Developer Evangelist

Microsoft Hong KongMicrosoft Hong Kong

Page 2: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

AgendaAgenda

RibbonX RibbonX

Managed Preview HandlerManaged Preview Handler

Custom SmartArt GraphicsCustom SmartArt Graphics

Page 3: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Ribbon Extensibility - “RibbonX”Ribbon Extensibility - “RibbonX”

Developers can modify the RibbonDevelopers can modify the Ribbon

For example: remove tabs, add a tab, add For example: remove tabs, add a tab, add a groupa group

Custom GroupCustom Group

Custom TabCustom Tab

Page 4: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Existing SolutionsExisting Solutions

Custom MenuCustom MenuCustom ButtonsCustom Buttons

on Formatting Toolbaron Formatting Toolbar

Custom ToolbarsCustom Toolbars

Page 5: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Mapping Existing SolutionsMapping Existing Solutions

If your code added a…If your code added a… it appears in…it appears in…

Control to a built-in menuControl to a built-in menu the 'Menu Commands' groupthe 'Menu Commands' group

Control to a built-in toolbarControl to a built-in toolbar the 'Toolbar Commands' the 'Toolbar Commands' groupgroup

Custom toolbarCustom toolbar the ‘Custom Toolbars’ groupthe ‘Custom Toolbars’ group

… … on the Add-Ins Tabon the Add-Ins Tab

Page 6: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Before the 2007 Office SystemBefore the 2007 Office System

Hard to build well-behaved add-insHard to build well-behaved add-ins

Hard to reference built-in controls, imagesHard to reference built-in controls, images

Hard to localizeHard to localize

Nearly impossible to make add-in Nearly impossible to make add-in customizable by end userscustomizable by end users

Easy to have add-in conflictsEasy to have add-in conflicts

Result:Result: UI deteriorates over time UI deteriorates over time

Page 7: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

RibbonX…RibbonX…

Is a consistent, XML-based developer Is a consistent, XML-based developer model model for Microsoft Office UIfor Microsoft Office UI

Produces well-behaved solutions by defaultProduces well-behaved solutions by default

Exposes new control typesExposes new control types

Targets specific developer scenariosTargets specific developer scenarios

Page 8: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

RibbonX ControlsRibbonX Controls

EditBoxesEditBoxes

DialogBoxLaunchersDialogBoxLaunchers

DropDownsDropDowns

ComboBoxesComboBoxes

GalleriesGalleries

Only five controls in Only five controls in Microsoft Office 2003:Microsoft Office 2003:

msoControlButton, msoControlButton, msoControlEdit, msoControlEdit, msoControlPopup, msoControlPopup, msoControlComboBox, msoControlComboBox, msoControlDropdownmsoControlDropdown

Page 9: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

RibbonX MarkupRibbonX Markup

Declarative XMLDeclarative XML

Easy to understand, localize, generateEasy to understand, localize, generate

Separates UI from your business logicSeparates UI from your business logic

Gets applied to UI at add-in or document Gets applied to UI at add-in or document loadload<tab idMso=“TabHome”><tab idMso=“TabHome”>

<group id=“myGroup” label=“My Group”><group id=“myGroup” label=“My Group”><button id=“hw” label=“Hello World!” <button id=“hw” label=“Hello World!”

onAction=“myHelloFunc” />onAction=“myHelloFunc” /></group></group>

</tab></tab>

Page 10: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Doc.Doc.LevelLevel

App.App.LevelLevel

RibbonX Solution SpaceRibbonX Solution Space

Installed at app-level,

UIalways visible

Write a VSTO app-

level solution

Word Global Template

Excel Add-in (.xlam)

PPT Add-in (.ppam)

Installed at app-level, displays UI based on

doc properties

Write a VSTO v3

doc-based solution

Word, Excel, PowerPointdocument

AccessDatabase

COMCOM VBAVBA VSTOVSTO

Page 11: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Features Targeting DevelopersFeatures Targeting Developers

StartFromScratchStartFromScratch

Global repurposingGlobal repurposing

Referencing built-in controls and imagesReferencing built-in controls and images

<ribbon startFromScratch=“true”><ribbon startFromScratch=“true”><!– hides the main tabs --><!– hides the main tabs -->

<command idMso=“Save” onAction=“runMyCode” /><command idMso=“Save” onAction=“runMyCode” /><!- takes over the built-in save action --><!- takes over the built-in save action -->

<button id=“x” imageMso=“Save” label=“Imposter!” /><button id=“x” imageMso=“Save” label=“Imposter!” /><!- “steals” the image of the Save button --> <!- “steals” the image of the Save button -->

Page 12: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

Design GuidelinesDesign Guidelines

UI RegionUI Region Contains…Contains…

File MenuFile Menu Commands external to documentCommands external to document

Main TabsMain Tabs Commands that modify document contentCommands that modify document content

Contextual Contextual TabsTabs Commands specific to built-in objectsCommands specific to built-in objects

Programmable Programmable

Task PanesTask Panes

Typically display data relevant to current Typically display data relevant to current documentdocument

Page 13: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

ResourcesResources

Create Custom SmartArt Graphics For Use Create Custom SmartArt Graphics For Use In The 2007 Office SystemIn The 2007 Office Systemhttp://msdn.microsoft.com/msdnmag/issues/07/02/SmartArt/ http://msdn.microsoft.com/msdnmag/issues/07/02/SmartArt/

Extend The 2007 Office System With Your Extend The 2007 Office System With Your Own Ribbon Tabs And ControlsOwn Ribbon Tabs And Controlshttp://msdn.microsoft.com/msdnmag/issues/07/02/ribbonx/ http://msdn.microsoft.com/msdnmag/issues/07/02/ribbonx/

View Data Your Way With Our Managed View Data Your Way With Our Managed Preview Handler FrameworkPreview Handler Frameworkhttp://msdn.microsoft.com/msdnmag/issues/07/01/http://msdn.microsoft.com/msdnmag/issues/07/01/PreviewHandlers/ PreviewHandlers/

Page 14: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

FREEFREE Hong Kong Technical Support Hong Kong Technical Support NewsgroupNewsgroup

Supported by experienced Microsoft senior Supported by experienced Microsoft senior engineersengineers

Read posts, search for specific topics and Read posts, search for specific topics and post your questions!post your questions!

Get an answer within 2 business days (Mon Get an answer within 2 business days (Mon – Fri)– Fri)

http://www.microsoft.com/hk/community/http://www.microsoft.com/hk/community/newsgroup.mspx newsgroup.mspx

Page 15: The 2007 Microsoft Office System: Developer Model for the New User Interface Andy Cheung ISV Developer Evangelist Microsoft Hong Kong.

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.