Transcript ppt

Matthew van Cittert
Supervisor: Prof. Shaun Bangay
A second look at the “glorified text-editor”
The Problem
New features but old, unchanging design
 Large projects become difficult to manage

Netbeans
Delphi
Visual Studio
CodeBlocks
Other approaches

Focus on method implementation
Tinkertoy - LISP
Visual Studio Class Diagrams
MapZone - Graphics
A New Approach
Average program – bunch of classes
 Organised as trees
 Lots of them
 A new representation

Interface
Options
Minimap
Demo
Interface – Scrolling window
Options
Minimap
Solving the Problem

Zoom
 Overview

Minimap, scrollmap
 Get around quickly
 Spatial awareness
Solving the Problem 2

Text windows
 Separate code and comments
 Edit methods side by side

Single workspace
 Avoid digging through files

Code tour
 Interactive animated documentation
Making it go - Parser

Five Tools
 Base: Match a string
 Base: Match from a set of characters
 Repeat: Match scanner a given number of times
 List: Match all scanners in a serial list
 Option: Match one scanner from a list of
scanners

Callbacks
 pre- and post-processing
 what to do when a match is found
Intermediate format
Classes to describe code
 Filled out by parser callbacks
 Converters can render these back as
text
 Other unimplemented ideas

 Use a database or ontology
 Query code (SQL or a reasoner)
Interface

Series of components
 Plug into one another
 Zooming
 Scrolling
 Moving
 Resizing
Layout manager to arrange classes
 Trees with GUI frontends.

Evaluation

Comparison
 Project interface
 Traditional IDEs

Methods of comparison
 User study
 Cognitive walkthrough
 Predictive evaluation
 Heuristic evaluation
Predictive Evaluation
Can tasks be completed faster?
 Decompose tasks

 Open files
 Scroll to point of interest
 Type keywords
 Select class from classview
 Move, cut, paste

Preliminary results
Heuristic Evaluation
Is it easier to use?
 Gerhardt-Powals (1996)

 Automate unwanted workload
 Fuse data (high level summaries)
 Use aids to interpretation (metaphors)
 Group data meaningfully
 Include only relevant information
Conclusions & Questions
Room for improvement of traditional
IDEs
 Most existing solutions focus on method
implementation
 Interfaces used in strategy games pose
a potential solution

 easier to use
 more efficient navigation
 more effective documentation