How to make your mobile APEX application look like a native one - Part 3

Photo by Ali Pli on Unsplash

How to make your mobile APEX application look like a native one - Part 3

Universal Theme mobile patterns

Introduction

This post is the third part of a series on customizing the look and feel of the Oracle APEX mobile application to mimic a native application. If you haven't read part 1 and part 2 it might interest you. This part will show the available options that the Universal Theme offers out of the box and probably one or two tips as well. Let's begin.

Application Navigation

When it comes to having a mobile-friendly navigation menu in an Oracle APEX application you have three options which are detailed below in the order I prefer. To update the navigation menu of your application, you have to go to Shared Components \ User Interface Attributes \ User Interface \ Navigation Menu and choose the settings you want.

Top Navigation Tabs

To me, this is the best option and I will explain why in a minute but first let's see how to configure it by settings the attributes like this

Screenshot showing the navigation menu attributes Position set to Top and List Template set to Top Navigation Tabs

By settings the attributes this way, you will get a sticky menu at the bottom of the screen displaying or not the labels depending on the Template Option selected.

Screenshots showing the two variations possible showing or not the labels for this type of navigation menu

So now, you will probably ask why should I choose this one instead of the others options I will show you. Then this is just because one of the main points in UI/UX is that people don't want to learn how to use your apps and they like to see something that they already know. So as a final argument, here is six applications that are probably used by millions of person each day, and guess what? The menu is a tab menu at the bottom so why don't make your users happy right?

Screenshot showing six applications worldwide used by millions of people (Twitter, Google Drive, Linkedin, Slack, YouTube and Microsoft Outlook)

And if you need a last argument, then we have to talk about usability and the fact that when we are holding our mobile devices some zones are easier to access than others. This illustration from Stephanie Walter, UX Researcher & Designer, shows that the bottom tabs navigation is the most accessible to the users.

Illustration showing the mobile screen areas in dark green, light green and orange depending on the difficulty to touch it

Side Navigation Menu

This one is the default when you create an application and we all use it every day in our desktop APEX applications. It can be useful if you want to display more entries but it requires two taps for the user to navigate to a new entry. Here are the settings to get it

Screenshot showing the navigation menu attributes Position set to Side and the List Template set to Side Navigation Menu

I recommend you always keep the Collapse Mode attribute on Hidden for mobile to avoid losing space on small screens. But you can play with the Style attributes to find the settings you love.

Screenshot showing the Side Navigation menu closed and opened with the three style variables (Classic, Style A et Style B)

Top Navigation Mega Menu

The last option is the Mega Menu which works well on mobile devices but is in a difficult area for touch interactions. Here is how to configure it

Screenshot showing the navigation menu attributes Position set to Top and the List Template set to Top Navigation Mega Menu

As you can see, I also check enabled the Full Width option because I found it, personally, better but I let you decide what you prefer

Screenshot showing the Top Navigation Mega menu with full width enable or not

Note: I haven't shown you this menu closed because it renders exactly as the side navigation menu.

Position your controls

The main action

In many applications, you have an add button which is either located in the middle of the bottom navigation bar (Linkedin or YouTube) or just above it (Twitter, Google Drive, Slack or Microsoft Outlook). While adding the first one is pretty simple, just add a new list entry and you are all set the second one is a bit more tricky...

First, create a button on your page directly on the body and set the following attributes:

  • Button Template: Icon

  • Hot: true

  • Template Options \ Size: Large

  • Icon: fa-lg fa-plus

  • Static ID: add-btn

Then we have to apply two CSS rules to make our button a much better look

#add-btn {
    position: fixed; 
    bottom: 80px;
    right: 10px;
    z-index: 100;
    height: 65px;
    width: 65px;
    border-radius: 50%;
}

#add-btn .t-Icon {
    font-size: 2rem;
}

You should get something like this, not so bad right?

Screenshot showing a round floating button at the bottom right of the screen

Another common pattern is to have a search bar at the very top of the application in the top navigation bar. Fortunately, since APEX 21.2, we can position elements with a lot more flexibility than before. To add it to the header just set the attribute Layout \ Position to the appropriate value. In the example below, I picked Before Navigation Bar

Screenshot showing a search item in the navigation header of the page

The sticky headers and footers

On mobile devices, two screen areas that are used to display actions are the header and the footer. Look at these examples where sometimes both footers and headers are used to enhance the user experience.

Screenshot showing header and footer example for Twitter and Ikea applications

Screenshot showing header and footer example for Hashnode and Uber eats applications

The good news here is the Universal Theme offers a way to configure both easily.

Configure the sticky header

It's pretty simple to do it, go to the page attributes and, under Appearance open the Template Options page.

Screenshot showing the Appearance attribute of a page

Under Common, make sure that Sticky Header on Mobile is checked

Screenshot showing the Template Options Attributes modal dialog of a page in the APEX Builder where the attribute Sticky Header on Mobile needs to be checked

To add a sticky footer, you need to add a button container to your page and Under Appearance open the Template Options page.

Screenshot showing the Appearance attribute of the Buttons Container region

Under Common, make sure that Stick to Bottom for Mobile is checked

Screenshot showing the Template Options Attributes modal dialog of a page in the APEX Builder where the attribute Sticky to Bottom for Mobile needs to be checked

Example

By adding one back button and a label to the header and a bunch of icon-only buttons to the footer, you get something not bad in a snap!

Screen capture showing the use of Sticky Header and Footer in an Oracle APEX application

Conclusion

As you can see in this blog post, the Universal Theme has a lot to offer when it comes to developing a mobile application with Oracle APEX. By using native UT features, you can enhance the user experience a lot and by adding a few customizations, you can have an application that looks like a native one.

I encourage you to take a look at the Universal Theme application to see what is possible out of the box with APEX and get some inspiration to build great apps

It took me some time to put my ideas together to write this one and found some good examples. I hope you will enjoy it