How to Develop Great Oracle Applications User Experiences with Design Patterns
By Ultan O'Broin Oracle UX-Oracle Paas4SaaS-Oracle on Mar 25, 2013
Enterprise application software development is all about being smart with architecture and methodology as well as knowing your code. Best practices such as using software design patterns for the abstraction of UI from logic (for example, the object oriented Abstract Factory and Decorator design patterns) are great reusable solutions and productivity enhancers that developers already rock with.
Oracle ADF developers will already be familiar with the concept of separating UI and logic, abstraction, and reuse through the underlying Model View Controller and Java EE patterns of ADF, the declarative componentization of ADF Faces, skinning, and perhaps most strikingly by the code-once for different platforms paradigm of ADF Mobile.
The ADF components and guidelines and Oracle Fusion Applications
patterns and guidelines used by Oracle
as the building blocks
for the Oracle Fusion Applications UX are used by customers and partners
build great applications customizations and extensions too.
Design Patterns and Applications Development
Enterprise software architecture patterns make for productive development while providing for enterprise requirements of scalability, performance, security, and maintenance. It also enables customers and partners to take advantage of a great user experience (UX). UI or platform changes? No problem...
UX design patterns are the interaction (or usability, if you like) equivalent of software architectural design patterns. True to the design pattern concept, UX design patterns, too, are common reusable solutions. Based on ADF component usage guidelines and insight into how users work, the Oracle Fusion Applications UX design patterns mean that ADF developers can now go much further than writing code, by building a great user experience for applications users.
The UX design patterns can also be used to solve usability design problems in applications developed using other technology frameworks, and you can see them at work in Oracle applications (Oracle EBS, PeopleSoft, JD Edwards, Siebel, and so on) too.
Proving the Development Benefits of Design Patterns
Using these already tested UX design patterns enables productive development (why sweat the UI or usability on top of code issues?). Applying them to a scalable and flexible enterprise software architecture means continued ROI for apps customers who can continue to uptake advances in functionality through a consistent, compelling, modern applications user experience.
BS theory? No. I came across a compelling design pattern methodology story recently of how an Oracle E-Business Suite customization based on UI abstraction was built with Oracle ADF and BEPL by a partner, Innowave Technologies. The Oracle Fusion Applications UX design patterns provided the UI for the underlying logic (a user experience based on a UI Shell with dynamic tabs as the transactional work area as it happens).
Dynamic tabs work area guidelines from Oracle Applications User Experience.
Dynamic tabs are a great usability solution for multi-tasking users who like to work flexibly.
Basheer Khan, Innowave Technologies CEO told me “An excellent proof point of using UX design patterns on an abstracted UI was that our client upgraded functionality from one EBS release to the next while we built their apps modules. We were then able to connect the users into the latest functionality seamlessly.”
A solid architecture of UI abstraction and UX design patterns means Oracle Applications customers can now upgrade versions of Oracle applications and have a smooth path to coexistence and eventual full Oracle Fusion Applications adoption. The loose coupling of UI and functionality approach means development and QA efficiencies with the result of a shorter time to go live. Instead of business downtime with loss of productivity for users, there is painless user adoption and performance delivered from the proven productive and consistent UX solutions of design patterns. Basheer continues:
“CIOs are enthusiastic that they can have an upgrade smooth path for upgrades that also gives their users a compelling and modern UX along the way.”
So, if you’re an applications customer, or on the journey to Fusion, think about how Oracle technology and UX together provides a roadmap for continued ROI from your applications regardless of deployment model.
Smart partners like Basheer’s are ready to provide such ROI to customers, and he tells me “By default the Innowave team leverages the design patterns, it’s become part of our culture now to add usability to functionality. It helps us differentiate our approach from other partners.”
Productive Cloud Development
As chief evangelist for the UX design patterns story I tell our customers, partners and the development community about how design patterns are created and the benefits of using them. I love stories like Innowave Technologies’; it’s when I see the story happen in the wild that I really feel like we’ve moved to the next phase of the UX design pattern proposition. And it’s still evolving: moving to the cloud and ever-fluid development with our toolkit, with customers demanding the best of what Oracle technology offers as well as great UX, means techniques such as abstraction of UIs and UX design patterns will become even more important to developers.
Cloud-based development using hot-pluggable remote task flows, web services, and APIs is the way to go for competitive enterprise application uptake in the cloud, but apps users still demand a UI they know and want to use! So, as the cloud development community accelerates through the trajectory of not writing UIs, but writing UI services instead, they can turn to the UX design patterns as the front-end usability solution for the cloud development model. We’re done the usability thinking so that cloud developers don’t have to.
How to Find UX Design Patterns
To get going with the UX design patterns, go to the Usable Apps website and find the For Developers section. And, for more UX developer enablement, such as for the building great looking usable apps workshops and helping ADF developers to build great enterprise applications, keep coming back to Voice of User Experience (VOX) blog, or follow along with the latest and greatest on Twitter (@usableapps).