WindowBuilder Graduation & Release Review

Similar documents
e4 Project 0.9 Release Review

Graphiti Release Review

Tools for mobile Linux Release Review Dec 2009

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

Embedded Rich Client Platform (ercp) 1.2 Release Review

Object Teams Release Review. Planned Review Date: July 7, 2010 Communcation Channel: Submitted by: Stephan Herrmann

Eclipse 4.0. Jochen Krause EclipseSource

Dali JPA Tools Project Graduation Review

Embedded Rich Client Platform (ercp) 1.0 Release Review

Eclipse Packaging Project

Eclipse Packaging Project

Rich Client GUI's with RCP & RAP

Eclipse Foundation, Inc. Copyright 2005 by Intel, IBM, Scapa Technologies and others and made available under the EPL v1.0 1

EMFT Mint (Incubation) 0.7 Ganymede Simultaneous Release Review

Equinox Project 3.6 Release Review

Planned Review Date: June 10, 2009 Communication Channel: eclipse.tools.emf Dave Steinberg and Ed Merks

Eclipse in Embedded. Neha Garg : Prerna Rustagi :

EMF Ganymede Simultaneous Release

Advanced User Interface Programming Using the Eclipse Rich Client Platform

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

Eclipse Data Tools Platform (DTP) 1.8 Release Review. Eclipse DTP PMC May 28, 2010

EMF Compare Ganymede Simultaneous Release

Eclipse Technology Project: g-eclipse

Eclipse Memory Analyzer Graduation, Move and 1.0 Release Review

Eclipse Data Tools Platform (DTP) 0.7 Release Review. Eclipse DTP PMC March 8, 2006

eclipse rich ajax platform (rap)

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

JSR 377 Desktop Application Framework September Andres Almiray

Eclipse Memory Analyzer Release Review

RAP (The Rich Ajax Platform)

GUI Testing to the edge. Quality is not a given and testing is fun

Linux Tools 0.6 Release Review

Eclipse Memory Analyzer Release Review 0.8

EMF Europa Simultaneous Release

Zest: Move Review. Transition from Mylyn to GEF. Component Lead: R. Ian Bull. University of Victoria & IBM Centre for Advanced Studies

The Galilean Moons of Eclipse

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

Unified Modeling Language (MDT UML2) 3.0 Galileo Simultaneous Release Review. 4 June, 2009

Target Management New and Noteworthy. Martin Oberhuber, Wind River

TPTP 4.7 Release Review -- One Quick Foil What s new

CDT 7.0 Helios Release Review. Planned Review Date: June 11, 2010 Communication Channel: cdt-dev Doug Schaefer

Goulwen Le Fur Obeo EclipseCon NA 2014

Eclipse as a Web 2.0 Application Position Paper

Getting the Most from Eclipse

Embarcadero PowerSQL 1.1 Evaluation Guide. Published: July 14, 2008

Lyo OSLC4J and OSLC Test Suite 1.0 Release and Graduation Review

m2e 1.2 Release Review

Workbench and JFace Foundations. Part One, of a two part tutorial series

GMF 2.0 Europa Simultaneous Release

Seng310 Lecture 8. Prototyping

eswt Requirements and High-Level Architecture Abstract Document Information Change History

Eclipse project update by the Eclipse project PMC March 11 th 2008

Eclipse Packaging Project

EMF Compare Galileo Simultaneous Release

Introduction to Eclipse and Eclipse RCP

How we reached 0 technical debt in our Eclipse project

Oracle Application Development Framework Overview

Widget Toolkits CS MVC

Object-Oriented Programming

<Insert Picture Here> Accelerated Java EE Development: The Oracle Way

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

Tools to Develop New Linux Applications

The Past, Present, and Future of SWT

Simulate This! - The Eclipse Platform as an Integrated Computational Environment

Interface Builders and Interface Description Languages

EGit/Gerrit Hands-on training #1: Installation and Configuration

The Graphical Editing Framework

Eclipse Building Commercial-Quality Plug-ins Second Edition

Swinging from the Outside

Smart Client development with the Eclipse Rich Client Platform

Happy Birthday, Ajax4jsf! A Progress Report

Lecture 6. Design (3) CENG 412-Human Factors in Engineering May

Regular Forum of Lreis. Speechmaker: Gao Ang

Low fidelity: omits details High fidelity: more like finished product. Breadth: % of features covered. Depth: degree of functionality

Semantic Web T LS Update

LIGHTWEIGHT UI TOOLKIT MAKING COMPELLING JAVA ME APPLICATIONS EASY

Xerte Online Toolkits v3.0 Release Notes

Because you can t fix what you don t know is broken

Prototyping. Readings: Dix et al: Chapter 5.8 Marc Rettig: Prototyping for tiny fingers, Communications of the ACM, April 1994.

Eclipse SOA Tooling Platform: Project Overview. An Overview of the Eclipse STP (SOA Tooling Platform) Project

VA Smalltalk Update. John O Keefe Principal Smalltalk Architect Instantiations, Inc. Copyright 2011, Instantiations, Inc.

Steve Moore. Product Design Screenshots

Eclipse Lyo Overview. Michael Fiedler, Eclipse Lyo committer IBM Corporation

Eclipse Process Framework Project

The Eclipse Rich Ajax Platform

AD105 Introduction to Application Development for the IBM Workplace Managed Client

Eclipse Data Binding - Updating RCP Mail 2.0 Handout

From Closed to Open to Transparent Software Development. Development

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

VA Smalltalk Update. 24 th ESUG Conference Prague, Czech Republic August 23, John O Keefe Chief Technical Officer Instantiations, Inc.

Planned Review Date: Communication Channel: news://eclipse.technology.linuxtools Andrew Overholt

The Eclipse Rich Client Platform

<Insert Picture Here> The Oracle Fusion Development Platform: Oracle JDeveloper and Oracle ADF Overview

An Eclipse-based Environment for Programming and Using Service-Oriented Grid

Swing. By Iqtidar Ali

Integrating Open Source Tools for Developing Embedded Linux Applications

Checklist: Requirements GUI Test tool for Java and/or Web

Aggregation of WSRP Channels on Eclipse Rich Client Platform

Widgets. Overview. Widget. Widgets Widget toolkits Lightweight vs. heavyweight widgets Swing Widget Demo

Transcription:

WindowBuilder Graduation & 1.0.0 Release Review http://www.eclipse.org/windowbuilder Planned Review Date: June 2011 Communication Channel: WindowBuilder Forum Eric Clayberg (Project Lead) 1

History Smalltalk Eclipse/Java WindowBuilder has a very long history spanning multiple technologies and companies 1991 1993 1994 Original release for Smalltalk/V by Cooper & Peters VisualSmalltalk release by ObjectShare VisualAge Smalltalk release by ObjectShare 1996 Briefly owned by ParcPlace-Digitalk 1997 2003 2004 2006 2009 2010 2011 VisualAge Smalltalk release by Instantiations New Eclipse/Java version for SWT/RCP (SWT Designer) Swing support added (Swing Designer) Google Web Toolkit (GWT) support added (GWT Designer) Eclipse community award for Best Commercial Add-on Acquired by Google and released free to the world Contributed to Eclipse.org as new open-source project Same Team 2

Overview Available now from http://www.eclipse.org/windowbuilder Composed of WindowBuilder Engine, SWT, ercp, XWT & Swing Designer WindowBuilder Engine provides a rich API for creating UI designers Java-based UI frameworks (e.g., Swing, SWT/RCP, ercp, GWT) XML-based UI frameworks (e.g., XWT, GWT UiBinder) Exemplary tool examples: SWT Designer Swing Designer ercp Designer XWT Designer 3 rd Party Tools GWT Designer for Google Web Toolkit Swing RCP XWT SWT Core GWT JFace Future? ercp 3

Quotes WindowBuilder delivers the kind of GUI building productivity that we used to have before we converted to Java. WindowBuilder not only dramatically improves productivity for design and maintenance, but it also enables us to significantly improve the look-and-feel of our GUIs without costing days of coding. Until discovering WindowBuilder, I had forgotten just how much fun and easy it can be building Java GUIs. In 25 years of software development I have used a plethora of development tools. I can honestly say that WindowBuilder is head and shoulders above anything I have used for serious development. The features I particularly like include the bi-directional edit process, the native look and feel of cross platform GUIs and the manner in which component management is greatly simplified. It all adds up to allowing the developer to get on with the process of creating an application rather than worrying about the technology beneath it. Sally Rich, Senior Software Engineer at RSS Solutions Inc John Bond, Developer 4

Features WindowBuilder supports many state-of-the-art features WYSIWYG & Bi-directional Code Generation Powerful & Flexible Code Parser Single Representation Read & Write Any Style Micro Edits Internationalization Visual Inheritance UI Factories Morphing Graphical Menu Editing Widgets & Layout Managers 5

Non-Code Aspects User Documentation 250+ pages of user documentation available as Eclipse Help or on-line Customization API doc available for adding new components to the palette Tutorials: Adding New Components SWT/RCP/Swing Databinding All strings externalized to resource files and localization ready (English resource files only) Presentations WindowBuilder 101 at EclipseCon 2011 WindowBuilder at Eclipse DemoCamps in Atlanta & Boston [upcoming] GWT+UI Designer at Google I/O 2011 6

API The APIs in this release are Eclipse Quality As part of the contribution process, all code was initially marked internal and limited classes and methods were made API on a very conservative basis Additional API will be made public in the future and will be a major focus of the Juno development cycle 7

Architectural Issues The WindowBuilder Engine was designed to be very modular and offers a great many extension points Pluggable support for different languages and parsers 5 public exemplary tools built using this architecture so far supporting SWT/RCP, ercp, XWT, Swing and GWT Multiple private/oem tools built using this architecture UI design tool for unnamed cell phone manufacturer UI designer embedded in Embarcadero s JBuilder UI designer for popular phone OS at prototype phase Core branding elements are optional for easy customization by Eclipse members wishing to build custom tools Core engine offers an auto-discovery capability for loading new UI toolkit editors using p2 (makes it easy to load support for things like ercp, XWT, Swing, etc. with just a few clicks) 8

Tool Usability WindowBuilder based tools widely used by >200K developers world wide since 2003 SWT Designer released in 2003 Swing Designer released in 2004 GWT Designer released in 2006 GWT Designer embedded in Google Plug-in for Eclipse (GPE) Swing Designer embedded in Embarcadero s JBuilder Eclipse Magazin (Germany) Reader s Choice Award in 2006 for Best Eclipse-Based Commercial Software Solution Eclipse Community Award in 2009 for Best Commercial Eclipse Development Tool 9

End-of-Life The following features did not make it through the Eclipse IP process: Support for SWT GroupLayout (based on Swing-based LGPL code) Support for various LGPL Swing Look & Feels These features were moved to a new Eclipse Labs project called WindowBuilder-Extras and will be maintained by the current committer team In addition, the LGPL JSR 295 Swing Data Binding jar is no longer included with WindowBuilder and must be installed separately by the user 10

Bugzilla / FogBugz Eclipse Bugzilla 17 Bugs all closed 1 open enhancement request Google FogBugz during last six months since mid-december 604 Bugs & Inquiries all closed 36 Enhancement Requests all closed Users are being encouraged to report all bugs to Eclipse Bugzilla going forward Google obligated to provide commercial support to WindowBuilder users until August 2011 Historic WindowBuilder FogBugz data (Instantiations & Google) 10173 Bugs & Inquiries all closed 347 Enhancement Requests all closed WindowBuilder includes an automated bug reporting tool to make it easy for users to report problems/exceptions Historically pointed at Instantiations/Google FogBugz Now pointed at Eclipse Bugzilla Committer team is committed to responding to all bug reports, inquiries and enhancement requests very quickly and has an excellent track record in this regard throughout the eight-year history of the project 11

Standards WindowBuilder requires Java 5 or later Supports SWT, RCP, ercp, XWT and Swing Supports Swing JSR 295 and 296 12

UI Usability WindowBuilder conforms to the Eclipse user interface standards WindowBuilder was certified as Ready for Rational (which requires conformance to the Eclipse user interface standards) WindowBuilder provides the following accessibility features: Keyboard equivalents for most actions. For example, widgets may be moved in any free form layout using the arrow keys. Likewise, the palette and property pane can be traversed using the arrow keys. Visual focus indicators are provided for selected widgets in the component tree and design view as well as for the currently selected property. Color preferences are provided to control feedback for most layout managers. Color is used as an enhancement to various feedbacks in the design view. System high contrast settings are respected System fonts, colors and sizes are inherited Blinking text or objects are avoided Documentation is provided in an accessible format No audio alerts are used 13

Schedule Google announces WindowBuilder contribution on 12/15/2010 First Eclipse-branded build available on 1/16/2011 from code.google.com Initial code contribution to Eclipse.org on 3/9/2011 First Eclipse.org build available on 4/7/2011 New builds available weekly 1.0.0 release scheduled for 6/22/2011 14

Communities Bugzilla is in active use by users and contributors New WindowBuilder forum very active 43 threads and 141 posts Lots of questions about how to extend the tool Old Instantiations WindowBuilder forum also very active 69 threads and 309 posts since 12/15/2010 1415 threads and 5594 posts since July 2003 Users encouraged to post new questions to Eclipse WindowBuilder forum Scheduled to be closed on 5/27/2011 Presentations at EclipseCon and Google I/O Committers demoing at Eclipse DemoCamps in June (Boston & Atlanta) 15

IP Issues The Eclipse IP policies and procedures have been followed IP Log available at: http://www.eclipse.org/projects/ip_log.php?projectid=tools.windowbuilder Current Eclipse SUA in place for all features 16

Project Plan The project plan is available here: http://www.eclipse.org/projects/project-plan.php?projectid=tools.windowbuilder The basic goal for this first release is simple: make the existing WindowBuilder tool available to the entire Eclipse ecosystem Move existing code base to Eclipse.org namespace Establish core set of public APIs Externalize all strings to resource files for localization Further modularize the code base to minimize its required footprint Update build process to sign and compact jars Fix any and all reported bugs 17

Graduation Code Base WindowBuilder is a very stable, mature tool with >200K users Eclipse Magazin (Germany) Reader s Choice Award in 2006 for Best Eclipse-Based Commercial Software Solution Eclipse Community Award in 2009 for Best Commercial Eclipse Development Tool The WindowBuilder Engine was designed to be very modular and offers a great many extension points Pluggable support for different languages and parsers 5 public exemplary tools built using this architecture so far supporting SWT/RCP, ercp, XWT, Swing and GWT Multiple private/oem tools built using this architecture UI design tool for unnamed cell phone manufacturer UI designer embedded in Embarcadero s Jbuilder UI designer for popular phone OS at prototype phase 18

Graduation - Communities Very active user community at Instantiations/Google in the process of migrating to Eclipse.org Old and new WindowBuilder forums very active (old forum shutting down soon and all traffic actively being directed to Eclipse.org). Committer team represents four different companies (heavily weighted to Google at the moment) WindowBuilder framework in use by: Google GWT Designer Embarcadero UI Builder in JBuilder Unnamed Cell Phone Manufacturer UI design tool for proprietary UI toolkit 19

Graduation - Openness Bugzilla is in active use by users and contributors Old and new WindowBuilder forums very active (old forum shutting down soon and all traffic being directed to Eclipse.org) Many discussions about how to extend the tool Many discussions about bugs and possible enhancements Committer team is committed to being open and transparent but acknowledges that we are still learning the Eclipse way and have much more to do in this regard and much to learn from our mentors 20

Graduation - Logistics The project is committed to following the Eclipse Development Process and will be improving on this going forward The project is adhering to the Eclipse IP Policy Committers are participating in the larger Eclipse community: WindowBuilder 101 at EclipseCon 2011 WindowBuilder at Eclipse DemoCamps in Atlanta & Boston [upcoming] GWT+UI Designer at Google I/O 2011 The project is a credit to Eclipse and of great benefit to the Eclipse community 21

Graduation - Conclusion WindowBuilder wishes to exit incubation to release 1.0.0 WindowBuilder wishes to be included in the following Indigo packages: Eclipse IDE for Java Developers see Bugzilla Bug 343869 Eclipse for RCP and RAP Developers See Bugzilla Bug 343871 We are requesting an exception to the normal Eclipse time-scale based on the following: WindowBuilder is a very mature project The team has worked on open source projects in the past We will continue to work closely with our mentors going forward toward Juno We are confident that we will be able to better follow the normal milestone flow for Juno 22