Five Attempts at Spatializing Code Gina Venolia – Senior Researcher With Rob DeLine, Mary Czerwinski, Brian Meyers, Steve Drucker, George Robertson, Mauro.

Slides:



Advertisements
Similar presentations
Research Methods and Usability Guidelines for Ecommerce Web Sites Mary Czerwinski Microsoft Research Note: Many of these slides came from a Keynote address.
Advertisements

Chapter 11 Designing the User Interface
Cartography Expectations Goals Methods. Expectations Professional Quality Maps  Something you would proudly submit at a job in the real world  Visually.
Cartographic Principles: Map design
L ARGE D ISPLAYS I MPROVE 2 D AND 3 D N AVIGATION By JOHN BELL and TOM PETERKA University of Illinois at Chicago CS 522 Human Computer Interaction Professor.
Systems Analysis and Design 8th Edition
Microsoft Office Illustrated Working with Advanced Tools and Masters.
Business Process Modeling in Microsoft Visio® Interfacing’s BPMN Modeler: Overview.
Small Displays Nicole Arksey Information Visualization December 5, 2005 My new kitty, Erwin.
1 The SF Muni Map Project Maggie Law & Kaichi Sung SIMS 2003 Masters Project.
DENIM: Finding a Tighter Fit with Web Design Practice James Lin, Mark W. Newman, Jason I. Hong, James A. Landay April 6, 2000 CHI 2000, The Hague
CSC 205 Software Engineering I 1 Overview - Cognitive Walkthroughs Brief introduction to Human-Computer Interaction Introduction to Cognitive Walkthroughs.
Comprehensive Building Modeling Presented By: Bariham Hossny Gheith by Larry Rocha
Requirements Analysis Lecture #3 David Andrews
Chapter 13: Designing the User Interface
Gina Venolia A. J. Bernheim Brush Brian R. Meyers James Scott Microsoft Research.
Semantic Scrolling How to navigate structured documents.
Business Process Modeling in Microsoft Visio® Interfacing’s BPMN Modeler: Overview.
Human Interface Engineering1 Main Title, 60 pt., U/L case LS=.8 lines Introduction to Human Interface Engineering NTU Seminar Amy Ma HIE Global Director.
Website Designing Using Ms FrontPage FrontPage 2003 Create a Web site with FrontPage.
Introduction to Interactive Media 02. The Interactive Media Development Process.
Microsoft Office Illustrated Fundamentals
Information Design and Visualization
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
1 DENIM: An Informal Web Site Design Tool Inspired by Observations of Practice CS 376 – Research Topics in HCI 11/01/2005 Tony Tulathimutte.
Human Interactions In Programming Rob DeLine ResearcherHIP Microsoft Corporation.
Introduction to Interactive Media The Interactive Media Development Process.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Resonant Interface HCI Foundations for Interaction Design First Edition.
Q Q Human Computer Interaction – Part 1© 2005 Mohammed Alabdulkareem Human Computer Interaction - 1 Dr. Mohammed Alabdulkareem
May 22, 2007Mohamad Eid Design Chapter 6. May 22, 2007Mohamad Eid Outline Technology Myopia Conceptual Design Physical Design Evaluation Physical Design.
MSR Data Mountain Using Spatial Memory for Data Management Written by: George Roberston, Mary Czerwinski, Kevin Larson, Daniel C. Robbins, David Thiel,
Requirements and Estimation Process From a CMM Level 5 Organization Alan Prosser.
INFORMATION X INFO425: Systems Design Chapter 14 Designing the user interface.
Sakai Tools Designing a User-Centered Sakai Tool Sakai Tools Team Rob Lowden, Daphne Ogle.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The Resonant Interface HCI Foundations for Interaction Design First Edition.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Software Engineering 1 Object-oriented Analysis and Design Chap 22 UML Tools and UML as Blueprint.
“HIP” Tools for Software Development Andrew Begel Human Interactions in Programming Group Microsoft Research Andrew Begel Human Interactions in Programming.
Towards understanding programs through wear-based filtering Robert DeLine Amir Khella Mary Czerwinski George Robertson Microsoft Corporation SoftVis 2005.
Human Computer Interaction
MBAT User Workflows View an Atlas Open Data Upload Data Run a Query –Search Data Further Examination Microarray Data Further Examination of 2D Data –Search.
 A navigational display should serve these four different classes of tasks:  Provide guidance about how to get to a destination  Facilitate planning.
How to Start a Software-Based Project. REQUIREMENTS DESIGN DEVELOPMENT TEST DEMONSTRATE PLANNING.
The Vision Document & Product Management CSSE 371, Software Requirements and Specification Steve Chenoweth, Rose-Hulman Institute September 27, 2004 In.
Overview Prototyping Construction Conceptual design Physical design Generating prototypes Tool support.
The Task Gallery A 3-D Window Manager Presented By - - Priya Shivakumar Developed By – - Microsoft Research George Robertson Daniel Robbins..
44222: Information Systems Development
Information Architecture. Information architecture  Information architecture is the science — some would insist art — of defining the design of organization.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
CHAPTER 6 OBJECT ANALYSIS.
Lesson 4 Word Processing and Microsoft Word Computer Literacy 1 Transition Plus Services.
Working in the Forms Developer Environment
Storyboarding and Paper Prototyping
Unified Modeling Language
Designing a site (2/4) Conceptual Design – 1h
Investigating a Phase Approach to Using Technology as a Teaching Tool
François Guimbretière
Information Design and Visualization
CS294 Software Engineering Software Usability
Chapter 4.
Feedback open / closed questiond
Visual recall of class information
Chapter 5.
Microsoft Office Illustrated Fundamentals
I think the... came first because...
Presentation transcript:

Five Attempts at Spatializing Code Gina Venolia – Senior Researcher With Rob DeLine, Mary Czerwinski, Brian Meyers, Steve Drucker, George Robertson, Mauro Cherubini*, Andy Ko* and Kael Rowan Microsoft Research Software Terrain Maps Code Thumbnails How & WhyCode MapCode Canvas

Intuition Spatial cognitive resources are underutilized in software development Tools exploiting these resources might have many benefits: – Helping developers stay oriented in code – Providing a substrate for understanding code- related information – Serving as a boundary object between teammates – Etc.

Inspiration George Robertson, Mary Czerwinski, Kevin Larson, Dan Robbins, David Thiel and Martin van Dantzich. Data Mountain: Using Spatial Memory for Document Management. UIST 1998.

Five Iterations Staying Oriented with Software Terrain Maps – Rob DeLine, VLC 2005VLC 2005 Code Thumbnails: Using Spatial Memory to Navigate Source Code – Rob DeLine, Mary Czerwinski, Brian Meyers, Gina Venolia, Steve Drucker, and George Robertson, VL/HCC 2006VL/HCC 2006 Let’s Go to the Whiteboard: How and Why Software Developers Use Drawings – Mauro Cherubini, Gina Venolia, Rob DeLine, and Andrew J. Ko, CHI 2007CHI 2007 Building an Ecologically-valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code – Mauro Cherubini, Gina Venolia, and Rob DeLine, VL/HCC 2007VL/HCC 2007 Code Canvas – Kael Rowan (work-in-progress)

SOFTWARE TERRAIN MAPS Staying Oriented with Software Terrain Maps Rob DeLine VLC 2005

Overlays Method in editor Call stack

What we learned Spatial is interesting Overlays are compelling Important things we’re missing – Stability – Locality – Labels Are methods the right level of analysis?

CODE THUMBNAILS Code Thumbnails: Using Spatial Memory to Navigate Source Code Rob DeLine, Mary Czerwinski, Brian Meyers, Gina Venolia, Steve Drucker, and George Robertson VL/HCC 2006

Code Thumbnails SCREEN SHOT GOES HERE

What we learned Microfont rendering is somewhat useful – But only somewhat – Must be augmented with labels, coloring and structure Overlays (search results) are still compelling Labels are good Manual layout is tedious

HOW AND WHY Let’s Go to the Whiteboard: How and Why Software Developers Use Drawings Mauro Cherubini, Gina Venolia, Rob DeLine, and Andrew J. Ko CHI 2007

What we did Eight semi-structured interviews at MS Identified nine scenarios where drawings were important Survey (427 responses) at MS – 24 questions x 9 scenarios

Nine scenarios ScenarioInvestmentPurposeMedia Understand existing codeTransientUnderstandSketch Design and refactorTransientUnderstand Communicate Sketch Drawing tools Ad-hoc meetingsReiteratedUnderstand Communicate Sketch Onboard new teammateReiteratedCommunicateSketch Explain to 2 ndary stakeholdersReiteratedCommunicateSketch Drawing tools Design reviewRenderedCommunicateSketch Drawing tools R-E tools Explain to customersRenderedCommunicateDrawing tools Hallway artArchivalCommunicateDrawing tools DocumentationArchivalCommunicateDrawing tools R-E tools

What we learned Drawings are schematic and conceptual – As opposed to detailed and accurate – A few boxes, a few arrows – Consistent use of space; some consistent symbols Most drawings were used for communication – Many were created during communication – Drawings were a secondary but important channel Certain sketches became archetypal through reiteration

CODE MAP Building an Ecologically-valid, Large-scale Diagram to Help Developers Stay Oriented in Their Code Mauro Cherubini, Gina Venolia, and Rob DeLine VL/HCC 2007

What we did Iterative design to develop a paper prototype of a large-scale code map for a particular team Independent drawings from eight teammates Merged into master drawing Every day for three weeks: – Hang new map in the team’s hallway – Gather verbal feedback – Update drawing to integrate verbal feedback and latest source code changes – Send to printer

What we learned Team can agree on a spatial layout and names Current code is only part of the story – Elision by category, access and black-boxing – Folder hierarchy has errors – Placeholders for planned work Semantic zooming and labels are good Vertical bands are a cool surprise Manual layout is tedious Location matters!

CODE CANVAS Kael Rowan (work-in-progress)

What we have learned so far Performance is good even for large projects Semantic zooming and labels are good Overlays are very compelling Big open questions – Is zooming to source code is the right thing? – How to zoom into multiple parts of the map simultaneously? – Need more better mixed-initiative layout

WRAP-UP Software Terrain Maps Code Thumbnails How & WhyCode MapCode Canvas

What is working well Spatial stability Semantic zooming Labels Overlays

Big open questions Low-effort, mixed-initiative layout Spatial stability as software evolves Microfonts vs. class diagrams Transition from overview to text editor

Conclusion Promising approach Many hard problems to work out Need to verify spatial memory and cognition Need to verify team effects Software Terrain Maps Code Thumbnails How & WhyCode MapCode Canvas