240 likes | 395 Views
PDC09-VTL30. Managing Development to Inspire Innovation and Create Great User Experiences. Bill Crow Seadragon Group Manager, Live Labs Microsoft Corporation. Reintroducing Live Labs. Our Mission: Advance the state-of-the-art of the Internet, creating transformative user experiences.
E N D
PDC09-VTL30 Managing Development toInspire Innovation and Create Great User Experiences Bill Crow Seadragon Group Manager, Live Labs Microsoft Corporation
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 enable transformative 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 partner Scott Stanfield CEO Vertigo
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
The Many Faces of Seadragon demo 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
Optimize for Large Content Collections 4 • 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 5 1 9 0 8 3 2 6 11 10 7 12 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.
Some New Seadragon Ideas demo 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 at MicrosoftPDC.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/learn Built by Developers for Developers….