Monday Sep 07, 2015

Every Word Counts: Translating the Oracle Applications Cloud User Experience

Loic Le Guisquet. Image by Oracle PR.

"Successfully crossing new frontiers in commerce needs people who understand local preferences as well as global drivers. In addition, technology has also been a great enabler of globalization, so the right balance between people and tech is key to success."

- Loïc Le Guisquet, Oracle President for EMEA and APAC

Oracle's worldwide success is due to a winning combination of smart people with local insight and great globalized technology. The Oracle Applications Cloud experience (UX)—that competitive must-have and differentiator—is also a story of global technology and empathy for people everywhere.

UX provides for the cultural dynamics of how people work, the languages they speak, and local conventions and standards on the job. So, how do we deliver global versions of SaaS? Oracle Applications UX Communications and Outreach's Karen Scipi (@karenscipi) explains:

How We Build for Global Users

Oracle Applications Cloud is currently translated into 23 natural languages, besides U.S. English, using a process that ensures translated versions meet the latest user expectations about language, be it terminology, style, or tone.

Oracle HCM Cloud R10 Optimized for Global Working on YouTube

Global Workforce Optimization with Oracle HCM Cloud Release 10: More than 220 countries or jurisdictions supported.

Oracle Applications Cloud is designed for global use and deployment, leveraging Oracle ADF’s built-in internationalization (i18n) and translatability support to make development and translation easy. For example:

  • Translatable text is stored separately (externalized) from the application code for each language version (called a National Language Support [NLS] version).
  • Externalized text is contained in industry-standard XML Localization Interchange File Format (XLIFF)-based resource bundles, enabling not only safe, fast translation but also easy maintenance on a per language basis.
  • Currency, date, time, characters, reading and writing directions, and other local standards and conventions are automatically built in for developers. Oracle ADF uses the industry-standard i18n support of Oracle Java and Unicode.

In addition:

  • Users can enter and display data in their language of choice, independent of the language of the user interface: relying on what we call multilingual support (or MLS) architecture.
  • The software includes global and country-specific localizations that provide functionality for country- and region-specific statutory regulatory requirements, compliance reporting, local data protection rules, business conventions, organizational structure, payroll, and other real-world necessities for doing business with enterprise software.
  • Users can switch the language of their application session through personalization options.
  • NLS versions can be customized and extended in different languages by using Oracle composer tools to align with to align with their business identity and process. Translated versions too rely on the same architecture as the U.S. version for safe customizations and updates.

How We Translate

During development, the U.S. English source text is pseudo-translated using different language characters (such as symbols, Korean and Arabic characters), "padded" to simulate the longer words of other languages, and then tested with international data by product teams. This enables developers to test for translation and internationalization issues (such as any hard-coded strings still in English, or spacing, alignment, and bi-directional rendering issues) before external translation starts.

Hebrew version of Oracle Sales Cloud Release 8

Internationalized from the get-go: Oracle Sales Cloud in Hebrew (Release 8) shows the built-in bi-directional power of Oracle ADF.

For every target language, the Oracle Worldwide Product Translation Group (WPTG) contracts with professional translators in each country to perform the translation work. Importantly, these in-country translators do not perform literal translations of content but use the choice terms, style, and tone that local Oracle WPTG language specialists specify and that our applications users demand in each country or locale.

Mockup of French R10 Oracle Sales Cloud

Mockup of an Oracle Sales Cloud landing page in French. (Image credit: Laurent Adgie, Oracle Senior Sales Consultant)

NLS versions of Oracle Applications Cloud are made available to customers at the same time as the U.S. English version, released as NLS language packs that contain the translated user interface (UI) text, messages, and embedded help for each language. The secret sauce of this ability to make language versions available at the same time is a combination of Oracle technology and smart people too: translation, in fact, begins as soon as the text is created, and not when it's released! 

And, of course, before the NLS versions of Oracle Applications Cloud are released, Oracle language quality and functional testing teams rigorously test them.

The Language of Choice

Imagine an application that will be used in North America, South America, Europe, and Asia. What words should you choose for the UI?

  • The label Last Name or Surname?
  • The label Social Security Number, Social Insurance Number, or National Identification Number?
  • The MM-DD-YYYY, DD-MM-YYYY, or YYYY-MM-DD date format?

The right word choice for a label in one country, region, or protectorate is not necessarily the right word choice in another. Insight and care is needed in that decision. Language is a critical part of UX and, in the Oracle Applications Cloud UX, all the text you see is written by information development professionals, leaving software developers free to concentrate on building the applications productively and consistently using UX design patterns based on Oracle ADF components.

Our focus on language design—choosing accurate words and specialized terms and pairing them with a naturally conversational voice and tone—and providing descriptions and context for translators and customizers alike-also enables easy translation. Translated versions of application user interface pages are ultimately only as accurate, clear, and understandable as their source pages.

In a future blog post we'll explore how PaaS4SaaS partners and developers using the Oracle Applications Cloud Simplified UX Rapid Development Kit can choose words for their simplified UIs that will resonate with the user’s world and optimize the overall experience.

For More Information

For insights into language design and translation considerations for Oracle Applications Cloud and user interfaces in general, see the Oracle Not Lost in Translation blog and Blogos.

Monday Jul 07, 2014

Designing a Naturally Conversational User Experience for the User Interface

By Georgia Price and Karen Scipi

Think about the software applications you like most. Why do you like them? How do they make you feel? What is your experience like when you use them? The most successful user interfaces—those that delight users—focus equally on the intersection of visual, interaction, and language design.

Visual and interaction design get a lot of play in the enterprise software development environment. Yet language design directly impacts a user’s ability to complete tasks. The use and arrangement of general words, specialized terms, and phrases on the UI promote a naturally conversational voice and tone and inform and induce user actions.

Simply put, the words, terms, and phrases that we promote on a UI either facilitate or hinder the user experience and either delight or frustrate the user.

As Oracle Applications User Experience language designers, we took this message on the road last month as featured speakers at the Society for Technical Communications Summit, where we presented two papers: Designing Effective User Interface Content and The Unadorned Truth About Terminology Management: Initiatives, Practices, and Melodrama.

Society for Technical Communication Summit logo

If attendance is any indication, our message resonated with many. More than 115 people gathered to hear us talk about how designing language for the UI is just as important when building effective, simplified user experiences as creating the right interactions and choosing the right images, icons, colors, and fonts. Dozens lined up after our talks to ask questions and to learn more, making us realize that many others who build software applications  are also grappling with how to design language to enable more simplified user experiences.

Perhaps we can pique your interest! Over the coming weeks, we'll share our thoughts and experiences on language design. Stay tuned to the Usable Apps blog to learn more about what language design is and how we use words, terms, and phrases, as well as voice and tone, to help build simplified user experiences and easy-to-understand UIs.

Wednesday May 28, 2014

Oracle Applications Cloud Release 8 Customization: Your User Interface, Your Text

Introducing the User Interface Text Editor

In Oracle Applications Cloud Release 8, there’s an addition to the customization tool set, called the User Interface Text Editor  (UITE). When signed in with an application administrator role, users launch this new editing feature from the Navigator's Tools > Customization > User Interface Text menu option.

See how the editor is in there with other customization tools?

User Interface Text is launched from the Navigator

User Interface Text Editor is launched from the Navigator Customization menu

Applications customers need a way to make changes to the text that appears in the UI, without having to initiate an IT project. Business users can now easily change labels on fields, for example. Using a composer and activated sandbox, these users can take advantage of the Oracle Metadata Services (MDS), add a key to a text resource bundle, and then type in their preferred label and its description (as a best practice for further work, I’d recommend always completing that description).

Oracle Composer used to change field labels

Changing a simplified UI field label using Oracle Composer

In Release 8, the UITE enables business users to easily change UI text on a much wider basis. As with composers, the UITE requires an activated sandbox where users can make their changes safely, before committing them for others to see.

The UITE is used for editing UI text that comes from Oracle ADF resource bundles or from the Message Dictionary (or FND_MESSAGE_% tables, if you’re old enough to remember such things).

Functionally, the Message Dictionary is used for the text that appears in business rule-type error, warning or information messages, or as a text source when ADF resource bundles cannot be used. In the UITE, these Message Dictionary texts are referred to as Multi-part Validation Messages.  

If the text comes from ADF resource bundles, then it’s categorized as User Interface Text in the UITE. This category refers to the text that appears in embedded help in the UI or in simple error, warning, confirmation, or information messages.

The embedded help types used in the application are explained in an Oracle Fusion Applications User Experience (UX) design pattern set. The message types have a UX design pattern set too.

Using UITE 

The UITE enables users to search and replace text in UI strings using case sensitive options, as well as by type. Users select singular and plural options for text changes, should they apply.

Searching and replacing text in UIT

Searching and replacing text in the UITE

The UITE also provides users with a way to preview and manage changes on an exclusion basis, before committing to the final result. There might, for example, be situations where a phrase or word needs to remain different from how it’s generally used in the application, depending on the context.

Previewing tech changes before saving

Previewing replacement text changes. Changes can be excluded where required.

Multi-Part Messages

The Message Dictionary table architecture has been inherited from Oracle E-Business Suite days. However, there are important differences in the Oracle Applications Cloud version, notably the additional message text components, as explained in the UX Design Patterns.

Message Dictionary text has a broad range of uses as indicated, and it can also be reserved for internal application use, for use by PL/SQL and C programs, and so on. Message Dictionary text may even concatenate at run time, where required.

The UITE handles the flexibility of such text architecture by enabling users to drill down on each message and see how it’s constructed in total. That way, users can ensure that any text changes being made are consistent throughout the different message parts.

Multipart messages in UI

Multi-part (Message Dictionary) message components in the UITE

Message Dictionary messages may also use supportability related numbers, the ones that appear appended to the message text in the application’s UI. However, should you have the requirement to remove these numbers from users' view, the UITE is not the tool for the job. Instead, see my blog about using the Manage Messages UI.

Wednesday Jan 08, 2014

Designing the Language Experience of the User Interface

When you think about any user interface (UI) guideline and you hear “language of the user,” what do you think?

  • I should be able to understand the words I see on the UI.
  • The words I see on the UI should be meaningful to the work that I do.
  • The words I see on the UI should be translatable and localizable.

The usability of business applications has evolved, and business applications have become more consumer-focused. The average user’s understanding of business applications has evolved as well. Technology and know-how now allow us to build contextual user experiences into applications and to design language experiences for the UI—with style, tone, terms, words, and phrases—that resonate with real users and their real, every day work experiences in the real world, across the globe.

For example, on the Oracle Human Capital Management Cloud My Details page, notice how the sections are organized, how they use real-world terms in headings and field labels, and how they use real content, such as personal and biographical details instead of placeholder text, which cannot be evaluated for its meaning or translation or localization needs.

Oracle Human Capital Management Cloud My Details page

Choosing which terms, words, and phrases to include on the UI is as important as choosing the right terms to use in code. In code and on the UI, the terms and words should be accurate in context and enable the successful completion of a task in context, whether the context is the processing of an event in the code or the user adding information to a contact record on a form in the UI.

37signals book, Getting Real, dedicates a short essay, Copywriting is Interface Design, to the importance of copywriting in UI design and how important every single word choice on is for the UI.

There are also numerous resources that support that choosing terms, words, and phrases for the UI that accurately represent real-world concepts in their source language often enables the translation and localization experiences. For examples, see Ultan Ó Broin’s Blogos entry Working Out Context in the Enterprise: Localize That! and Verónica González de la Rosa and Antoine Lefeuvre’s slideshare ‘Translation is UX’ Manifesto.

So how do we design a rich, context-aware UI language experience for today’s user?

  • We use accurate terms to represent concepts that are well-established in the real world by real users. These are the terms that users use frequently, terms such as team or shopping cart.
  • We use terms consistently to represent the same concepts across applications. We wouldn’t use location in one place and party site in another to represent the same concept, or save and submit to represent the same concept.
  • When we need to use these terms in context of phrases on the UI, we do so with a style and tone that resonates with users and yet is still translatable and localizable. This means that we don’t introduce nonsensical words or instant messaging-speak. We offer phrasing that is simple and clear: Add a new customer record.
  • We stop surfacing the language of the application on the UI, for example, code-specific terms. When we use a term like worker in the code as an abstraction or a superclass to represent the concept that a person can assume the role of “employee” or “contractor” in the system, this use makes sense in context of where and how it is used in code. When we surface the term worker on the UI to represent either or both roles, we introduce a context-independent use of this concept and one that when tested, we learn is not necessarily translatable or localizable in such a context.

Jakob Nielsen in his 1995 article 10 Usability Heuristics for User Interface Design identified a need for this practice of using language choices that resonate with real users: “The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.”

A simplified UI is simple to build, simple to extend, and simple to use. Use and context awareness require us to build applications that focus equally on code, visual design, and language (UI) design. Every page that we surface to the user should make sense to the user in context of his work and the real world. The practice of designing the language that is used on the UI offers us an extraordinary opportunity to evolve how we communicate with users to enable their work everywhere.


Welcome to the Usable Apps in the Cloud blog.

Learn more about us at
Usable Apps


« December 2015