Your ‘Way of Work’

As a developer you probably already run into this: while developing the UI of your app you’re feeling great and you’re sure your users will love it. Some time later you meet you Beta Testers and ask for feedback and you have to realize that not all users like it the way you designed the app. Most times the story is more complex: some like it and others not and you can spend hours discussing the pros and cons. At the end you have to make decisions:

  • delete what users don’t need – even if it was such a challenge for you to provide this “cool” feature
  • make it customizable from Settings to allow users to go their own way

Running the TimeTracker Enterprise Edition ? In this case the flexibility to customize probably is only targeted to your IT Admin to guarantee that all employees are using the app the same way and HelpDesk can assist easier. To run the Enterprise Edition Employees will get a predefined Profile where some parts of Settings can be invisible or read-only. Read more here. (TBD)

From getting Beta-tester-feedback I removed some parts, added others and also made some parts configurable via Settings.

2014-08-25: added Settings → ‘Way of Work’:

Wow1

From here you can configure

  • Use of NFC
  • Start Tab
  • Bottom Navigation Bar

Defaults look like this:

Wow2

… and can be changed per example to this:

Wow3

NFC

TimeTracker can be triggered by NFC Tags and you have the permission to write your own Tags and also allow your Tags to open TimeTracker if closed.

NFC is a great way to shorten the workflow to Start or Stop times. read more here.

If you have decided not to use NFC then there should be no NFC Tab available and TimeTracker shouldn’t be able to execute Actions by NFC.

If your company has decided to use NFC and to create all NFC Tags under control of IT, there should be no NFC Tab, but TimeTracker will accept them.

Here are the screenshots how a Tabbed Pane can look with or without the NFC Tab. Screenshot is from Enterprise Edition – if using Personal or Group Edition, there’s no ‘Server Queue’.

As always: TabTimeTracker only displays content you’re using.

WowNFC

Removing or showing a Tab is easy stuff:

function manageNfcTab() {
    if (! app.useNfcTags() || ! app.createNfcTags()) {
        if (activeTab == nfcTab) {
            activeTab = homeTab
        }
        remove(nfcTab)
    } else {
        add(nfcTab)
    }
    if (app.useNfcTags()) {
        app.nfcAction.connect(onNfcAction)
    } else {
        app.nfcAction.disconnect(onNfcAction)
    }
}

The TabbedPane will still own a Tab – even if the Tab was removed. So it’s possible to add the Tab again without creating a new one and makes it easy to dynamically show / hide if Settings are changed.

app.useNfcTags() and app.createNfcTags() are C++ methods marked as Q_INVOKABLE getting the values from settings. Removing / adding Tabs we have control how the UI will look like.

If no NFC Tags will be used we have to disconnect the UI from the Signal telling us that there’s an action triggered by NFC Tag.

First Tab

The first Tab visible after opening TimeTracker is the ‘Tracking Live’ Tab from where you can start / stop times easy and fast. There are two different workflows described here: strict mode and free mode. From one customer I learned that there are situations where employees never will start / stop times the ‘normal’ way: all tracked times will be inserted manually. This functionality is part of the ActionBar of your Open tracked Times list, so for this customer it makes sense to start directly with the ‘Open’ tab.

Here’s the code to change the first selected Tab:

 onCreationCompleted: {
    if (app.firstTabIsOpenTab()) {
        activeTab = currentTab
    }
    // ...
}

All must be done inside onCreationCompleted{} of root TabbedPane. app.firstTabIsOpenTab() is a C++ method marked as Q_INVOKABLE getting the value from settings.

Bottom Navigation

There are many properties and informations available for tracked times, so we decided to use a Segmented TitleBar using 4 segments:

  1. Category
  2. Detail
  3. Time
  4. Geo

To switch between segments you have to tap on the specific part of the TitleBar. You can also use the Actions from OverflowMenu or if using a Q5 / Q10 / Passport there’s a keyboard shortcut.

If you device is a Z30 with 5″ screen size there’s a long distance between ActionBar at bottom and segmented TitleBar on top. So there are four Icons at the bottom: tapping on an Icon the corresponding segment will become visible and the selected Icon will be slightly larger. These Icons are only visible in Portrait mode on Touch Screens.

Read more about Navigation Concepts here.

Screenshots:

WowBottomNav

This is a feature some really like and others not, because it’s not the default platform behaviour. So from now on you can switch them off:

WowNoBottomNav

Feel free to use TimeTracker’s BBM Channel to request customizations you’re missing. There’s already a feature request to us a ‘Quick Insert’ screen to enter all common data in a ScrollView from a single page and only switch on-demand to the more detailed Segmented – Titlebar – View.

 

Back to Settings Main Page

Settings

User

 Personal Edition

User Settings depend from the Edition you’re using. Here’s what you’ll get from free Personal Edition:

Settingsuserpersonal

If you’re using the Personal Edition we don’t need your PIN – but if using the Group or Enterprise Edition the BlackBerry PIN is used as unique identifier to distinguish between devices.That’s the reason why TimeTracker needs the Permission ‘Device Identifying Information’.

If you plan later to upgrade from Personal Edition to Group or Enterprise, it’s also a good idea to permit this for TimeTracker Personal Edition:

permissions_tt_device

From a developers POV geting the Device PIN is easy:

// don't forget in jour .pro: LIBS += -lbbdevice
#include <bb/device/HardwareInfo>
...
using namespace bb::device;
...
HardwareInfo* hwInfo;
hwInfo = new HardwareInfo();
mDeviceID = hwInfo->pin();
if(mDeviceID.startsWith("0x")){
    mDeviceID = mDeviceID.right(mDeviceID.length()-2);
}

From User Settings you can also set the Home TimeZone, where the default is the current TimeZone from first start of the app.

To change the TimeZone tap on the Action in ActionBar – then to select the TimeZone a list will be pushed on top.

Learn more how TimeZones are used inside TimeTracker here.

Group Edition

… work in progress …

Enterprise Edition

From Enterprise Edition your IT Admin configures your settings – so it may look different.

On top you’ll find your company name. If testing the Enterprise Edition there’s a toggle. Enterprise testing is done from your BES10 accessing a TimeTracker Test Server at CoMo Solutions.

Settingsuserenterprise

At the bottom some informations to access the TimeTracker Server: Domain and URL are needed to construct the REST endpoints to upload your tracked data.

Settingsuserenterprise2

Hint: Testing TimeTracker Enterprise Edition is free.

Back to Settings Main Page

Settings