Extending the Hands-On Experience Through VEX Robotics Competition
Extending Your Experience to the Office
-
Upload
goodfriday -
Category
Documents
-
view
310 -
download
2
description
Transcript of 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
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
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
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
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
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
eBay AddeBay Add--inin
7
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
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
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
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
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
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
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
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
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
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
Document GenerationDocument Generation
19
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
Six ApartSix Apart
Anil DashAnil DashCEOCEOSix ApartSix Apart
21
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
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
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!
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
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
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?
What’s Out ThereWhat’s Out There
And Blogs Have Lots Of And Blogs Have Lots Of Cool Tech!Cool Tech!
MetaWeblog API
TrackBack
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
Making Blogs BoringMaking Blogs Boring
““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!
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!
OMG WTF!OMG WTF!
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?
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)
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
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
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
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
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
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”
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
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
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
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
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
49