boyko's picture
From boyko rss RSS  subscribe Subscribe

Lessons Learned: Designer/Developer Productivity in Windows Presentation Foundation 



 

 
 
Tags:  mix07  business  decision  designer 
Views:  582
Published:  January 07, 2010
 
0
download

Share plick with friends Share
save to favorite
Report Abuse Report Abuse
 
Related Plicks
No related plicks found
 
More from this user
Facebook, Twitter, Plurk introduce For Jye-Baw

Facebook, Twitter, Plurk introduce For Jye-Baw

From: boyko
Views: 25
Comments: 0

Only A White Collar Criminal Attorney Understands Complex White Collar Laws

Only A White Collar Criminal Attorney Understands Complex White Collar Laws

From: boyko
Views: 294
Comments: 0

ball ar02

ball ar02

From: boyko
Views: 383
Comments: 0

Insurance Vertical Presentation

Insurance Vertical Presentation

From: boyko
Views: 426
Comments: 0

Toshiba satellite t235 s1350 rd 13.3-inch notebook pc - gemini red

Toshiba satellite t235 s1350 rd 13.3-inch notebook pc - gemini red

From: boyko
Views: 79
Comments: 0

Young republican yuppie princess   chardenet - 3 chapters

Young republican yuppie princess chardenet - 3 chapters

From: boyko
Views: 27
Comments: 0

See all 
 
 
 URL:          AddThis Social Bookmark Button
Embed Thin Player: (fits in most blogs)
Embed Full Player :
 
 

Name

Email (will NOT be shown to other users)

 

 
 
Comments: (watch)
 
 
Notes:
 
Slide 2: Lessons Learned: Designer/Developer Productivity in Windows Presentation Foundation Click to edit Master subtitle style Jonathan Russ and Josh Wagoner IdentityMine, Inc.
Slide 3: PLEASE READ (hidden slide) This template is designed for use with Office PowerPoint 2007. The charts and graphics can be edited with PowerPoint 2007, but not with PowerPoint 2003.
Slide 4: Notes (hidden) Some speakers at Microsoft like to use this slide for hidden “notes slides”. Delete it if you don’t want to use it. NEXT: <next slide title>
Slide 5: SPEAKERS, PLEASE READ: Speakers, Please read. Your slides will be formatted BEFORE to this event to ensure consistency in look and feel across presentations and to ensure they meet MS Branding guidelines. Below is a list of the formatting steps that will be applied to your deck. If there are any steps you do NOT want taken, please note these on the “Speaker Comments” slide. Steps to formatting 1. Re-apply template 2. Inclusion of walk-in, branding and title slides 3. Titles and body text within guides for consistency and alignment 4. Consistent font type and style 5. Consistent line spacing, indents and distribution of slide content 6. All titles are title capped, all sub-titles are initial capped 7. Apply template colors to highlighted text, graphics and tables 8. Bullets match template style 9. Microsoft product names meet branding guidelines 10. Spell checking, typos corrected, punctuation correct 11. Consistent slide transition throughout deck 12. Copyright correct on branding slides, handout and notes masters 13. Properties dialog box filled out correctly Creation of new graphics Adding, changing or removing animations Formatting does NOT include
Slide 6: SPEAKERS, PLEASE READ (hidden slide): Speakers, Please read. Your slides will be “archived” AFTER the event. Below is a list of the archiving steps that will be applied to your deck. If there are any steps you do NOT want taken, please note these on the “Speaker Comments” slide. The following steps will be completed to prepare your deck for archiving 14. Remove all notes 15. Remove all hidden slides 16. Remove all reviewers comment notes 17. Walk-in slide moved to the end of the deck 18. All slides in an appendix will be left in the deck unless they are hidden. Hidden slides in the appendix will be deleted. 19. Properties dialog box filled out properly The deck will be posted to the event folder on the following internal Microsoft share: \\showsrus\07_shows\
Slide 7: SPEAKER COMMENT SLIDE (hidden slide):: Speakers, please read the previous two slides and in the box below list any special formatting or archiving instructions you want followed. 1. (Add your special instructions here, if you have any.)
Slide 8: IdentityMine Who are we? User Experience Design and Development WPF We love software
Slide 9: What have we done? IdentityMine
Slide 10: Lessons Learned Real world application design and development has taught us a lot… And we like to share. u
Slide 11: Workflow Design Develop Integrate
Slide 12: Designer True Graphics Designer Microsoft Expression Design, Adobe Illustrator, Macromedia Fireworks, 3D Modeling Tools Owns the design assets
Slide 13: Developer Software Engineer Microsoft Visual Studio 2005 Owns the code
Slide 14: Integrator Part Designer, Part Developer. Coordinator. Microsoft Expression Blend, Microsoft Visual Studio 2005 Owns the XAML
Slide 15: The DynaViz App Jonathan Russ Director of R & D
Slide 16: demo Microsoft Dynamics Sure Step Business Modeler Click to edit Master subtitle style a.k.a., Dynamics Visualization Application a.k.a., DynaViz
Slide 17: Object Lifetime Event handlers keep objects alive WPF registers a Changed handler for DPs of type Freezable Set to null prior to releasing the object MyRect.Fill = null; MyRect = null;
Slide 18: Object Lifetime (continued…) There’s Strength in Weakness Follow the weak event pattern Use weak references
Slide 19: Object Lifetime (still living…) Cache and Re-use Objects
Slide 20: Working with Images Cache Images
Slide 21: Working with Images (continued…) Decode images to their required sizes BitmapImage.DecodePixelWidth BitmapImage.DecodePixelHeight
Slide 22: Keyboard Access Use Commands KeyBinding Best if stored in a common location
Slide 23: Keyboard Navigation Focusability Focusable Property IsTabStop Property
Slide 24: Keyboard Navigation (continued…) Visual Cues FocusVisualStyle Property
Slide 25: Keyboard Navigation (continued…) Control Behaviors IsMouseOver Property IsKeyboardFocusWithin Property
Slide 26: Keyboard Navigation (continued…) Tracking Focus Snoop FocusManager
Slide 27: Blendables™ in DynaViz (from the Essentials Mix) ChromelessWindow ElementSnapshot DragAndDrop OSChecker
Slide 28: Blendables™ in DynaViz (from future mixes) TreeGraph RadialPanel ForceDirectedRadialPanel CommandTextBox EditModeTextBlock
Slide 29: demo Taking XAML Farther SimpleBinding and EvalBinding Click to edit Master subtitle style (available in all Blendables™ mixes)
Slide 30: Accruent Data Visualization Real Estate Performance Management Optimize the impact of real estate on company performance
Slide 31: demo Accruent Click to edit Master subtitle style
Slide 32: Areas of Interest Development Workflow WPF 3D Real-world Data Sources
Slide 33: Team Designers: 1 Integrators: 1 Developers: 1-2
Slide 34: Workflow Designer: Comps. 3D Models. Integrator: Styles. Templates. 2D Animations. Design Integration. Developer: Controls. 3D Interaction Code. Intergration of Data Services. Code Behinds.
Slide 35: Workflow Challanges Feature differences between WPF 2D and 3D Less Designer and Integrator input than other WPF projects
Slide 36: WPF 3D Building 3D applications with WPF can be much easier than other technologies, but… It's still hard.
Slide 37: Developers: Understand 3D Make sure you have a good understand of 3D concepts and terminology. If you don't have the knowledge now, don't be afraid of 3D. Read a book. a
Slide 38: Designers and 3D Designers should be familiar with 3D Modeling tools. ElectricRain's Zam3D Workflow: Export developer friendly models.
Slide 39: Users and 3D Most users are not familiar with navigating 3D UI Contrained movement to allow users easily acclimate to the environment 2D UI to allow user to control 3D world
Slide 40: Developing 3D Interaction Input Events… or lack thereof Hit Testing in 3D
Slide 41: ModelVisual3D ModelVisual3D is the most functional class in 3D Most similar to the 2D Visual class No support for Styles, Templates, Routed Events.
Slide 42: Input Events 3D models do not raise events as 2D controls do No MouseEnter, No MouseExit, No MouseButtonDown, etc.
Slide 43: Hit testing in 3D A UIElement is needed to raise input events. This could be the Viewport3D itself or an element on top of the Viewport3D VisualTreeHelper provides support for hit testing into 3D Models intersected by hit test are returned
Slide 44: Improving Hit Testing Dev Experience We created a hit manager class that handles all hit testing Hit manager dispatches events to the models hit Now we could add event handlers directly to the models when the model is added to scene for a more productive and consistent development model
Slide 45: No ItemsControl in 3D Data in the Accruent application cried out for ItemsControl functionality. List of data objects are returned from most service calls. We leveraged the Blendables™ Brand ItemsContainer3D and Carousel3D controls
Slide 46: demo Carousel3D Building a data bound video carousel entirely in markup. Click to edit Master subtitle style
Slide 47: 2D on 3D 3DTools project on codeplex.com Source released by Microsoft with controls enabling interactive 2D content on 3D The Interactive3DDecorator is the control that sits on top of the Viewport3D in the Accruent application
Slide 48: Performance Avoid TileBrushes whenever possible in your 3D scene When a model with a TileBrush in its material is not visible remove it form the scene RenderOptions.CachingHint attached property
Slide 49: Data Real world data sources can be slow Waiting on data can freeze ambient animations and result in a poor user experience
Slide 50: Dispatcher Dispatcher.Invoke Dispatcher.BeginInvoke Do processing on background threads and update dependency properties
Slide 51: Q&A IdentityMine Team Click to edit Master subtitle style
Slide 52: evaluation Please fill out your eval Click to edit Master subtitle style
Slide 53: © 2007 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.

   
Time on Slide Time on Plick
Slides per Visit Slide Views Views by Location