INNOV-14: A Look Inside the OpenEdge® UI Research Lab Shelley Chase schase@progress.com Bruce Gruenbaum bgruenba@progress.com Architect Principal Software Engineer Purpose of this Talk UI is a critical component of a successful business application • Provides sizzle for functionality • Differentiator during a sale Recent focus has been SOA components Expanding our focus on UI • Share our research efforts with you • Get your feedback (today, e-mail, PSDN) • You can influence future UI direction! INNOV-14: A Look in the OpenEdge UI Research Lab 2 © 2006 Progress Software Corporation Under Development D I S C L A I M E R This talk includes information about potential future products and/or product enhancements. What we are going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. D I S C INNOV-14: A Look in the OpenEdge UI Research Lab L A I M 3 E R © 2006 Progress Software Corporation Agenda What’s available today in OpenEdge Future UI Industry Trends A look inside the OpenEdge Research Lab Next steps - discussion INNOV-14: A Look in the OpenEdge UI Research Lab 4 © 2006 Progress Software Corporation OpenEdge GUI Options Today OpenEdge GUI Comparison Products OpenEdge GUI WebClient™ WebSpeed® Benefits Built-in widgets plus ActiveX controls Supported by OpenEdge frameworks Zero footprint – no install Runs anywhere Open Client Supports defacto standard Leverages host environment INNOV-14: A Look in the OpenEdge UI Research Lab Limitations Future Rich client requires ActiveX for modern UI ActiveX has limited lifecycle Built-in controls Vista doesn’t tied to Win32 API use Win32 API Browser security limitations Moving towards rich client (AJAX) Requires expertise in .NET™ / Java™ Requires expertise in .NET / Java 5 © 2006 Progress Software Corporation OpenEdge UI Product Landscape Support for thin to rich clients WebSpeed WebClient OpenEdge GUI Open Client Thin UI INNOV-14: A Look in the OpenEdge UI Research Lab Rich UI 6 © 2006 Progress Software Corporation Modern UI “Today” – Outlook Look and Feel Microsoft Office 2003 – de-facto standard Toolbar control Dockable Panels Listbar control Main panel INNOV-14: A Look in the OpenEdge UI Research Lab 7 © 2006 Progress Software Corporation OpenEdge UI - In Summary OpenEdge developers can build state-of-theart UI today using…. • Third party controls (ActiveX) – Built-in GUI widgets are limited – Frameworks (ADM2, Progress Dynamics®) are based on built-in widgets • Open Client (Java, .NET) – Need to use Java / .NET development environment for client INNOV-14: A Look in the OpenEdge UI Research Lab 8 © 2006 Progress Software Corporation OpenEdge UI - In Summary OpenEdge developers can build state-of-theart UI today using…. • Third party controls (ActiveX) – Built-in GUI widgets are limited MOVE–5: Improving the Look and Feel of Your Application – Frameworks (ADM2, Dynamics) are based on built-in widgets • Open Client (Java, .NET) – Need to use Java / .NET development environment for client INNOV-14: A Look in the OpenEdge UI Research Lab 9 © 2006 Progress Software Corporation Agenda What’s available today in OpenEdge Future UI Industry Trends A look inside the OpenEdge Research Lab Next steps - discussion INNOV-14: A Look in the OpenEdge UI Research Lab 10 © 2006 Progress Software Corporation Industry UI Landscape Exciting UI work within the industry • Support for full range from thin to rich WebSpeed AJAX Thin UI INNOV-14: A Look in the OpenEdge UI Research Lab WebClient Flex/Flash OpenEdge GUI Open Client MS .NET / Vista Java / SWT Rich UI 11 © 2006 Progress Software Corporation Industry UI Landscape Exciting UI work within the industry • Support for full range from thin to rich OpenEdge GUI WebClient Open Client WebSpeed INNOV–16: Rich UserAJAX Interface for the Web? AJAX to the Rescue Flex/Flash MS .NET / Vista Java / SWT Thin UI INNOV-14: A Look in the OpenEdge UI Research Lab Rich UI 12 © 2006 Progress Software Corporation Future Microsoft Technologies VISTA (formerly “Longhorn”) • New operating system with extended graphics capabilities • Supports WinFX programming model – Replacement for Win32 APIs – Windows Presentation Foundation (WPF) formerly “Avalon” – Windows Communication Foundation (WCF) formerly “Indigo” • Promotes Vista User Experience Guidelines (UX) INNOV-14: A Look in the OpenEdge UI Research Lab 13 © 2006 Progress Software Corporation Future Microsoft UI Technologies WPF and XAML • WPF: Framework classes and engine – Will ship for XP as well as Vista • XAML: Declarative language for UI layout – Separates UI design from UI logic code – UI roles: designer and developer Aero • Authentic, Energetic, Reflective, Open • New user experience INNOV-14: A Look in the OpenEdge UI Research Lab 14 © 2006 Progress Software Corporation Windows Vista – Sample Explorer Window INNOV–8: Demystifying Windows Vista INNOV-14: A Look in the OpenEdge UI Research Lab 15 © 2006 Progress Software Corporation Shorter Term - Microsoft Office 2007 Microsoft Office continues as the de-facto standard Office 2007 – Enhance Productivity • Controls used to simplify common use cases – Ribbons, Quick Launch Toolbar – Not based on WPF, uses some Aero concepts INNOV-14: A Look in the OpenEdge UI Research Lab 16 © 2006 Progress Software Corporation Future UI Trends - In Summary The industry is investing heavily in rich client user interfaces • Microsoft is the leader – Short term: – Long term: INNOV-14: A Look in the OpenEdge UI Research Lab Office 2007 look and feel Vista, WPF, XAML, Aero 17 © 2006 Progress Software Corporation Agenda What’s available today in OpenEdge Future UI Industry Trends A look inside the OpenEdge Research Lab Next steps - discussion INNOV-14: A Look in the OpenEdge UI Research Lab 18 © 2006 Progress Software Corporation Back in Bedford… After looking at the industry… Focus on Microsoft’s UI direction • Look and feel of Office 2007 is our first target • Vista / WPF is longer term strategy – Analysts say: Vista’s UI impact is not an immediate driver for business applications Combine MS and OpenEdge technologies • Full .NET UI support (Future: Vista support) INNOV-14: A Look in the OpenEdge UI Research Lab 19 © 2006 Progress Software Corporation Goals of a New UI Build UI applications fully in ABL and OpenEdge tools • Extend ABL to support modern UI natively –Development done using ABL exclusively • UI Design done using OpenEdge Architect –Integrate with T4BL, Catalog, DB NAV, etc. • Leverage work in industry, use standards INNOV-14: A Look in the OpenEdge UI Research Lab 20 © 2006 Progress Software Corporation New UI Runtime Architecture OpenEdge and .NET CLR communicate through a bridge ABL Program w = NEW Form( ). WAIT-FOR CLOSE OF w. Window EventHdlr1( ) … EventHdlr2( ) … 1 4 7 3 5 OpenEdge OpenEdge Runtime OpenEdge UI (Controller) Bridge Microsoft CLR 2 Bridge .NET UI (View) 6 INNOV-14: A Look in the OpenEdge UI Research Lab 21 © 2006 Progress Software Corporation Closer Look at Possible ABL – Create Form Leverage Object-oriented extensions in OpenEdge 10.1A DEFINE VAR w AS System.Windows.Forms.Form. DEFINE VAR b AS System.Windows.Forms.Button. DEFINE VAR e AS System.Windows.Forms.Edit. w = NEW System.Windows.Forms.Form( ). b = NEW System.Windows.Forms.Button( ). e = NEW System.Windows.Forms.Edit( ). ... /* Add controls to form */ w:Controls:Add(b). w:Controls:Add(e). INNOV-14: A Look in the OpenEdge UI Research Lab 22 © 2006 Progress Software Corporation Closer Look at Possible ABL - Events Leverage Object-oriented extensions in OpenEdge 10.1A /*Subscribe handler to event */ SUBSCRIBE THIS-OBJECT:BtnClick TO CLASS-EVENT b:Click. ... /* WAIT for form to be closed */ WAIT-FOR w:Show(). /* Handler to run when event published */ METHOD PUBLIC VOID BtnClick(Object o, Object arg): b:Text = “I’ve been clicked”. END. INNOV-14: A Look in the OpenEdge UI Research Lab 23 © 2006 Progress Software Corporation OpenEdge Architect – Prototype support ABL Editor Tools for Business Logic Meta Catalog Future: New Visual DB Debugger Navigator New Plug-ins Designer Eclipse (foundation platform) OpenEdge Development Server OpenEdge Studio Application Server WebSpeed Transaction Server Client Networking AppBuilder Pro*Tools, ProxyGen WebSpeed Workshop OpenEdge Database Data Administration OpenEdge OpenEdge RuntimeRuntime / Microsoft CLR INNOV-14: A Look in the OpenEdge UI Research Lab 24 © 2006 Progress Software Corporation New UI Demos Demo 1 • OpenEdge ABL – Modern UI Look and Feel Demo 2 • Build using OpenEdge Architect – Reduce hand coding required for Demo 1 INNOV-14: A Look in the OpenEdge UI Research Lab 25 © 2006 Progress Software Corporation OpenEdge New UI Goals – In Summary OpenEdge developers need to build a state-ofthe-art UI where: • ABL natively supports state-of-the-art GUI • Built using OpenEdge Architect • Customization available at design time and runtime Developers can focus on building business applications INNOV-14: A Look in the OpenEdge UI Research Lab 26 © 2006 Progress Software Corporation Agenda What’s available today in OpenEdge Future UI Industry Trends A look inside the OpenEdge Research Lab Next steps - discussion INNOV-14: A Look in the OpenEdge UI Research Lab 27 © 2006 Progress Software Corporation Frequently Asked Questions I love it, when can I have it? • No specified release / commitment I hate it, are you open to changing direction? • Let us know your needs/requirements. Contact Salvador Vinals at svi@progress.com Will .NET forms and existing GUI windows be allowed in a single application? • Of course What should I do now? • Move to OpenEdge 10, learn OO, follow MVC model INNOV-14: A Look in the OpenEdge UI Research Lab 28 © 2006 Progress Software Corporation Questions for You? What do you think of this direction? Did we miss something? Was this sharing of information useful? Open Q & A INNOV-14: A Look in the OpenEdge UI Research Lab 29 © 2006 Progress Software Corporation In Summary OpenEdge development is researching a UI solution that is: • Build entirely in the ABL using OpenEdge tools • State-of-the-art • Positioned for the future INNOV-14: A Look in the OpenEdge UI Research Lab 30 © 2006 Progress Software Corporation Thank you for your time INNOV-14: A Look in the OpenEdge UI Research Lab 31 © 2006 Progress Software Corporation INNOV-14: A Look in the OpenEdge UI Research Lab 32 © 2006 Progress Software Corporation