Monday Jul 09, 2012

Computer Says No: Mobile Apps Connectivity Messages

Sharing some insight into connectivity messages for mobile applications. Based on some recent ethnography done by myself, and prompted by a real business case, I would recommend a message that:


  • In plain language, briefly and directly tells the user what is wrong and why. Something like: Cannot connect because of a network problem.
  • Affords the user a means to retry connecting (or attempts automatically). Mobile context of use means users anticipate possible interruptability and disruption of task, so they will try again as an effective course of action.
  • Tells the user when connection is re-established, and off they go.
  • Saves any work already done, implicitly. (Bonus points on the ADF critical task setting scale for that one.)

The following images showing my experience while reading ADF-EMG Google Groups notification my (Android ICS) Samsung Galaxy S2 during a loss of Wi-Fi give you a good idea of a suitable kind of messaging user experience (UX) for mobile apps in this kind of situation.

Connection lost message with retry button

Inline connection lost message with Retry button

Connection re-established message

Connection re-established toaster message

The UX possible is dependent on device and platform features, sure, so remember to integrate with the device capability (see point 10 of this great article on mobile design by Brent White and Lynn Rampoldi-Hnilo) but taking these considerations into account is far superior to a context-free dumbed down common error message repurposed from the desktop mentality about the connection to the server being lost, so just "Click OK" or "Contact your sysadmin".

Wednesday May 02, 2012

Oracle Fusion Mobile Expenses

A big shout out to the Applications User Experience team (and the rest of the team too) for the Oracle Fusion Mobile Expenses app. Check iTunes for availability.

Brilliant.

Watch out for more articles about this kind of innovation. Expenses the way they should be done. You betcha! No more error messaging unplugged, like this real world expense form rejection method that I picked up:


PostIt note showing rejected expenses because Sellotape was used

Friday Mar 09, 2012

Wo Ist Mein Handy? Securing Data on Mobile Devices with Oracle ADF Mobile

Our user research tells us that security of devices and mobile devices and data is a major issue that needs to be addressed before an enterprise will embark on a serious mobile strategy. This is not surprising. Certainly, it’s disruptive when you lose a personal device, but the loss of a device with critical or confidential enterprise data is much more serious. The evidence that data will be compromised from lost or stolen mobile devices is very real, according to Symantec studies.


Wo ist mein handy? Stephen Fry. Copyright BBC. All rights acknowledged.

Concerns about losability have been with us for a while. A serious UX issue for sure, HCI research even considers losability/findability of mobile devices a mobile usability heuristic, à la Jakob Nielsen.

Since mobile devices often get lost, adequate measures such as encryption of the data should be taken to minimize loss. If the device is misplaced, the device, system or application should make it easy to find it back.

Bertini, E., Gabrielli, S. and Kimani S. (2006). Appropriating and assessing heuristics for mobile computing. AVI '06 Proceedings of the working conference on advanced visual interfaces.


Many devices now come with a remote wipe capability. BlackBerry has enterprise-level security. Others have an easy way to track the device’s location too (Apple's iCloud, for example). However, that’s not enough for mobile app data and usage security. Oracle ADF Mobile has the solution.

ADF Mobile's use of communication encryption, authentication through identity management, and use of access control APIs -- combined with support of native O/S device security--meets the needs of enterprises by addressing those security concerns that might hold up a mobile strategy implementation.

Watch out for more UX aspects of using ADF Mobile and other mobile UX resources on this blog, soon!

Oracle Applications User Experience Mobile Apps Design Patterns

While in Munich, I also talked about the Oracle Applications User Experience (Applications-UX) Mobile UX strategy.

The Oracle Applications-UX team has made a strategic investment in mobile user experience, with a dedicated team of cognitive psychologists; usability engineers, interaction designers, architects, and so on that innovates fast and hard, brainstorms on cutting edge mobile UX design solutions for all Oracle applications. The mobile space changes rapidly, and this presentation generated a lot of excitement and energy in the audience.

Again, I used local examples to get the message across. I used the Android version of the clever-tanken.de app as a local market example (on the day the top paid Android app in Germany) and illustrated how important ethnography is to the user-centered design process behind our mobile strategy.


Finding that cheap gas in Germany with the clever-tanken.de Android app.

For example, although almost 90% of German workers are contactable out of hours, workers don’t always want to be reached and value their work-lfe balance. VW has agreed not to contact workers in six plants in Germany on their BlackBerries out of hours accordingly. So, from a user requirements perspective in Germany it’s critical to take into account those labor unions or Betriebsräten as stakeholders.

I also explained our user-centered, multistakeholder, mobile design patterns creation process (it includes Apple consultation in the case of iPhone app designs), and how these patterns provide proven cutting edge user experience solutions in a scalable, reusable way for mobile app development teams.

Developing apps using these up-to-the-minute olutions requires a development environment to match. The ever-changing mobile O/S landscape, ADF Mobile enables developers and partners to respond rapidly to changing user experience expectations without redeveloping content. We can support the same content, easily, across different devices with no compromise on user experience or native O/S navigation or actions, while addressing mobile data security issues that customers tell us about, and more. Read the Oracle ADF Mobile white paper for more details.

If you’re presenting to worldwide audiences about mobile user experience, then I recommend that you check out appannie.com for the latest market intelligence including local app popularity charts (it's iPhone, iPad and Android right now) and some very nice infographics on the state of mobile computing. Other useful stats on mobile usage growth, including number of devices and data usage, is available from techcrunch.com.

Wednesday Oct 05, 2011

Designing Mobile Enterprise Applications User Assistance: 10 Points to Consider

Here are design considerations to optimize the mobile enterprise applications user assistance. These considerations are based on Oracle Applications User Experience research into mobile user assistance, ethnography, and context of use. Understanding mobile app users' profiles and the mobile context--and how it differs from the desktop--is critical to delivering a successful overall user experience.

1. Forget the notion of porting over documentation manuals in any form to mobile devices. Users on the move do not have time to read such content. How the mobile app communicates with users must reflect a world of changing location, frequent disruption, and the need to complete tasks rapidly or to maybe revisit them later when time, social circumstance, or information availability changes.  Brent White's blog entry on mobile design principles will help you focus on how design must reflect the mobile user context.

2. Pay close attention to the language in the app UI. Language drives user action. If a term requires explanation to users then it's probably the wrong term. Explaining terminology slows down users and wastes valuable real estate in the UI.

Generally, web-based mobile apps terminology can follow the desktop version, while native apps can use the familiar terms provided by their platform. Test any new terminology along with interactions before you release the app.

The style of language (formal, casual, and so on) must reflect the user profile. Check out these excellent mobile international style guides from Microsoft for examples.

3. Avoid writing procedural user help about the task flow. If such usability isn't intuitive, then the app usability has failed. A quick first-run only orientation to new feature functionality is all that's needed in terms on onboard assistance for mobile apps, along with some basic instruction around areas that might not be often used, such as settings or configuration.

LinkedIn and iPhone user assistance

Full screen overlays or component popups can act as a modal barrier to task completion, slowing down users working under pressure. Use inline information instead.

Google search help on mobile

4. Eliminate errors by affirmations in advance, using placeholder text showing examples of data format, usage intention and so on (check out the HTML5 placeholder types for examples, and native device apps can offer similar features). Allowing users to quickly enter numeric, date or other data in the format they want and then seamlessly converting it to the accepted storage format is also the way to go. See the Oracle Application Development Framework (ADF) Trinidad converter demos for the idea.

5. Allow users to complete fields on the screen in any order they like, and then perform a validation on final action rather than validating each field one by one and slowing down task completion.

Validate data input on the device before submission to the server, saving on round tripping time from the mobile device if you can. Use those validation or conversion features to speed up the entire task completion process, reflecting a mental model of users knowing their data entry is valid on the mobile device rather than hoping it was on the server.

6. Inline placement for messages for task-completion errors and confirmation messages is best as this approach doesn't block access to the page or disrupt the user too much if they want to complete another task from the same page. Dialog boxes are still best for those critical issues, however (at this point, the user action has already stopped).

Inline versus dialog box message

7. Show the message clearly with distinct visual indicators and near the point of the error (see the ADF Trinidad demo on messages for an example). Different types of messages (error, warnings, or confirmations, for example) require different visual indicators and styling so that users can learn the intent of each type quickly and also rely on such visual indicators elsewhere without the benefit of reading the message text too.

8. Centralized lists of messages in a notifications center are the way to go for sure, but allow users to control which ones they want to see and when. Android does a great job on notifications, but Apple’s iOS5 looks set to create a new standard in mobile notifications and their personalization (the following screens are from pre-released software).

Apple iOS 5 notifications center

9. Choice of content for messages may vary depending on what application functionality is available or regional user preference even. For example, our research into expense report submission confirmation messages, revealed that US and UK-based mobile app users wanted to see the word successful in the message (indicating the task was completed as intended), though UK-based users were less adamant about the word. UK users preferred to have more details of transaction objects in the message content (for example, the expense report and amount), whereas US users preferred a simpler message without all the details. So, how do you resolve such differences?

Expenses confirmation message text alternatives

A difficult question to answer without access to the entire task flow or application features, but in this case, let context win out over consistency. Include the word successful, as users want to be assured that their task is done. Although only one word, it shapes their perception of what has happened. Are users on the move likely to remember all the expense details anyway after they dismiss the message? Probably not. So, allow users to refer back to a notifications center that reminds shows that the action was successful and all relevant transaction details as well as further activity around the transaction (approval, deposit of reimbursement, and so on).

10. What about audio, sound, or vibrate options as messaging for mobile app activity? These options can be offered as a personalization feature if your development effort can afford it, but don't expect a whole ton of usage uptake right now. Auditory messages can be ill timed for sure depending on the context. Who wants to receive a message like this during a business meeting?

Informational messages can always be recalled from a centralized notifications list, as they frequently don't demand immediate response. This is superior from showing them suddenly on the page during transaction completion, disrupting the current activity anyway.

As for SMS (text messaging) used for application confirmations, sure, such a personalization option can be considered, but as a lower priority, as there may be security issues at stake in an enterprise environment. Functionality that enables users to see confirmations from a centralized notifications center and to take any follow up actions arising from that location (for example, knowing when an expense report is approved) allows for more efficient working.

You may have other considerations. If so, then find the comments. To explore this area further, don’t forget to check out Marta Rauch's (@martarauch) presentation at LavaCon 2011 on mobile user assistance usability guidelines.

Monday Sep 19, 2011

Squirting is a Software Experience? Mind Your Language, Please

The language used in an application's user interface (UI) is a critical aspect of the user experience (UX), bit one often overlook. Des Traynor (@destraynor) brought this importance artfully to life at Refresh Dublin in his presentation on the Language of Interfaces. Well worth checking out, Des emphasized how language choice determines user action and engagement, with the simple choice of text for a button label or placeholder for status update making all the difference.

In Oracle Fusion Applications, for example, there's a big difference between the button labels Save, Submit, or Done, and the action that they imply to take on a page. Save implies an intermediate state during data object or process creation that the user will return to later before the task can be finalized. Submit is a final action, committing an object to the database or handing off a process, thus ending the task. Done is generally used to conclude the user review of a read-only page, closing it.

Save and Submit buttons together on a page


Google Wave's choice of Done however (as pointed out by Des) didn't help much with the puzzling concept of what anyone was expected to do with a wave to begin with. Language alone isn't going to save a rubbish UX.

Google Wave UI Done button


Des used some great examples from social media to as examples. Compare the language and action implied of the Facebook friend with the LinkedIn contact or the contact categorizations of Google+'s circles. Determining the action should shift from a third-person to first person paradigm led Facebook to change its status update text to What's on your mind? Twitter switched from What are you doing? to What's happening?

US English Twitter and Facebook status placeholder text

Not every natural language follows the English direction however. What's up with that? And, what about the challenges offered by crowdsourced language (as in the Dutch version of Twitter)? Facebook's community translation feature, as I pointed out before, is as much a user engagement strategy as a way of obtaining translated UIs (but not help) very quickly for the local market.

French and Dutch Twitter status placeholder text

French and German Facebook Status Placeholder Text

This choice of evolving or action-intended words can be a challenge for controlling the action globally. My old friend Frank Dietz in Multilingual magazine tells of the challenge of finding German translations for gaming concepts (buff, debuff, kiting, toon hop, and so on) for example, having to rely on transcreation, Denglisch, or the English term itself.


What the presentation didn't cover was how the language in the UI drives the creation of language around the intended action within the user community too. Unfriend, for example, appeared nowhere in the Facebook UI, but is a well-established word now. ReTweeting (or RTing) was a term and concept that came from the Twitter community, before it was codified. Personalization features that allow users to control the language or add their own are critical UX features too, particularly in the mobile space.

Apple iOS5 shortcut personalization feature

As for the choice of squirting to convey the sharing of music in Microsoft Zune (see Des's presentation), well, nobody over the age of five should be squirting anything at anybody, should they? What were they thinking? And yet,they're back with internet charms...


Find those comments...

Sunday Jul 03, 2011

How to Capture Android Device Screenshots Without Rooting

For UX research and outreach purposes, capturing screenshots from live code is essential. People love to have examples from real world apps as design guidance, and mobile apps are no exception. Except, capturing screens from Android devices is a real pain. Unlike holding down two buttons on an iOS device, conventional screen capture guidance for Android usually has you fretting over the risks of rooting your expensive device first and then using a downloaded application (such as ShootMe) to take the pictures you want.

The problem with this advice, besides mastering the technical aspects of doing it, is that rooting a device generally invalidates the carrier's device warranty, so you do so at your own risk. If the procedure goes wrong, then you could be left with a bricked device and no recourse to official device support. So, I am indebted to Joe Welinske's new book "Developing User Assistance for Mobile Apps" for an alternative way to capture screens from an Android device without using root, thought you do have to have the Android SDK installed:

1. Connect your Android device to the machine with the SDK installed.

2. On the Android device, go to Settings, Applications, Development and enable USB debugging.

3. From the SDK's tools folder, run DDMS.

4. From the Dalvik Debugging Monitor (DDM) UI, select your mobile device's name.

5. From DDM, select Device, Screen capture. A window showing what's currently on your mobile device's screen is shown.

6. Click the Save button on the Device Screen Capture window to use what's shown as an image file for on your blog, in design guidelines, for further editing, and so on.

Dalvik Debugging Monitor from the Android SDK

Invaluable for capturing those Android notifications!

Android Notifications

The gotcha in all this, of course, is that if you're nervous of rooting your device, then would you be the kind of person to go through all the steps to set up the SDK in the first place?

Really, what Android needs is a way for users to capture these screens easily without rooting the device and using special apps, or by using the SDK. Now, when is that going to happen?

About

Oracle applications user experience (UX) assistance. UX and development outreach of all sorts to the apps community, helping to design and deliver usable apps.

Profile

Ultan Ó Broin. Director, Global Applications User Experience, Oracle Corporation. On Twitter: @ultan

See my other Oracle blog about product globalization too: Not Lost in Translation

Interests: User experience (UX), user centered design, design patterns, tailoring, BYOD, dev relations, language quality, mobile apps, Oracle FMW and ADF, and a lot more.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today