Tuesday Mar 13, 2012

blogs.oracle.com design patch

The bad thing about being a UX designer is that you recognize poor design all over the place. The good thing is that you take the issues as design challenges, and come up with better solutions.

Several times a week, I visit the Roller home page of blogs.oracle.com. Without summarizing all my usability and design findings, let me simply present my modifications in a way that does not bother me anymore.


blogs.oracle.com screenshot


better design and usability for blogs.oracle.com

Some of the benefits:

  • less wasted space in the head section – more space for latest blog articles and popular blogs.
  • delicious' and flickr-like design for the tag cloud
  • improved skimming for recent blog articles
  • numbering for popular blogs. This might not be of big interest for the visitor, but it is a very simple and effective way to provide feedback to the blog authors.

The update just involves changes to a cascading style sheet. Firefox / Chrome / Opera users can install the Stylish extension to apply my CSS patch as well.

Then you can get the patch via userstyles.org - oracle-blogs-home.


Thursday Jan 12, 2012

Tips'n'Tricks for WebCenter #3: How to display custom page titles in Spaces

If people don’t know where they are in the web, they tend to get lost in cyberspace. This can be prevented by displaying the page title for your pages in Oracle #WebCenter Portal Spaces. (At least they won’t get lost in your WebCenter space.) All you have to do is to create a custom page template and use it as default in your space. Its head section will contain a few code snippets to display the title. Add an HTML box and enter e.g. <h1>#pageDocBean.title</h1>:

edit page template

That's it. That is the basic idea.

Caveat: This does not work for wiki pages and HTML pages because they do not have a specific title in WebCenter. #pageDocBean.title will just return 'Wiki' or 'Resource'.

Now let's get a little bit more sophisticated. A space has a title as well. So let's use it:

<h1>#spaceContext.currentSpace.metadata.displayName &ndash; #pageDocBean.title</h1>

Are you ready for level 3? Now I want to add more styling, and I want to have a special treatment for the home page to display the tagline for the space. Here is a preview of the final result, first the home page, then any other page in the space:

Space's header for home page

Space's header for every other page

To accomplish this behavior, I have to use a conditional statement #{ BOOL ? CASE1 : CASE2 }. WebCenter's expressions cannot be nested, hence the conditions will be tested several times to get the desired result:

<h1 style="margin-top: 0px; margin-bottom: 0px;">
<span style="color: #9a9a9a; font-size: 80%;">
#{pageDocBean.title != 'Home' ? spaceContext.currentSpace.metadata.displayName : ''}
<span style="color: #9a9a9a;">
#{pageDocBean.title == 'Home' ? spaceContext.currentSpace.metadata.displayName : ''}
<br />

#{pageDocBean.title != 'Home' ? pageDocBean.title : ''}
<span style="font-size: 80%;">
#{pageDocBean.title == 'Home' ? 'Information Matters' : ''}
  • First I apply an inline style for h1 to remove some space above and below the heading.
  • Then I ask for the page title, and if it is not 'Home' (every page but the home page) then I display the space name at size 80% and gray.
  • Just for the home page I display the space name in size 100%.
  • New line for the page title.
  • Now the same distinction fot the page name. For every page but the home page I display the page title.
  • If this code is executed on the home page then I display 'Information Matters' – the tag line for the space – instead of the page title.
Yes, you are correct. Thanks for paying attention. The image of the lady is missing in my code example.

Wednesday Jan 11, 2012

Tips'n'Tricks for WebCenter #2: How to create an Admin menu in Spaces and save a lot of time

Objects in Oracle #WebCenter Portal have a visibility flag that is set to true or false. But you can also enter conditions. To make something visible just for moderators, you have to replace true by #{WCSecurityContext.userInScopedRole['Moderator']}

I use it to create an Admin menu. The visibility of the folder item in my custom navigation is specified as above. That means that all menu items under that new Admin menu are only visible for space moderators.

One candidate for such an Admin menu would be the Analytics menu item because it is not necessary to reveal it to all space members.

Another item that is extremely useful is a shortcut to Pages and Spaces Actions > Manage > All Settings. If you are a space admin you know how often you have to go there, and how difficult it is to navigate the mouse to the submenu item.

So under my new Admin menu I’ve added an item 'All Settings' with a link to http://YOURWEBCENTERDOMAIN/webcenter/spaces/YOURSPACE/admin.

You can get the link for your space via Pages and Spaces Actions > About > Share Link and append /admin. Note, that you have to check the Redirect flag under Options to avoid the frame-in-a-frame problem.

The following set of screenshot might guide you to create an Admin menu in your space.

#1 - Add a folder to the customized navigation:

add a menu

#2 - Set the Visibility to mods only:

edit Admin menu

#3 - Add links to the new Admin menu:

add menu item

#4 - Set the target path to Manage All Settings, do not forget to check the Redirect option under the Options tab:

edit Settings menu item

#5 - The customized navigation with the new Admin menu:

edit custom navigation

#6 - The customized menu applied to your space:

customized navigation

Republished at theappslab.com


Thursday Aug 25, 2011

All Oracle UX Blogs

Here is an overview about UX blogs at Oracle - sorted by recent update.

Update: New blogs

To keep track of these blogs I have created a Yahoo Pipe: Oracle UX Pipe

(Let me know if I missed to add your blog to this list.)

Monday Oct 18, 2010

What's a PC anyway?

What Does “Personal Computer” Mean? Communicating a New Paradigm

By Matthias Müller-Prove in User Experience Magazine: Volume 9, Issue 4, 2010

Abstract. This article is about desktop virtualization and the implications for the PC as we all have known it for the better part of 30 years. When we say “desktop,” we mean a category of graphical user interfaces which has its origin in Xerox PARC. Windows, icons, menus and a pointing device are essential to GUI-driven desktop systems like Mac OS, Windows, and Gnome. The desktop is a metaphor for providing a familiar environment to the user. To that extent, the desktop is virtual already, and we have to pay attention to the words we use to describe the shift toward cloud computing and to desktop virtualization, where the physical hardware on your desk or lap is less important. Early usability issues have been addressed to make the virtual desktop infrastructure (VDI) a reasonable alternative for enterprises with hundreds or even thousands of seats, or companies who want to provide “desktops” as a service.

What’s a PC anyway? It is easy to point at a computer box and assume that this is it. In fact, it’s not.

Things have changed significantly since the advent of the personal computing paradigm. The idea of reserving an entire machine for just one single user was absurd in the late 1960s. Then the future was invented at Xerox PARC with the Xerox Alto computer (also known as the Interims-Dynabook) and its graphical user interface with early components of the desktop metaphor, Ethernet access, and laser printing. Since the mid 1980s, PCs have become standard equipment for almost every office and knowledge worker. Today, the family tree of PCs extends from desktop PCs – placed on top of or underneath the desk – to laptops, notebooks, sub-notebooks, net-books, and the like. However, all these terms just refer to the form factor of the hardware case. They miss the point of the personal relationship between users and their digital desktops.

The user is key in this equation; therefore it is the P in PC that needs the care and attention of user experience experts. It’s the data, the tools, and preferences that make up the user’s personal working environment. Damage to or loss of any of these components can have a severe impact on the usefulness and perceived robustness of the system. This is most obvious for data loss, but tools that are not backward-compatible have the same effect. Furthermore, an unexpected change of user preferences, by updating the operating system, for instance, causes a drop in efficiency because the user’s familiarity with the system suffers when the system does not behave as expected any more.

The scope of the issue is even broader today than it was 15 years ago, because network-based services and social software now draw the user’s attention to the World Wide Web. Formerly local and private documents are now transformed into social objects by uploading them to photo, video, slide sharing, and collaboration and community sites.

What’s a PC anyway? It is the personal relationship between users and their digital work environment with their documents, applications, customized settings, and online data and connections that matter. The hardware is only a means of lighting the pixels that make up a magical window into the digital world. The PC continues to offer a familiar local desktop environment, but regarding the online environment, it is a mere access device that can be exchanged for any other computer with a web browser and Internet access.

Things are changing once again and will make the computer box as we know it obsolete – or rather, it will be replaced by a virtual box.

The requirements for PCs in large and medium-sized enterprises are ease of administration, low energy costs, and, last but not least, flexibility for employees to move to other work places, to work from home, or to work mobile at any other location. Physical PCs do not sufficiently address these requirements because the personal working environment is confined to the hardware where it is installed and running. An alternative is the virtualized PC, which runs the operating system on emulated PC hardware. This is called desktop virtualization.

It is quite easy to confuse the “desktop,” as used in “desktop computer,” with the one used in the “desktop metaphor.” The latter is, in a sense, a virtual desktop already. Now, in addition, desktop virtualization turns the computer into software by introducing a new layer between hardware and the operating system. The virtualization layer consists of a hypervisor that emulates PC hardware on top of a host computer, to run standard operating systems, such as Windows or Linux.

Running thousands of desktop instances in data centers is quite energy- and cost-efficient compared to the same amount of actual PCs. And defining pool policies, for sizing, cloning and recycling of desktops, as well as group assignments between user directories and desktop pools, saves a lot of work for the administrator. He or she decides if the assignment between employee and virtual machine should either be personal, as it used to be with a PC under the desk in the office, or flexible to grant temporary access to PCs in call-centers, classrooms, or Internet cafes.

What’s left from the PC on the user’s end? There is still a mouse, keyboard, and monitor. But, since all computation takes place in the data center, neither a powerful CPU, nor memory, nor a hard drive is required on the client side. The fan is obsolete as well, which leads to an access device with no moving parts and no noise; thus, lower power consumption, longevity of the client, and improved ergonomics at the work place are advantages of the virtual desktop. Maintenance costs are also low or non-existent, as, for instance, the Sun Ray thin clients don’t even have a local operating system anymore. Mobile access to the desktop session is possible with any RDP (remote desktop protocol) client. And in another case, the Oracle Virtual Desktop Infrastructure uses a Java-enabled web browser.

In order to deliver a competitive end-user experience to the clients, certain areas need to be considered. CPU, memory, and storage do not usually pose a problem on the virtualization side, because the requirements for a specified number of machines can be estimated in advance. The usage of other shared resources is more difficult to predict, such as access to the network and the storage system by hundreds of simultaneously running virtual machines. And when it comes to motion graphics, the bandwidth between data center and thin-client, as well as the client’s display performance, becomes an issue.

Response times are typically discussed in three orders of magnitude from 0.1 to 10 seconds. A system response that takes longer than 0.05-0.2 seconds is no longer perceived as co-instantaneous. For example, a skilled typist produces 300 characters per minute. This equates to pressing a key every 0.2 seconds on average. If the response time is about the same, then the output is at least one letter late! Between 0.2 and 2 seconds is the range where the user feels in control of the system. The delay is recognized, but the loop of command and result feels like a smooth dialog with the system. If an operation takes longer than two seconds, a progress indicator should be displayed. But even a progress bar cannot keep the attention of the user for longer than 10 seconds. After that, the user has to recognize the system state once again, and plan the next interaction steps to accomplish the task. The measurements for the perceptual level, dialog level, and cognitive level have been well known for decades. Thus, web developers should remember that rich Internet applications should also respond in time, or provide appropriate feedback to improve usability in cases when network or computation latency is too high.

In order to perceive smooth animations, a fourth time range, that is even an order below 0.1 seconds, should be considered. Movie cameras use a standard exposure of 24 fps (frames per second). However, the human eye is able to detect frequencies of 60 Hz, which is also the typical frame rate for HD TV. And when it comes to games on large screens with fast animations, rates up to 100 fps are necessary to maintain the illusion of motion.

Today, games and other applications with high-frequency full-screen updates, for instance, video editing or CAD, are out of scope for desktop virtualization. But fast refresh rates are necessary anyway for cursor movements and direct manipulation tasks such as window dragging or scrolling through long documents. Otherwise, the user might perceive hiccups in the flow, and may become confused or even irritated by interacting with the system. Adobe Flash movies and other video content should run smoothly as well. Here, it is better to sacrifice the image quality a little bit instead of running out of sync between image and sound. This is managed by the protocol between the thin client and the virtualization server.

Desktop virtualization is ready for prime time because virtual desktop infrastructure (VDI) systems provide a level of quality and service for enterprise customers that is comparative to the classic gray PC boxes. Flexibility, mobility, and total cost of ownership considerations convince hospitals, universities, telcos, banks, and other companies with hundreds or thousands of employees to deploy virtualized desktops. For example, there was an installation for JavaOne 2009 at the Moscone Center in San Francisco. Throughout the week, every conference attendee could access three personally assigned virtual machines running Windows 7RC, Ubuntu 8.10, and OpenSolaris 2009.06. All together, 12,000 desktops were created with four Sun VDI hosts, five hypervisor hosts, and three storage servers.

The PC is no longer the center of the digital universe. On one end of the spectrum, the user’s data and attention moves to social web services; on the other end, the personal computer itself will move into the data center and become part of the “cloud” service. New kinds of business models are being developed right now. Sooner rather than later, service providers will offer desktop as a service to companies of all sizes.



« July 2016