Graphics Editor in ROOT I l ka Antcheva*, René Brun, Fons Rademakers CERN, Geneva, Switzerland CERN, Geneva, Switzerland * funded by PPARK, Swindon, UK.

Slides:



Advertisements
Similar presentations
DEVELOPING A METHODOLOGY FOR MS3305 CW2 Some guidance.
Advertisements

Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
STATEMATE A Working Environment for the Development of Complex Reactive Systems.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
GUI Testing. High level System Testing Test only those scenarios and outputs that are observable by the user Event-driven Interactive Two parts to test.
Creating an OOED Application
Part 4: Evaluation Days 25, 27, 29, 31 Chapter 20: Why evaluate? Chapter 21: Deciding on what to evaluate: the strategy Chapter 22: Planning who, what,
SIMS 213: User Interface Design & Development Marti Hearst Thurs Feb 8, 2001.
CMPUT 301: Lecture 25 Graphic Design Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by.
Interaction Styles Interface Widgets. What are Interaction Styles?  A Collection of interface objects and associated techniques from which an interaction.
1 User Interface Design CIS 375 Bruce R. Maxim UM-Dearborn.
Object-Oriented Analysis and Design LECTURE 8: USER INTERFACE DESIGN.
CS-499G 8/17/ Design Concepts and Principles.
Heuristic evaluation IS 403: User Interface Design Shaun Kane.
Systems Analysis and Design in a Changing World, 6th Edition
Lecture Set 3 Introduction to Visual Basic Concepts Part A – User Interfaces and Windows Forms – The Toolbox.
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
6 Copyright © 2004, Oracle. All rights reserved. Working with Data Blocks and Frames.
ROOT Tutorials - Session 51 ROOT Tutorials – Session 8 GUI, Signal/Slots, Image Processing, Carrot Fons Rademakers.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 8: More About OOP and GUIs.
Bertrand Bellenot ROOT Users Workshop Mar ROOT GUI Builder Status & Plans ROOT & External GUI World MFC, FOX, Qt, PVSS… Snapshot of the Future.
Chapter 8: Writing Graphical User Interfaces
Interaction Design – Part II by A.Surasit Samaisut Copyrights : All Rights Reserved.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
Chapter 8: Writing Graphical User Interfaces Visual Basic.NET Programming: From Problem Analysis to Program Design.
User Interface Design Session 11- LBSC 790 / INFM 718B Building the Human-Computer Interface Cartoon removed.
Nielsen’s Ten Usability Heuristics
10 Usability Heuristics for User Interface Design.
Multimedia Specification Design and Production 2012 / Semester 1 / week 5 Lecturer: Dr. Nikos Gazepidis
Click to edit Master subtitle style USABILITY and USER INTERFACE DESIGN Application.
Heuristic evaluation Functionality: Visual Design: Efficiency:
Why do we need good user interfaces?. Goals of User Interfaces Usable – how much effort to do a task? – example: often-used buttons easier to find – example:
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
GUI Design Spreadsheet-Based Decision Support Systems Chapter 23: Aslı Sencer MIS 463.
DB Implementation: MS Access Forms. MS Access Forms  Purpose Data entry, editing, & viewing data in tables Forms are user-friendlier to end-users than.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
Present by Wu Kun-Tse Simplifying Preference Pages with Field Editors.
Object-Oriented Application Development Using VB.NET 1 Chapter 10 VB.NET GUI Components Overview.
Chapter 23: GUI Design Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
Heuristic Evaluation Short tutorial to heuristic evaluation
ROOT Users Workshop September 2005 Ilka Antcheva GUI Status and Development.
Cs413_design02.ppt GUI Design The User Controls Navigation Traditional GUI design the designer can control where the user can go gray out menu options.
Basic Elements.  Design is the process of collecting ideas, and aesthetically arranging and implementing them, guided by certain principles for a specific.
Trade Secrets of Embedded Field-Level Help Gary Etzel Tonya McKee Russ Ward.
User-Centered Design (UCD) Overview
William H. Bowers – Specification Techniques Torres 17.
CHEP06, Mumbai, India February 2006 General Status of ROOT GUI Ilka Antcheva, Bertrand Bellenot, René Brun, Valeriy Onuchin *, Fons Rademakers CERN,
ROOT Graphical User Interface The Graphical User Interface (GUI) design is an important component of the ROOT framework. Two sets of classes, recently.
LCG AA Meeting 30 June 2004 Ilka Antcheva Graphics User Interface in ROOT.
© 2016 Cognizant. © 2016 Cognizant Introduction PREREQUISITES SCOPE Heuristic evaluation is a discount usability engineering method for quick, cheap,
LCG AA Internal Review 30 March 2005 ROOT Graphical User Interface Ilka Antcheva, Bertrand Bellenot, Valeri Fine, Valeriy Onuchin, Fons Rademakers.
Ten Usability Heuristics These are ten general principles for user interface design. They are called "heuristics" because they are more in the nature of.
DB Implementation: MS Access Forms. MS Access Forms: Purpose Data entry, editing, & viewing data in Tables Forms are user-friendlier to end-users than.
The Successful Website
Working with Data Blocks and Frames
Chapter 8: More About OOP and GUIs
GUI Design and Coding PPT By :Dr. R. Mall.
Chapter 2 Hix & Hartson Guidelines.
Human-Computer Interaction
Chapter 8: Writing Graphical User Interfaces
DB Implementation: MS Access Forms
A NEW FACE OF THE TECHNICAL COMMUNICATOR – UX IS OUR STRENGTH – WE DESIGN TO WRITE BY CHRIS GANTA © 2016, STC INDIA CHAPTER.
Unit 14 Website Design HND in Computing and Systems Development
DB Implementation: MS Access Forms
One-timer?. A new face of the technical communicator – UX is our strength – we design to write.
10 Design Principles.
Chapter 11 user support.
Nilesen 10 hueristics.
Presentation transcript:

Graphics Editor in ROOT I l ka Antcheva*, René Brun, Fons Rademakers CERN, Geneva, Switzerland CERN, Geneva, Switzerland * funded by PPARK, Swindon, UK * funded by PPARK, Swindon, UK 23 May 2005ACAT05

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 2 Overview Main Goals Design Solution The “Look” The “Feel” Conceptual Elements Editor Usability Focus on Users Next Steps

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 3 Main Goals (1)

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 4 Main Goals (2) Object orientation of the editor design – keeps users focused on objects, not on how to carry out actions. Managing GUI complexity by splitting the graphics editor into discrete units of so-called object editors. Editor responds dynamically and presents the right GUI at the right time according to the selected object in the canvas. Easy-to-use. Require minimal user’s training. Protect users from obvious errors.

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 5 Modular – it loads the corresponding object editor objEditor according to the selected object obj in the canvas respecting the class inheritance. Algorithm: Search for a class name objEditor (correct naming is important). Check that this class derives TGedFrame (the editor base class). Make an instance of the object editor using TROOT::ProcessLine method. Scan all base classes for corresponding object editors. Design Solution (1) TArrow TAttMarker TCurlyArc TH1 TPad TAttFill TAttText TCurlyLine TH2 TPaveStats TAttLine TAxis TFrame TGraph

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 6 Design Solution (2) Signals/slots communication mechanism handles GUI actions. Canvas sends a signal which object is selected. Corresponding object editor is activated and ready for use.

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 7 Design Solution (3) ROOT graphics editor can be: Embedded – connected only with the canvas in the application window Global – has own application window and can be connected to any created canvas in a ROOT session.

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 8 The “Look” Color choice to point user’s attention to selected object. Font choices – by default. GUI elements: buttons, combo boxes, number and text entries, etc. Overall visual impression - layout shows the visual hierarchy, consistency and balance. Additional redundant texts and labels are avoided by grouping elements. Tooltip based help.

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 9 The “Feel” GUI widget choice – its behavior matches functionality. GUI element location – related to the task flow. Navigation and freedom of movement. Minimize total number of clicks No jumps between panels Appropriate feedback for each user action. GUI text – list of reserved words in use, brief messages.

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 10 Conceptual Elements (1) Easy-to-use. Recognition over recall determines design choices. Power of each GUI action – same things work same way; full and continuous feedback on the action result. Flexibility for change – only information relative to the current task is presented; other GUI parts are hidden. Capacity for growth.

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 11 Can be extended easily by any user-defined object editor - this makes GUI design easier and adaptive to the users’ profiles. Rules to follow: Derive in the code from the base editor class TGedFrame. Correct naming convention: the name of the object editor should be the object class name + 'Editor’. Register the new object editor in the list TClass::fClassEditors in the end of its constructor. Use signals/slots communication mechanism for event processing. Implement SetModel method where to set GUI widgets according to the object’s attributes. Implement all necessary slots and connect them to appropriate widget signals. Conceptual Elements (2)

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 12 Editor Usability To reduce… Visual work Movements Intellectual work Memory work Benefits Higher productivity Overall validation Users’ confidence

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 13 Focus on Users Novices (for a short time) Theoretical understanding, no practical experience with ROOT Impatient with learning concepts; patient with performing tasks Advanced beginners (many people remain at this level) Focus on a few tasks and learn more on a need-to-do basis Perform several given tasks well Competent performers (fewer then previous class) Know and perform complex tasks that require coordinated actions Interested in solving problems and tracking down errors Experts (identified by others) Ability to find solution in complex functionality Interested in theories behind the design Interested in interacting with other expert systems

I. Antcheva, R. Brun, F. Rademakers ACAT05 DESY, Zeuthen 14 Next Steps To include ROOT commands in tooltips of the GUI widgets Hide/Show objects New object editors Help HowTo design object editors Undo/Redo Style Manager Fit Panel GUI root[9] gPad->SetLogy(1);