November 04, 2010

Top 5 Signs Your Business Applications Are In Need of a Facelift

Posted by Colleen Smith

How can you tell if your application needs a facelift?   Here are some telltale signs:

 1.  You turn on your computers and the screen shows a 1980’s “Green Screen” interface from MS DOS.

Today’s workforce is full of young digital natives, but many of today’s business applications seem stuck in the middle ages. This younger workforce needs to have an intuitive user interface (UI), similar to what they are used to using on a daily basis in Gmail, iTunes, and smart phones. Reading email on a green screen interface is just not appealing.

And this UI issue goes beyond just being intuitive – some companies are finding it hard to recruit younger workers due to their older, prehistoric looking applications.

It is important that we modernize our applications to look like the things we use on an every day basis at home, and move away from the dark (green) ages.

2.     You have to go to nine different screens to enter one invoice.

Today’s application users seek simplicity and ease of use, and hope to avoid complicated entry methods at all costs. Having an application that requires multiple pages of entry is not only complicated, but time consuming as well.

For instance, imagine if in order to send a text message from your iPhone, and it was a character DOS based prompt or even worse if you had to use a rotary dialer. Today, phones are able to store countless phone numbers, and you can even dial by voice – making the phone much simpler and easy to use.

Whether it’s five minutes or five pages, if your applications are complicated and not easy to use, then it’s time to consider modernizing your apps.

3.     You have to run from desktop to desktop to download an application onto each computer.

 Today’s workforce is no longer in one place – employees are traveling, working remotely, and need to be able to access important information on their phone. Yet many companies still rely on a sneaker network, where IT professionals must run from desktop to desktop, adding applications to each computer.

For instance, it wouldn’t make much sense if Google had to visit everyone with a computer that used their search engine to load updates. That is why web-based applications are so great, they are easy to update, and very portable – accessible from your cell phone, iPad, laptop, or desktop.

If you have a fat client server, and applications that reside on every desktop then you need an application facelift. 

4.     Your application can’t integrate with other applications.

Today we live in an integrated world – where applications are constantly communicating with each other to make our lives easier. However, many companies still rely on stand-alone apps – where the information you enter into one app stays only in that app.

It would be like if you went to department store, and in order to use your credit card the cashier had to enter your credit card information manually, call the credit card company to authorize the charge, then enter a authorization code to finish the transaction. Today it’s just swipe and your done – all of the applications are integrated and communicate behind the scenes. A lot of places will even remember your information and what you bought last.

It is clear that applications can’t stand-alone any more. If your applications aren’t integrated, then your apps are in need of a facelift.

5.     Your customers are all running completely different version of your applications

Today’s application provider should be able to support a single, multi-tenant application, allowing for multiple customers who can each personalize the application. This won’t work if all of your customers have different versions of your application, and you spend all your time managing and maintaining each version.

Back in the day, you weren’t a software provider; you were a custom consulting organization. It would have take two to five weeks of a consulting engagement just to make a change to the application.

If you are looking to deliver better services to customers, your apps needed to be workflow enabled. If you can’t run your business with a single code, then you should look into modernizing your app and taking advantage of newer technologies such as business process enablement.

What is Application Modernization all about and why should you care?

Posted by Colleen Smith

For successful businesses, the saying “don’t fix what ain’t broke,” has long been the standby guideline. That said, while your applications may technically be running properly, they very well might be quite broken.  It just depends on your definition of broken.

Today’s developers and technology strategists look upon an application with additional scrutiny. A “broken” application can be one that carries any inherent risk to many companies in ways that you may not have considered, such as: 

  • Lack of employee productivity
  • Less than stellar business process efficiency
  • Customer dissatisfaction due to speed of service delivery
  • Negatively affecting employee/customer retention and/or acquisition

For example, one of our customer’s that I was meeting with mentioned that its point-of-sale (POS) system, while running quite well and doing everything the company needed it to do, however unknown to them -it was in fact an inhibitor to the recruitment efforts for new sales associates in the stores. 

In this case, it came down to the user interface. The company’s application was functional, but it seemed terribly out of date to nearly anyone looking at it for the first time. The company learned that potential employees, who were 17-24 years of age, not only feared a steep learning curve, but actually perceived the POS system to be difficult to use, as they were used to a more “IPod” look & feel.

This is because the 21st century workforce is largely made up of digital natives, people who have grown up with an electronic lifestyle.  They are quite used to the human-machine interaction – but they absolutely need to feel at home in the user-interface of the applications that they use.

There are many easy ways to update applications, without requiring a complete redesign or even rip & replace of the back-end.  Some, like in the example above, center on the user interface.  Other application modernization efforts may focus on adding devices that are more suited for data entry in the worker’s environment, for example, enabling the use of ruggedized scanners at loading docks, or inclusion of data arising from digital scales.

Updating your applications may also save money in the long run. Out of date, sprawling applications tend to be more expensive to support.  As an old application continues to age, fewer folks within the IT organization may actually understand how the application was built or how to support it.  Inefficient applications may also lead to extraneous resource use (i.e., Internet bandwidth, database size) or require more constant support on the back-end.  Further, quite often, developers must spend time managing various versions of the application, instead of being able to update just one set of code.

The bottom line is that business workflows are continuing to change to become more dynamic and efficient, so applications need to be changed as well to best support those new processes.  That is what we see as a sure sign for the need to undertake an Application Modernization effort.

April 13, 2009

Leveraging all the OpenEdge Architect Has to Offer

Posted by Ken Wilner

I recently came back from a trip to Europe where I presented the OpenEdge Strategy and Roadmap at the ProAlpha user conference held in Frankfurt, as well as at the OpenEdge 10.2A Partner Technical Forum held in Frankfurt and Vienna.  And while it is always fun to be able to talk about our strategy and roadmap with customers, let me say what I found most impressive was seeing the way that our strategy is really starting to payoff for many of our customers specifically in the way they have enhanced and extended the functionality that is provided by OpenEdge Architect to provide their own purposed tools in OpenEdge Architect’s Eclipse-base framework.

For example, Gunnar Schug from ProAlpha discussed with me how they are working on building their own tools Eclipse-based tools for OpenEdge Architect that do code analysis to ensure that they fit in with ProAlpha’s coding conventions.  ProAlpha is also leveraging the Mylin Eclipse plugin to improve and automate task management as part of the SDLC lifecycle.

Robert Prediger from ic4b AG demonstrated his Web4Biz framework and showed how he used the BackBase Eclipse plugin to build an Ajax interface for his OpenEdge Content Management System application.  The back-end architecture is all OpenEdge ABL and Application Server driven.

Klaus de Vries and Klaus Erichsen from IAP demonstrated their OF-1 framework which allows an OpenEdge developer to generate an OpenEdge GUI, an OpenEdge GUI for .NET, Java, and an Ajax UI from a common model, based on common visual designer, and have integrated this all into OpenEdge Architect.

Mike Fechner  from  Consultingwerk  focuses his time  on mentoring application partners to embrace the new OpenEdge 10.2A capabilities. During the forum he demonstrated his Dynamics for .NET framework showing how he has extended the Dynamics framework to support the OpenEdge GUI for .NET interface.

He also introduced “WinKit – Windows Integration Toolkit”, which simplifies the programming model when using the new OpenEdge GUI for .NET feature by adding a “productivity layer”,  and also takes advantage of  smart coexistence capabilities to run classic OpenEdge GUI Windows in an OpenEdge GUI for .NET MDI container. 

He built and developed these controls using the OpenEdge GUI for .NET capabilities built into OpenEdge Architect, but the other great thing is because the visual designer built into OpenEdge Architect is so extensible, he can access these new controls directly in the visual designer itself.

But a slick user interface needs a powerful business application in order to be useful, and Mike is working very closely with Thomas Wurl from Taste IT Consulting for that part. Together they have set up a joint project to merge the concepts of ADM2 and OpenEdge Reference Architecture (OERA)  with the OpenEdge GUI for .NET and Object-Orientation.  This framework and set of design tools includes Mike’s Smart Component Library – “Smart” GUI for .NET Components – with Thomas’ “tic-Enterprise” Developer and Framework.


It generates  an object-oriented OERA (O3ERA) backend from an imported Database Schema, defining Business Entities and generating classes and everything needed to have a full OERA Implementation.  

The above are just a few examples of why the value of OpenEdge Architect is greater than just the functions and features that you get with the product.  If you are using OpenEdge Architect then great.  Start leveraging some of the more advanced features, learn about the OpenEdge GUI for .NET, and try building something with the Visual Designer.  And now is a great time to start learning all that the Eclipse community has to offer so head on over to the Eclipse Web site.

If you are not using OpenEdge Architect, then it’s time to get started.  Work with your Progress account team to figure out the best way to introduce OpenEdge Architect into your environment, and checkout the OpenEdge Developers Corner for lots of good content on how you can get started with OpenEdge Architect.

 

Ken

 

 

March 02, 2009

GUI presentation models - more than just look and feel

Posted by Shelley Chase

While working on a new ABL sample using OpenEdge GUI for .NET, I started thinking about the different presentation models that are available to an ABL programmer in 10.2A. While much of Microsoft geeks are focused on the cool new features of Vista, OpenEdge stays focused on real world business applications. Business applications need a productive, full-featured user interface whose purpose goes beyond catching the user’s attention. Since these applications must be functional above all else, the need for Vista’s multimedia effects (video, animation, graphics) might be nice but not critical. Business applications have a typical set of features that are often reused over and over again. These features include:

  • Support Create, Read, Update, Delete (CRUD) capabilities – data entry and persistence
  • Data managed in a grid or multiple entry fields

One of ABL’s core strengths has always been its ability to manage the backend data easily, with built-in and native data awareness and transactional support in the language. Now with OpenEdge GUI for .NET, you have even more choices available to select the right presentation model for your applications. In general business applications have many different screens to show to their users and often there is need to show more than one simultaneously. There usually is a central way of managing the various screens (a window manager), as well as some means of transitioning between them. It is crucial that users can easily navigate the application, and can use it in a flexible way that fits with their needs.

The presentation models to consider are:

  • Single Document Interface (SDI)
  • Multiple Document Interface (MDI)
  • Tabbed Document Interface (TDI)
  • IDE Style Interface (IDE)

Single Document Interface

SDI organizes graphical user interface applications into individual windows that the operating system's window manager handles separately. Each window contains its own menu or toolbar – there is no concept of a “parent” window. Applications which allow the editing of more than one document at a time, e.g. word processors give the user the impression that more than one instance of an application is open instead of a single application with multiple documents. Each window displays as an individual entry in the operating system's task bar or manager – which might group windows of the same application.

          Microsoft Word and Excel are examples of an SDI application.

Multiple Document Interface

MDI organizes graphical user interface applications into many windows that reside under a single parent as opposed to all windows being separate from each other like SDI. A single menu bar and/or toolbaris shared between all child windows, reducing clutter and increasing available screen space. In MDI a single instance of the application is shared and the child windows all float within the parent (container) window.

The disadvantage of MDI is that it is easy to “lose” a child window when many windows are open simultaneously. In order to view the list of windows open in MDI applications the user typically has to go to the menu bar, moving their focus out of the child window area.

Tabbed Document Interface

This is a specialization of the MDI model. Like MDI, TDI organizes graphical user interface applications into many windows that reside under a single parent window. Unlike the floating child windows of MDI, in TDI each “window” is displayed in its own tab. This makes it much easier to find open windows than traditional MDI. TDI windows must always be maximized inside their parent window, and as a result only one tab can be viewed at a time.

The disadvantage of TDI is with only a single window available at a time, comparing information or copy-and-pasting between two windows is more difficult. Additionally although tabs make it easier to find open child windows, if there are a large number of windows opened simultaneously there are many tabs for the user to search before finding the one they are looking for.

Firefox is an example of a TDI application.

IDE Style Interface

IDE Style Interface is another specialization of the MDI model. Like MDI, IDE organizes graphical user interface applications into many windows that reside under a single parent window. An IDE-style interface is a superset of the MDI model with features available to support the child windows that are not normally available in traditional MDI applications. These child-window features include:

  • TDI model for child window
  • Ability to view child windows simultaneously using splitter
  • Separate window management for child windows - normally tree-based
  • Additional, independent panels to support application – these often use a tabbed interface

Microsoft Visual Studio.NET and Eclipse are examples of IDE applications.

Microsoft Outlook

Microsoft Outlook, and its very popular user interface metaphor, is not true to any of these models. It is closest to an IDE application without tabs for the child windows. Or you could consider it an MDI application with child-window features.

When you plan to redesign your appIication's user interface, consider which of there models works best for your application and users. This is not a one size fits all solution but one that is customizable for your needs. With the new GUI for .NET you get access to Microsoft .NET Windows Forms, an extremely full-featured user interface solution. In Microsoft’s own words “With Windows Forms, you can create powerful Windows-based applications. You can harness the power of Windows Forms to display data, handle user input, and deploy your applications easily and with enhanced security.”

October 13, 2008

Rich Internet Applications (RIA) and Progress OpenEdge

Posted by Salvador Viñals

Some replies and comments to my previous blog RIA Rich Clients mainstream in 2-5 years? Progress customers have them since the year 2000! made it clear that the concept of Rich Internet Applications is still confusing to many; In that blog I explained that Progress Software has had RIA Rich Clients since the year 2000, with the introduction of our product Progress® WebClient™.

But RIA Rich Clients are only one of the types or categories of RIA. In this posting I will briefly introduce the major RIA categories and the options that OpenEdge® customers have to use them.

Let's start with a definition: What are Rich Internet Applications (RIA)?:  Rich Internet Applications are Web applications with:

  • Features and functionality of traditional desktop applications
  • Robust user interface processing typically executed on the web client
  • And with the program state and data on an application server

In summary RIA provides the look, feel and user experience of an event-driven GUI beyond the traditional page request/response HTML model, and with the deployment and management functionality of the Web.

Note that although the definition does not state technology, or deployment methodology, many use (wrongfully) RIA and AJAX as synonyms. The analysts, the market and software vendors have established two major RIA categories: Web browser-based RIA, and Desktop-based RIA.

Web browser-based RIA are applications where the user interface runs in a Web browser, generally using (D)HTML, sometimes enriched with AJAX. Subcategories within Web browser-based RIA include:

  • Lightweight AJAX: Generally open source JavaScript libraries such as YUI, Dojo, Prototype, ExtJS, etc.
  • Heavyweight AJAX: Frameworks that have Web browser and usually server side components that provide added functionality like Web services support, REST support, database integration, etc. Some frameworks include visual designer tools as well. Examples of heavyweight AJAX frameworks include GWT, Backbase, Nexaweb, OpenLazslo, ASP.NET, JSP among others
  • RIA Platforms or Browser Plug-ins: Include Adobe Flash/Flex, Microsoft Silverlight, Java Applets, etc.

OpenEdge customers can implement any of these RIA using Progress WebSpeed or the OpenEdge Open Client for .NET or OpenEdge Open Client for Java.

Desktop-based RIA are applications where the user interface runs outside the Web browser using client-side technologies, such as Progress WebClient, Adobe Integrated Runtime (AIR), Sun Microsystems Java FX, Microsoft .NET, or Eclipse Rich Client Platform (RCP), to name just a few. These are the RIA Rich Clients that I referred to in my earlier blog.

Again, OpenEdge customers can implement these RIA using Progress WebClient (running Windows GUI or .NET), Microsoft ClickOnce with OpenEdge Open Client for .NET, Java WebStart with OpenEdgeOpen Client for Java, or Adobe AIR using Open Client for Java.

One of the most (if not the most!) important consideration when implementing RIA for business applications is to empower the developers with maximum choice. With the current state of technologies, the Web browser-based RIAs are best suited for infrequent or occasional users due to their limited richness compared to those in the desktop category. On the other hand, the Desktop-based RIAs are more appropriate for power users.

As we have seen, albeit very briefly, OpenEdge provides comprehensive choice and support of RIAs. We ensure that OpenEdge is flexible so that you can use whatever technology you want to choose to fit the needs of your customers, and we empower a service-oriented architecture that allows any and all their RIAs to access a unique set of business logic, data management, and service components running on the application server.

Hopefully this will help shed some light to the evolving RIA. As always, feel free to comment or post questions for further clarification.

Salvador

--
RIA definition from Wikipedia

August 29, 2008

RIA Rich Clients mainstream in 2-5 years? Progress customers have them since the year 2000!

Posted by Salvador Viñals

In the recent research note “Hype Cycle for Web and User Interaction Technologies, 2008”¹, published 7 July 2008 (Gartner document ID Number: G00159447),  Gartner provides a comprehensive analysis of user interface technologies for the Web throughout the Hype Cycle² stages: from Technology Trigger to Plateau of Productivity through Peak of Inflated Expectations.   In addition, for each technology Gartner assigns a projection of Years to Mainstream Adoption.

The section of the document that caught my attention and inspired me to write this blog is ‘RIA Rich Client’ by Ray Valdes.   Gartner defines ‘RIA Rich Client’ to refer to ‘…a subset of Rich Internet Application (RIA) platforms that consist of outside-the-browser client-side technology, such as Adobe Air, Sun Microsystems’ Java FX, Microsoft’s Windows Presentation Foundation, Eclipse Rich Client Platform and IBM Lotus Expeditor…’   Gartner places ‘RIA Rich Client’ in the Peak of Inflated Expectations stage with 2-5 years to Mainstream Adoption.

This is good news for Progress® customers because they have been using RIA Rich Client ‘world-class business applications³ since the year 2000, when we first introduced Progress® WebClient™ with IntelliStream™!

Progress WebClient – a product of the Progress OpenEdge® platform to deploy, provision and run Windows-desktop GUI business applications outside-the-browser over the Internet, Intranet or LAN – provides the same support for Windows-desktop graphical user interfaces as the traditional Client/Server OpenEdge client product. Once users install WebClient on their PC (one time download), they can quickly download the user interface components they need and run the application. 

You can launch Progress WebClient either from a shortcut or from a Web browser, but it does not actually run in the browser. WebClient runs in its own window as a separate application, not as a traditional plug-in to a Web browser, and not using emulation (e.g. Citrix or Terminal Services).

IntelliStream™ is a Progress technology to automate deployment and provisioning.  IntelliStream features a flexible, server-based provisioning model where ISVs can choose whether they want to provision the application from Web servers, file servers or even on OpenEdge AppServers.  IntelliStream enables WebClient to determine whether the application components have changed and need to be updated. Then WebClient downloads only those user interface resources to the users’ PC. It delivers exactly the parts of an application that end users need, when they need them. 

But we’ve not been standing still since the year 2000.  Because business power users need state-of-the-art user interfaces, WebClient has evolved to support .NET Winforms as well.

In summary, Progress WebClient retains all the richness of the traditional GUI clients but with the reach of the Internet, and automates deployment and provisioning for flexibility, ease of use and to keep the costs down, that is: Rich Client RIAs. 

--
References:
¹ Hype Cycle for Web and User Interaction Technologies, 2008
Publication Date: 7 July 2008 ID Number: G00159447
David Gootzit, Gene Phifer, Ray Valdes, Nikos Drakos, Anthony Bradley, Kathy Harris, Daniel Sholler, Massimo Pezzini, Yefim V. Natis, Bill Gassman, David Mitchell Smith, David W. Cearley, Roy W. Schulte, Stephen Prentice, Nicholas Gall, William Clark, Anne Lapkin
http://www.gartner.com/DisplayDocument?doc_cd=159447

² Understanding Hype Cycles
http://www.gartner.com/it/products/research/methodologies/research_hype.jsp

³ Progress WebClient-based business applications in production include hundreds of enterprise applications across most verticals, for example: Financial and Stock Broker Mgmt (5500 users), Growers Mgmt  (7000 users), Hospitals Mgmt, Libraries Mgmt,  Managed Healthcare, and many more.

July 01, 2008

Lions and Tigers and Bears... Oh My!

Posted by Shelley Chase

I'm back from Exchange and vacation and I would like to share some of the questions (and concerns) I heard regarding the Advanced GUI. First and foremost, let's get talk about a new name. It was announced at Exchange that the new names are OpenEdge GUI for .NET and OpenEdge Ultra Controls for .NET. I like these names as they convey exactly what the feature and product is.

Exchange was a great experience for me this year since this year is the culmination of all of the hard work we've been doing to natively integrate a .NET user interface into OpenEdge. I was at both Exchange workshops and sessions for the "Advanced GUI" - presenter of "A Deep Dive into the Advanced GUI". The interest was gratifying for me and most everyone was excited with the feature. I got a lot of accolades. But the looming question in everyone's mind was how hard is this going to be for me . I have a few comments on this.

GUI programming is GUI programming. An application gets into a wait state and an event loop takes over any processing. GUIs can be well architected or not. This remains true with .NET.

The OpenEdge GUI for .NET can easily be compared with the current OpenEdge GUI and there are a lot of similarities. I gave out a 2-page handout at Exchange on this topic. The following is an excerpt:

DEFINE VAR

C-Win

AS

WIDGET-HANDLE.

CREATE WINDOW C-Win ASSIGN …

DEFINE VAR custForm AS CLASS CustomerForm.

custForm = NEW CustomerForm( ).

DEFINE QUERY CustQry FOR Customer SCROLLING.

DEFINE QUERY custQry FOR Customer SCROLLING.

DEFINE VAR custSource AS Progress.Data.BindingSource.

custSrc = NEW Progress.Data.BindingSource ( custQry ).

DEFINE BROWSE CustBrowse QUERY CustQry …

DEFINE VAR custGrid AS Infragistics...UltraGrid.

custGrid = NEW Infragistrics…UltraGrid( ).

custGrid:DataSource = custSrc.

DEFINE FRAME Default-Frame CustBrowse …

ENABLE CustBrowse WITH FRAME Default-Frame IN WINDOW C-Win.

InitializeComponents( ):

 Controls:Add( custGrid ).

 …

(controls enables by default)

VIEW C-Win.

custForm:Show( ).

WAIT-FOR CLOSE OF THIS-PROCEDURE.

WAIT-FOR Application:Run( custForm ).

While it might take some getting used to the syntax to create and access .NET controls, it is not that hard and as you can see often a one-to-one mapping. The complexity of OOABL comes with using inheritance, interfaces and polymorphism. Getting started with the OpenEdge GUI for .NET generally does not require the use of any of these concepts except within generated code from the Visual Designer. It's good to have some of the hard work done for you!

The challenge really comes in with using the extensive features provided by the .NET controls. There are common properties, methods and events that will easily become second nature. The more specific, custom behavior of each control is more difficult to navigate. To help with this learning we are translating the samples that come with the Infragistics controls from C# to ABL. These demonstrate a large amount of custom behavior of the controls. These samples will be available with the FCS of 10.2A.

I have seen a growing beta participant list for 10.2A which is very exciting. So get out there and catch the wave! I'll try to keep back the lions.

-Shelley

June 26, 2008

Ajax in Perspective

Posted by Ken Wilner

Don’t get me wrong. I am a big fan of Ajax. In fact I spoke on Ajax at the Progress Exchange conferences in 2006 and 2007, and was very excited to see that several customers were speaking at Exchange 2008 on how to use Ajax with OpenEdge. However, given all of the hype around Ajax, I was surprised to see a recent Forrester Research report, reported on by ComputerWorld, that Ajax is not exactly living up to expectations.

You see conventional wisdom would say that with Ajax, we have finally solved the rich vs. reach problem. No longer do we need to decide if we want our applications to give users a rich dynamic experience that is tightly integrated with the desktop like a traditional desktop application, or do we want to allow our users to have access to our application where ever they are without installing anything by building a Web (browser)-based application.

With Ajax I apparently get the best of both worlds. All I need to do is pick an Ajax library is write a little bit of Javascript code or better yet use a open source Javascript library like Dojo, Prototype, ExtJS, or script.aculo.us, to simplify the development process, and presto, I now have a rich user interface running in the browser just like it runs on a desktop.

And while that certainly would be great, according to Forrester, apparently things aren’t as simple as that. According to the Forrester report while Ajax is great for the “occasional user” or the “very infrequent user”, for the “power user”, that is the user that is using the application for a significant part of the day to do their job, Ajax just isn’t holding up.

 You can read the Forrester report, or the ComputerWorld article yourself to get all the details, but suffice it to say that the reasons why Ajax is not holding up is centered around rendering performance when building complex screens, and network performance because most Ajax tend to go to the server to do validation much more than they do in a desktop-based client-server application. And while many of the Ajax libraries do a pretty good job of hiding differences across the latest versions of the most popular browsers, the problem is not completely solved because many IT organizations use  several versions of many different types of browsers and incompatibilities still do exist even with the latest versions.

So, what does this all mean? Should you stay away from Ajax? Of course not. What it does mean, however, as Salvador Vinals points out in his post in the Progress SaaS blog, and as is discussed in the Forrester report, is that you need to pick the UI technology that meets the needs of the end-user, and if your application has multiple different types of end-users with different usage patterns, then it may be highly appropriate to support more than one type of UI.

So if you have occasional users or infrequent users, users that move around a lot, and need to be able to get to the application from where ever they are then you certainly should consider building a Web UI and using Ajax to get a richer experience. I certainly would encourage it.

However, if your users are power users using a complex UI and primarily using the application from one location, then using one of the more traditional desktop UI technologies may be more appropriate.

And because we know that needs of the users and UI technologies change fairly frequently, one of the most important things you can do is architect your application based on the principles and guidelines of the OpenEdge Reference Architecture so that you can more easily change your UI or support multiple UIs when the need arises.

 


Progress Software
Progress Software