Post on 28-Dec-2015
transcript
Managing Development toInspire Innovation and Create Great User ExperiencesBill CrowSeadragon Group Manager, Live LabsMicrosoft Corporation
PDC09-VTL30
Reintroducing Live Labs
> Our Mission:> Advance the state-of-the-art of the
Internet, creating transformative user experiences.
> You may already know our work:> Silverlight Deep Zoom, Photosynth, Deepfish, …
> Everything we do starts with experiments:> Some experiments fail (but we learn.)> Some experiments succeed
(and make our products better.)> In addition to experiments, we ship
code.
Seadragon
Inspire and enabletransformative user experiences
for retrieving and exploring content
regardless of location.
Seadragon
> Silverlight Deep Zoom> Photosynth rendering engine> Seadragon.com> Seadragon Ajax> DeepZoomTools library> Various mobile experiments> Seadragon on Surface> … and more to come.
Deep Zoom in 2010 Winter Olympics
Scott StanfieldCEOVertigo
partner
2010 Winter Olympics
> Feb 12, 2010 in Vancouver, Canada> Photo Gallery experience in Silverlight> Planning for ~50,000 images over 12
days> Custom Silverlight 3 Deep Zoom
“player”> Integration with advertising logic> Support for image attribution> Ratings> Slideshow and Grid mode
Deep Zoom in 2010 Winter Olympics
demo
www.NBCOlympics.com/photos
demo
The Many Faces of Seadragon
> Silverlight Deep Zoom> Seadragon.com> Seadragon Ajax> Photosynth
Creating a Transformative User Experience> The user never waits for the application.
> Retrieve only the content that’s needed.
> Optimize for large data collections.
> Visual illusions to create a “magical”
interface.
> Continuous zoom navigation to never get
lost.
> Interact with the content, not the application.
Retrieve Only the Content That’s Needed
> Each tile is an image file> Each level is a set of
image files in a folder> Each pyramid is a set of
folders with image tiles for each level
> A simple XML file describes the size of the image
> Images can have only some tiles (sparse images)
> Pyramid is 1.4x original size
> 10Mpixels converts in 0.5s
Deep Zoom Image (DZI)
Pyramid, levels, tiles, images
0 1
2 3
5
6 7
4
8 9
10 11
12
Optimize for Large Content Collections
> Thumbnails are packed into shared tiles
> Loading 100’s of images requires loading few tiles
> Patented Morton layout makes adding items O(1)
> No more than one tile per level is not full
> Optimizes rendering by sharing textures
> Storage is roughly one thumbnail per image
Deep Zoom Collections (DZC)Pyramid, levels, tiles, files
The User Never WaitsSoftware should wait for users, not the other way around
> Retrieve content entirely off the main thread.> Use background worker threads.> Download asynchronously when possible.
> Decode images entirely off the main thread.> Use multiple threads whenever possible
> Throttle any required main thread work.> Texture creation, etc.
> Use all the system resources available.
Illusions, Misdirection, and PreparationLike a good magic trick, software should amaze & delight> Introduce new content in gradually.
> Animate with “springs”.> Accelerate decelerate all animation
moves.
> Update the center of the screen first.> Blend across borders where quality
differs.> Anti-alias high contrast edges.> Focus on performance. > Don’t compromise. Ever.
Inspiring InnovationIf you want different results, try something new
> Listen to your users.
> Understand how stuff gets done.
> Make an investment.
> Try some ideas from Live Labs.
Listen to Your UsersThey will lead you, and they will mislead you
> Hear what they say> They are the experts in their requirements.> They have the most experience.> They are motivated to see improvements.
> Hear what they don’t say> Their frame of reference is the current
solution.> They typically are not experts in what’s
possible.> Big innovations or incremental
improvements> Either option may be right … or wrong.
How Stuff Gets DoneThe best laid plans ...
> <Stuff Done> = <Resources> x <Time> x <Efficiency>
> Einstein was right. Everything is relative.
> <Expected Stuff Done> = <All Resources> x <Maximum Available Time> x <Maximum Efficiency>
> <Actual Stuff Done> << <Expected Stuff Done>
> <Stuff Not Done> is often the innovative stuff we had the most passion about doing.
Give Innovation a Helping HandIf you’re not surprised, it’s probably not innovation
> Accept that the stuff you do will invariably be less than what you planned to do.
> Make time in the schedule to work on the stuff you would otherwise never do.
> Innovation comes from passion.> Passion comes from people. > Empower people with goals, resources,
time.> Discover and adapt. Don’t be afraid to
change based on what you discover.
Some Things We Do at Live LabsInspiring innovation isn’t just for research and experiments
> We’re not just “research”. > Our small team delivers production code for
multiple product teams on tight schedules.> SCRUM based Agile development process
> Small teams, clear objectives, short cycles, daily meetings
> We aspire for a 50/50 balance to inspire & enable.> “Out of the Box Week” once a quarter> Work on “new ideas” is scheduled as regular sprint
tasks> We encourage ideas from all team members.
> Most new Seadragon ideas came from individual developers, testers and program managers.
demo
Some New Seadragon Ideas
> Snapdragon> Zoom Panel Prototypes> On Demand Collections> Photo Explorer Investigation
Call to ActionTake these ideas, and put them to work for you
> Try out our applications, services and demos.> Seadragon.com, Seadragon Showcase, Snapdragon,
Photosynth
> Use Seadragon to add some magic to your project.> Silverlight Deep Zoom, Ajax Control Toolkit, Deep Zoom Tools,
…
> Apply Seadragon principles to your own application.> Never block the UI, load progressively, navigate with zoom, …
> Create your own plan to inspire innovation.> Make it an investment priority, create the time and involve
your team.
> Visit our booth; talk with us and take a deeper look.
YOUR FEEDBACK IS IMPORTANT TO US!
Please fill out session evaluation
forms online atMicrosoftPDC.com
Learn More On Channel 9
> Expand your PDC experience through Channel 9
> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses
channel9.msdn.com/learnBuilt by Developers for Developers….
© 2009 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.