48
Extending Your Extending Your Experience To The Experience To The Office Office Christin Boyd Christin Boyd Microsoft Corporation Microsoft Corporation Anil Dash Anil Dash Six Apart Six Apart 1 BTB015 BTB015

Extending Your Experience to the Office

Embed Size (px)

DESCRIPTION

The Microsoft Office applications are some of the most widely used applications on the planet. Learn how your content and services can reach your users while they work. Topics include: developing to the Office "12" Open XML document format, extending the Office UI, connecting with RSS feeds, and integrating with Web services and data.

Citation preview

Page 1: Extending Your Experience to the Office

Extending Your Extending Your Experience To The OfficeExperience To The Office

Christin BoydChristin BoydMicrosoft CorporationMicrosoft Corporation

Anil DashAnil DashSix ApartSix Apart

1

BTB015BTB015

Page 2: Extending Your Experience to the Office

Why Mix Office With Web Why Mix Office With Web ApplicationsApplications

Preexisting base of 400 million Office usersPreexisting base of 400 million Office usersOffice users Office users want want integrateintegrateion withion with Outlook Outlook; one ; one application for message and time managementapplication for message and time management

Office users would rather Office users would rather analyzeanalyze financial data in financial data in an Excel spreadsheet than on a Web pagean Excel spreadsheet than on a Web page

You can use any server-side technologyYou can use any server-side technologyContinue to build Web apps using Java, JSP, etc.Continue to build Web apps using Java, JSP, etc.

Client and server communicate via Web ServicesClient and server communicate via Web Services

Server components can generate documents for Server components can generate documents for Office apps using new Open XML FormatsOffice apps using new Open XML Formats

Page 3: Extending Your Experience to the Office

Session AgendaSession Agenda

Extending Outlook 2007Extending Outlook 2007

Communicating with Web ServicesCommunicating with Web Services

Extending The Office 2007 User Extending The Office 2007 User InterfaceInterface

Generating Generating Open XML Open XML DocumentsDocuments

Blogs in Business: Six ApartBlogs in Business: Six Apart

Page 4: Extending Your Experience to the Office

Developing For Outlook 2007Developing For Outlook 2007

Developer enhancements to Developer enhancements to Outlook 2007Outlook 2007

Unified object modelUnified object model

Enhanced security and trustworthinessEnhanced security and trustworthiness

Performance improvementsPerformance improvements

New development paradigm with New development paradigm with Form RegionsForm Regions

Page 5: Extending Your Experience to the Office

Form RegionsForm Regions

Form Development in Outlook 2003Form Development in Outlook 2003Forms must be added to Forms Cache (fragile)Forms must be added to Forms Cache (fragile)

Code Behind Forms written in VBScript Code Behind Forms written in VBScript

No integration with Office Add-in modelNo integration with Office Add-in model

Outlook 2007 Introduces Form RegionsOutlook 2007 Introduces Form RegionsRegions are created in Outlook Forms DesignerRegions are created in Outlook Forms Designer

Additive UI enhances Outlook’s built-in or Additive UI enhances Outlook’s built-in or custom formscustom forms

Add-in model simplifies Form development and Add-in model simplifies Form development and deploymentdeployment

Page 6: Extending Your Experience to the Office

Controls For Form RegionsControls For Form Regions

New Outlook controls added to toolboxNew Outlook controls added to toolboxCategory StripCategory Strip

Contact PhotoContact Photo

Electronic Business Card PreviewElectronic Business Card Preview

Scheduling Free/BusyScheduling Free/Busy

InfoBarInfoBar

Date and Time PickersDate and Time Pickers

Controls on Regions are themedControls on Regions are themed

Controls continue to support databinding Controls continue to support databinding

Full event support for ControlsFull event support for Controls

Page 7: Extending Your Experience to the Office

eBay AddeBay Add--inin

7

Page 8: Extending Your Experience to the Office

Code For eBay AddCode For eBay Add--inin

Required Developer Tools and TechniquesRequired Developer Tools and TechniquesOutlook 2007 Forms DesignerOutlook 2007 Forms Designer

Visual Studio 2005Visual Studio 2005

Shared Add-in ProjectShared Add-in ProjectCustom Folder and ItemsCustom Folder and Items

Form RegionsForm Regions

Outlook Object ModelOutlook Object Model

Implemented InterfacesImplemented InterfacesFormRegionStartupFormRegionStartup

IRibbonExensibilityIRibbonExensibility

eBay Web ServiceseBay Web Services

Visual Studio Setup ProjectVisual Studio Setup Project

Page 9: Extending Your Experience to the Office

Web ServicesWeb Services

Standardizes communication protocolsStandardizes communication protocolsDoesn't mandate back-end technologyDoesn't mandate back-end technology

Easy to program with support in Visual StudioEasy to program with support in Visual Studio

Popular Web sites expose Web servicesPopular Web sites expose Web serviceseBayeBay

AmazonAmazon

Banks Banks

Credit Card processing sitesCredit Card processing sites

Page 10: Extending Your Experience to the Office

The Entirely New Office UXThe Entirely New Office UX

The Ribbon

Galleries

Live Preview

Contextual Tools

Quick Access Toolbar

Super Tooltips

Enhanced window frame

KeyTips and Keyboard

Navigation

Streamlined Options

Context Menus

New File Menu

Page 11: Extending Your Experience to the Office

Document GenerationDocument Generation

Your site can generate documents Your site can generate documents on demandon demand

Generate documentGenerate documentss fromfrom live live backend databackend data

Eliminate cut-and-paste from Web pagesEliminate cut-and-paste from Web pages

Provide rich offline experienceProvide rich offline experience

Your Bank'sYour Bank'sWeb siteWeb siteExcelExcel

Spreadsheetwith your account data

Page 12: Extending Your Experience to the Office

Office Documents TodayOffice Documents Today

Documents with Office 2000/XPDocuments with Office 2000/XPFiles stored in proprietary binary formatFiles stored in proprietary binary format

Modified using object model of Office appModified using object model of Office app

Not good for server-side scenariosNot good for server-side scenarios

Documents with Office 2003Documents with Office 2003Better support for server-side scenarios Better support for server-side scenarios with WordML and ExcelMLwith WordML and ExcelML

Requires complex XSLT Requires complex XSLT

Requires use of proprietary schemasRequires use of proprietary schemas

Page 13: Extending Your Experience to the Office

Open File FormatsOpen File Formats

Office is standardizing document formatOffice is standardizing document formatUsing Open XML Format ECMA StandardUsing Open XML Format ECMA Standard

Applies to Word, Excel and PowerPointApplies to Word, Excel and PowerPoint

Standard created with developers in mindStandard created with developers in mind

Developers can read specific parts of a Word or Excel file with a simple XML parser

Developers can read specific parts of a Word or Excel file with a simple XML parser

Developers can read and modify Office documents without requiring Office or using the Office object models

Developers can read and modify Office documents without requiring Office or using the Office object models

Developers can easily replace or remove parts of a document such as the styles, graphics or comments

Developers can easily replace or remove parts of a document such as the styles, graphics or comments

Word Document (ZIP file)Word Document (ZIP file)

Document Properties

Comments

Document Content as WordML

Custom-defined XML

Images / Sounds / Video

Embedded code / macros

Charts

Compatibility?

Microsoft will release patches for Office 2000, Office XP and Office 2003 to open, edit and save files in the new Open XML format

Compatibility?

Microsoft will release patches for Office 2000, Office XP and Office 2003 to open, edit and save files in the new Open XML format

Page 14: Extending Your Experience to the Office

Open XML File FormatsOpen XML File Formats

Macro-FreeMacro-Free Macro-EnabledMacro-Enabled

DocumentDocument TemplateTemplate DocumentDocument TemplateTemplate

docx dotx docm dotm

pptx potx pptm potm

xlsx xltx xlsm xltm

Open Packaging ConventionOpen Packaging Convention

Page 15: Extending Your Experience to the Office

Open XML Format ArchitectureOpen XML Format Architecture

Questionnaire.docx

User viewsingle Office “file”

Developer viewmodular file

Questionnaire.docx

Package

Relationships_rels

Document, Application, Custom Document PropertiesdocProps

Document Partsword / xl /ppt

[Content Types].xml

Custom Defined XML, Macros, …custom fld

Page 16: Extending Your Experience to the Office

Terms And ConceptsTerms And Concepts

PackagePackageHigh level ZIP file packaging all contentHigh level ZIP file packaging all content

PartsPartsThe files stored inside the packageThe files stored inside the package

Most parts are XML – some are bMost parts are XML – some are binary files inary files

Content Types Content Types Each part based on content type definitionEach part based on content type definition

Part-to-content type association verified on openPart-to-content type association verified on open

RelationshipsRelationships Defines relationships between package and partsDefines relationships between package and parts

Defines relationships between parts and partsDefines relationships between parts and parts

Page 17: Extending Your Experience to the Office

WinFX Packaging APIWinFX Packaging API

A component of WinFXA component of WinFXWinFX Software Development Kit (SDK)WinFX Software Development Kit (SDK)

How do you start?How do you start?Add a reference to WindowsBase.dllAdd a reference to WindowsBase.dll

Import System.IO.Packaging namespace Import System.IO.Packaging namespace

Important ClassesImportant ClassesPackagePackage

PackagePartPackagePart

PackageRelationshipPackageRelationship

Page 18: Extending Your Experience to the Office

Document GenerationDocument Generation

19

Page 19: Extending Your Experience to the Office

Server Document AssemblyServer Document AssemblyTechnologies usedTechnologies used

ASP.NET 2.0 as host applicationASP.NET 2.0 as host application

WinFX packaging APIsWinFX packaging APIs

Open XML file formatOpen XML file formatProposed ECMA TC45 standard Proposed ECMA TC45 standard

Open packaging conventionsOpen packaging conventions

SpreadsheetMLSpreadsheetML

Excel 2007Excel 2007

20

Page 20: Extending Your Experience to the Office

Six ApartSix Apart

Anil DashAnil DashCEOCEOSix ApartSix Apart

21

Page 21: Extending Your Experience to the Office

Blogs In BusinessBlogs In BusinessWeb 2.0 You can actually use at workWeb 2.0 You can actually use at work

Anil DashAnil DashSix ApartSix Apart

Page 22: Extending Your Experience to the Office

What We Learn From OfficeWhat We Learn From Office

Established applications can evolveEstablished applications can evolve

There’s cool stuff happening with There’s cool stuff happening with business toolsbusiness tools

Web 2.0 has a lot of growing up to doWeb 2.0 has a lot of growing up to do

Page 23: Extending Your Experience to the Office

Things That Do Not ExistThings That Do Not Exist

Enterprise Mashup Deployment!Enterprise Mashup Deployment!

CRM/ERP/CMS Remix!CRM/ERP/CMS Remix!

Web 2.0 HR Form!Web 2.0 HR Form!

Page 24: Extending Your Experience to the Office

What We WantWhat We Want

Technologies that are cool Technologies that are cool enough to be interesting, enough to be interesting, but practical enough to but practical enough to

actually get deployedactually get deployed

Page 25: Extending Your Experience to the Office

About BlogsAbout Blogs

An immediate way to An immediate way to easily connecteasily connect with the with the

audience you care aboutaudience you care about

Page 26: Extending Your Experience to the Office

About BlogsAbout Blogs

They were for They were for personal usepersonal use first firstYou know, pet picturesYou know, pet pictures

And “I had a cheese sandwich for lunch”And “I had a cheese sandwich for lunch”

……but that’s okay! So was but that’s okay! So was e-maile-mail and and IMIM

You know ‘em: Scoble? Slashdot?You know ‘em: Scoble? Slashdot?

Page 27: Extending Your Experience to the Office

What’s Out ThereWhat’s Out There

Page 28: Extending Your Experience to the Office

And Blogs Have Lots Of And Blogs Have Lots Of Cool Tech!Cool Tech!

MetaWeblog API

TrackBack

Page 29: Extending Your Experience to the Office

But Don’t Be Scared! But Don’t Be Scared! It’s Safe!It’s Safe!

““It’s a revolution!”It’s a revolution!”

No it ain’t.No it ain’t.It’s just a toolIt’s just a tool

Page 30: Extending Your Experience to the Office

Making Blogs BoringMaking Blogs Boring

Page 31: Extending Your Experience to the Office

““Doesn’t Play Well With Doesn’t Play Well With Others”Others”

Blogs have been an islandBlogs have been an islandCouldn’t (or wouldn’t) work with Couldn’t (or wouldn’t) work with authentication, email, enterprise authentication, email, enterprise databasesdatabases

Basically, blog tools have acted like Basically, blog tools have acted like spoiled bratsspoiled brats

We could learn a lot from OfficeWe could learn a lot from OfficePredictability, Reliability, ManageabilityPredictability, Reliability, Manageability

Stamp out antisocial social software!Stamp out antisocial social software!

Page 32: Extending Your Experience to the Office

Let’s Look At The Real WorldLet’s Look At The Real World

If you CC 10 people on an e-mail, you If you CC 10 people on an e-mail, you might get an 80% success ratemight get an 80% success rate

8 people were glad to get that update8 people were glad to get that update

2 people say “Why was I CCed on 2 people say “Why was I CCed on this thing?”this thing?”

And another 2 people say “Why wasn’t And another 2 people say “Why wasn’t I CCed on that thing?”I CCed on that thing?”

This is not how you win friends and This is not how you win friends and influence peopleinfluence people

The real world is ugly!The real world is ugly!

Page 33: Extending Your Experience to the Office

OMG WTF!OMG WTF!

Page 34: Extending Your Experience to the Office

A Real Benefit!A Real Benefit!

Another tool to stamp out Another tool to stamp out e-mail overloade-mail overload

Now, how do we make Now, how do we make the case?the case?

Page 35: Extending Your Experience to the Office

People Don’t Want To People Don’t Want To LearnLearn

(we call this a “constraint” and (we call this a “constraint” and embrace it)embrace it)

Page 36: Extending Your Experience to the Office

People Don’t Want To LearnPeople Don’t Want To Learn

Bob wants his reports as a Word Bob wants his reports as a Word document to look at on Friday. Perioddocument to look at on Friday. Period

If you succeed in deploying blogs, If you succeed in deploying blogs, you’ll have created 100 new RSS feeds you’ll have created 100 new RSS feeds for managers to readfor managers to read

This is a This is a bugbug, not a , not a featurefeature

Good News!Good News! If your company is big If your company is big enough to afford to send you here, you enough to afford to send you here, you already have bloggers in your already have bloggers in your companycompany

Page 37: Extending Your Experience to the Office

Profit From LazinessProfit From Laziness

All great coders are lazyAll great coders are lazy

They want Word docs, give ‘em They want Word docs, give ‘em Word docsWord docs

How ‘bout How ‘bout oneone feed? Full of stuff you feed? Full of stuff you actually give a damn aboutactually give a damn about

If they’re already blogging while at If they’re already blogging while at work, it might as well be work, it might as well be aboutabout work work

Page 38: Extending Your Experience to the Office

The Demo We’re Not DoingThe Demo We’re Not Doing

You know how a blog worksYou know how a blog worksIt’s like e-mail, fill out the form and It’s like e-mail, fill out the form and hit “send”hit “send”

……but regular people are kinda put off but regular people are kinda put off by the by the wordword “blog” “blog”

……or “podcast”or “podcast”

……or “vlogcast”or “vlogcast”

And they already are familiar with them And they already are familiar with them at home anywayat home anyway

Page 39: Extending Your Experience to the Office

So What So What CanCan We Show You? We Show You?

How to win friends and influence How to win friends and influence peoplepeople

Blogging is technology that people Blogging is technology that people actually actually wantwant to useto use

Like instant messagingLike instant messaging

Like e-mailLike e-mail

NotNot like the Enterprise Application that like the Enterprise Application that made you send your team away for a made you send your team away for a week of trainingweek of training

Page 40: Extending Your Experience to the Office

And Let’s Be HonestAnd Let’s Be Honest

It makes you look good!It makes you look good!It’s cheapIt’s cheap

People will actually use itPeople will actually use it

It produces measurable improvements It produces measurable improvements in communicationin communication

The technology is interesting enough that The technology is interesting enough that you won’t want to poke yourself in the eye you won’t want to poke yourself in the eye with a stickwith a stick

Page 41: Extending Your Experience to the Office

Now, The Good StuffNow, The Good Stuff

We’ll post using a We’ll post using a regular blog formregular blog formIt’s as easy as e-mailIt’s as easy as e-mail

Publish custom Word documents that Publish custom Word documents that archive specific postsarchive specific posts

A Word doc of posts in the “important” A Word doc of posts in the “important” categorycategory

Get a feed that is filtered by keywordGet a feed that is filtered by keywordPowered by OpenSearchPowered by OpenSearch

““Just show me mentions of Just show me mentions of SarbOx issues”SarbOx issues”

Page 42: Extending Your Experience to the Office
Page 43: Extending Your Experience to the Office

What Have We Seen?What Have We Seen?

Blogs can give you practical benefitsBlogs can give you practical benefits

You can customize the output to work You can customize the output to work with current behaviorswith current behaviors

The solution isn’t having a million The solution isn’t having a million feeds, it’s just having the one you feeds, it’s just having the one you care aboutcare about

The tools you use to run your business The tools you use to run your business don’t have to technologically boringdon’t have to technologically boring

Page 44: Extending Your Experience to the Office

Why Did You Start Being Why Did You Start Being A Geek?A Geek?

Because it’s funBecause it’s fun

Because you want people to see how Because you want people to see how technology can help themtechnology can help them

Because there’s always something newBecause there’s always something new

Because you’re good at it, and not Because you’re good at it, and not everybody iseverybody is

I love blogs because they give me the I love blogs because they give me the best parts of being a geekbest parts of being a geek

Page 45: Extending Your Experience to the Office

Why Should You Plug Blogs Why Should You Plug Blogs In At Your Office?In At Your Office?

You used to get in trouble for doing You used to get in trouble for doing things this interestingthings this interesting

““Disruptive technology” is not a Disruptive technology” is not a complimentcompliment

Now you can be the hero for doing Now you can be the hero for doing something coolsomething cool

And you won’t want to tear your hair outAnd you won’t want to tear your hair out

Page 46: Extending Your Experience to the Office

SummarySummary

Extending the Web into OfficeExtending the Web into Office2-way communications via Web services2-way communications via Web services

1-way transfer of rich Office documents1-way transfer of rich Office documents

47

Your Bank'sYour Bank'sWeb siteWeb siteExcelExcel SpreadsheeteBay eBay

Web ServicesWeb Services

OutlookOutlook20072007

Page 47: Extending Your Experience to the Office

© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 48: Extending Your Experience to the Office

49