SlideShare a Scribd company logo
1 of 12
Download to read offline
Where do I click?
Making Eclipse applications user friendly


Alexandra Imrie, Bredex GmbH
                                            © 2008 Bredex GmbH   Version 2.3
Points to take away today

 Usability is important
 What is available in Eclipse
 How to use it




                                            03.03.2009   2
                                Usability
Don‘t judge a book by its cover?

  One bad experience and poof...customers are
history. Sure, you can replace them, but at five times
the cost.            Pavvo Hanninen, Director, University of Alabama




  Any darn fool can make something complex; it
takes a genius to make something simple                                    Albert Einstein




  You can use an eraser on the drafting table or a
sledge hammer on the construction site                                 Frank Lloyd Wright


                                                                                             03.03.2009   3
                                                                          Usability
http://www.theomandel.com/resources/quotes.html
Usability in Eclipse applications

 How the application should look and behave
 Style guide
 




 How users can see an overview of important info
 Welcome pages
 




 Guiding users’ first steps in the application
 Cheat sheets
 




 Helping users with specific problems during use
 Context sensitive help, control decoration
 




                                                          03.03.2009   4
                                              Usability
The style guide

 Aim: consistent UI across Eclipse projects
 Covers various aspects of UI
 Prompts, initial focus position etc. in wizards, dialogs
 




 Guidelines for capitalization
 




 Keyboard and mouse accessibility
 




 Where to put menu entries
 




 Where to make action available
 




 Icons, tooltips, shortcuts
 




http://wiki.eclipse.org/User_Interface_Guidelines
                                                                03.03.2009   5
                                                    Usability
The welcome pages (Eclipse Intro)

 Control the first thing a user sees
 In your application
 org.eclipse.core.runtime.products
 




 org.eclipse.ui.intro
 




 In the plugin
 org.eclipse.ui.intro.configExtension
 




 id=org.eclipse.ui.intro.universalConfig
 




 HTML and CSS files

                                                       03.03.2009   6
                                           Usability
The cheat sheets

 Interactive tutorial
 Step by step instructions
 




 Manual or automatic
 




 Wide range of options
 Embedded help, optional steps
 




 Sequential sheets, composite sheets
 




 Hierarchy
 Cheat sheet  task  step  sub step
 




                                                    03.03.2009   7
                                        Usability
Using the cheat sheets

 New plugin
 Extension point:
 




 org.eclipse.ui.cheatsheets.cheatSheetContent
 




 Wizards and editors to create cheat sheets
 Hints:
 Modal dialogs & screen size
 




 Tags in sub steps
 




 Show easiest way to complete task
 




 Introduction and conclusion
 



                                                            03.03.2009   8
                                                Usability
Help in the application

 Context sensitive help
 PlatformUI.getWorkbench().getHelpSystem()
 




 IWorkbenchHelpSystem.setHelp(Control control, String
 


 contextId)
 Help Listener (F1) automatically set on the control
 




 ContextId used in the help plugin
 Which help page should be shown
 




 Help structure is important

                                                          03.03.2009   9
                                              Usability
Info bobbles (control decoration)

 Specific help for UI components
 Good for use in dialogs and wizards
 




 Saves the user having to look in the documentation
 




 org.eclipse.jface.fieldassist.ControlDecoration
 Since Eclipse 3.3
 




 New ControlDecoration(Control control, int position)
 




 setImage(Image image)
 




 setDescriptionText(String text)
 




                                                            03.03.2009   10
                                                Usability
Summary

 Usability is just as important as features
 Eclipse offers and supports various options
 Usability under constant review…




                                                          03.03.2009   11
                                              Usability
Questions?


       Programming today is a race between software engineers
      


     striving to build bigger and better idiot proof programs, and
        the Universe trying to produce bigger and better idiots.
                     So far, the Universe is winning.
                     



 



                             Rick Cook, The Wizardry Compiled
                            




          Visit stand 204 in the exhibition hall for more information
          



                                                                            03.03.2009   12
                                                                Usability

More Related Content

Similar to Where Do I Click

Screencasting in the cloud
Screencasting in the cloudScreencasting in the cloud
Screencasting in the cloud
Caroline Conlon
 
User centric interface_article
User centric interface_articleUser centric interface_article
User centric interface_article
rajivjayaraman
 

Similar to Where Do I Click (20)

Designing Great User Interfaces for Composite Applications
Designing Great User Interfaces for Composite ApplicationsDesigning Great User Interfaces for Composite Applications
Designing Great User Interfaces for Composite Applications
 
Screencasting in the cloud
Screencasting in the cloudScreencasting in the cloud
Screencasting in the cloud
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
What's new in p2 (2009)?
What's new in p2 (2009)?What's new in p2 (2009)?
What's new in p2 (2009)?
 
Randori design goals and justification
Randori design goals and justificationRandori design goals and justification
Randori design goals and justification
 
User Research Technologies VMWare And Web Ex
User Research Technologies   VMWare And Web ExUser Research Technologies   VMWare And Web Ex
User Research Technologies VMWare And Web Ex
 
Enabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in ActionEnabling Lean at Enterprise Scale: Lean Engineering in Action
Enabling Lean at Enterprise Scale: Lean Engineering in Action
 
Cocoon Best Practises
Cocoon Best PractisesCocoon Best Practises
Cocoon Best Practises
 
User centric interface_article
User centric interface_articleUser centric interface_article
User centric interface_article
 
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
Eclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIsEclipse Training - Standard Extension Points and APIs
Eclipse Training - Standard Extension Points and APIs
 
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
Screencasting for the budget-friendly teacher
Screencasting for the budget-friendly teacherScreencasting for the budget-friendly teacher
Screencasting for the budget-friendly teacher
 
Five Mistakes to Avoid in Creating User Interfaces for Mobile Devices
Five Mistakes to Avoid in Creating User Interfaces for Mobile DevicesFive Mistakes to Avoid in Creating User Interfaces for Mobile Devices
Five Mistakes to Avoid in Creating User Interfaces for Mobile Devices
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
 
Interaction patterns
Interaction patternsInteraction patterns
Interaction patterns
 
Agile comparison with requriement approaches
Agile comparison with requriement approachesAgile comparison with requriement approaches
Agile comparison with requriement approaches
 
Angular Best Practices To Build Clean and Performant Web Applications
Angular Best Practices To Build Clean and Performant Web ApplicationsAngular Best Practices To Build Clean and Performant Web Applications
Angular Best Practices To Build Clean and Performant Web Applications
 
The Lean Tech Stack
The Lean Tech StackThe Lean Tech Stack
The Lean Tech Stack
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)
 

Where Do I Click

  • 1. Where do I click? Making Eclipse applications user friendly Alexandra Imrie, Bredex GmbH © 2008 Bredex GmbH Version 2.3
  • 2. Points to take away today Usability is important What is available in Eclipse How to use it 03.03.2009 2 Usability
  • 3. Don‘t judge a book by its cover? One bad experience and poof...customers are history. Sure, you can replace them, but at five times the cost. Pavvo Hanninen, Director, University of Alabama Any darn fool can make something complex; it takes a genius to make something simple Albert Einstein You can use an eraser on the drafting table or a sledge hammer on the construction site Frank Lloyd Wright 03.03.2009 3 Usability http://www.theomandel.com/resources/quotes.html
  • 4. Usability in Eclipse applications How the application should look and behave Style guide  How users can see an overview of important info Welcome pages  Guiding users’ first steps in the application Cheat sheets  Helping users with specific problems during use Context sensitive help, control decoration  03.03.2009 4 Usability
  • 5. The style guide Aim: consistent UI across Eclipse projects Covers various aspects of UI Prompts, initial focus position etc. in wizards, dialogs  Guidelines for capitalization  Keyboard and mouse accessibility  Where to put menu entries  Where to make action available  Icons, tooltips, shortcuts  http://wiki.eclipse.org/User_Interface_Guidelines 03.03.2009 5 Usability
  • 6. The welcome pages (Eclipse Intro) Control the first thing a user sees In your application org.eclipse.core.runtime.products  org.eclipse.ui.intro  In the plugin org.eclipse.ui.intro.configExtension  id=org.eclipse.ui.intro.universalConfig  HTML and CSS files 03.03.2009 6 Usability
  • 7. The cheat sheets Interactive tutorial Step by step instructions  Manual or automatic  Wide range of options Embedded help, optional steps  Sequential sheets, composite sheets  Hierarchy Cheat sheet  task  step  sub step  03.03.2009 7 Usability
  • 8. Using the cheat sheets New plugin Extension point:  org.eclipse.ui.cheatsheets.cheatSheetContent  Wizards and editors to create cheat sheets Hints: Modal dialogs & screen size  Tags in sub steps  Show easiest way to complete task  Introduction and conclusion  03.03.2009 8 Usability
  • 9. Help in the application Context sensitive help PlatformUI.getWorkbench().getHelpSystem()  IWorkbenchHelpSystem.setHelp(Control control, String  contextId) Help Listener (F1) automatically set on the control  ContextId used in the help plugin Which help page should be shown  Help structure is important 03.03.2009 9 Usability
  • 10. Info bobbles (control decoration) Specific help for UI components Good for use in dialogs and wizards  Saves the user having to look in the documentation  org.eclipse.jface.fieldassist.ControlDecoration Since Eclipse 3.3  New ControlDecoration(Control control, int position)  setImage(Image image)  setDescriptionText(String text)  03.03.2009 10 Usability
  • 11. Summary Usability is just as important as features Eclipse offers and supports various options Usability under constant review… 03.03.2009 11 Usability
  • 12. Questions? Programming today is a race between software engineers  striving to build bigger and better idiot proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.   Rick Cook, The Wizardry Compiled  Visit stand 204 in the exhibition hall for more information  03.03.2009 12 Usability