Archives For Business Apps

Since more then 30 years I’m developing business solutions for SMP and Enterprise, where the last 8 years I’m focused on mobile APP development.

There are many challenges to master while developing mobile APPs for different platforms (Android, iOS, Windows 10 mobile, BlackBerry10) and there are many frameworks out there to do this (Angular, Ionic, React Native, Xamarin, Qt, …). The decision about the right framework for more complicated and complex mobile business APPs isn’t easy. You’ll find small example apps and all looks good. Then you start with your project and some weeks or months later you reach the limits, performance goes down, APP becomes instable and you’re in real trouble.

I went through all of this and finally found the best framework for my APPs: Qt. Yes – Qt is an ‘old’ framework and exists since more then 20 years, but Qt 2017 isn’t the same as Qt 1990. Qt covers development for desktop, mobile or embedded APPs and provides QtQuick, QtWidgets and the new QtQuickControls2. QtQuickControls2 are not an update of QtQuick, but a complete new framework and from my experiences last 2 years I must say: you can develop very performant stable mobile APPs with NO LIMITS.

Most of my business applications are running hidden at customer site and I cannot talk about. That’s the reason why I’m developing example apps and from time to time conference apps. Last year I developed the Qt World Summit Conference APP – this year the Conference APP is built by V-Play – another way to develop mobile APPs with Qt. Christian Feldbacher is talking about V-Play APPs at Qt World Summit.

ProfSys ambulant (outbound services)

ProfSys stationär (inbound services)

This doesn’t mean that I was lazy 😉 I was heavy working on one of my more complex mobile Business APPs: ProfSys – an APP to support Care Services (outbound and inbound) and I’m glad to present this APP at Qt World Summit 2017 in Berlin. Knowing that thousands of Care-Services-employees are running the APP successfully for their daily work is great. There will be two sessions:

Roland will talk about the Business aspects and I will talk about the development and give some tips and tricks.

See what can be done with QtQuickControls2 for mobile APP development.

Looking foward to meet you at QtWorldSummit2017 in Berlin or at W-JAX in Munich where I’m talking about Bluetooth LE and mobile business APPs.

 

eclipsecon Europe 2016, Ludwigsburg, Germany

Soon available at the stores:

(can take up to 24 hours)

Android 4.3 or greater for Phones and Tablets from Google Play Store:

google-play-badge

or download the APK from here if you prefer sideloading:

itunesartwork-512x512

iOS 8.2 or greater for iPhone or iPads from Apple App Store:

just approved 2016-10-25 16:27 – can take a moment to be visible in App Store

app_Store_Badge

Amazon Fire OS or BlackBerry10 on Amazon App Store:

amazonappsbadge

Sorry – not enough time yet to also develop a native BlackBerry 10 App – hopefully for the next conference. Native BlackBerry 10 Cascades App loads faster and runs smoother on BlackBerry 10.

Also working on Windows 10 Mobile – runs in development mode on Lumia and others – haven’t finished the work to upload release to windows store yet.

You probably know that last years I always developed the BlackBerry 10 App for Eclipse Conferences. This year first I did it for Android and iOS using Qt 5.7 and brandnew Qt Quick Controls 2. Used Qt Quick Controls 2 and Google Material Style. To make my work easier, Entities (Session, Speaker, Track, Room, Conference, …) are generated using a Xtext / Xtend DSL. Started this DSL 2 years ago for BlackBerry 10 Cascades / Qt 4.8 and now I’m able also to generate code for Qt 5.7 / Qt Quick Controls 2. Hopefully at the end of year mobaDSL will be available Open Source.

Want to know more about HowTo develop Apps using Qt 5.7 for Android, iOS and Windows 10 ? The Sourcecode of my Qt World Summit Conference App is available at Github: https://github.com/ekke/c2gQtWS_x

Here some screenshots of eclipsecon Europe Conference App.

01_home

Schedule

02_schedule

Speakers

03_speaker

Session Detail

04_session_detail

Drawer

o5_drawer

xxx

Qt World Summit App at the App Stores

Android 4.3 or greater for Phones and Tablets from Google Play Store:

google-play-badge

iOS 8.2 or greater for iPhone or iPads from Apple App Store:

app_Store_Badge

Amazon Fire OS or BlackBerry10 on Amazon App Store:

amazonappsbadge

Windows Store:

english_get_it_win_10_864x312

Sourcecode at Github: https://github.com/ekke/c2gQtWS_x

Some Screenshots

01_home

Schedule:

02_schedule

Speakers:

03_speaker

Session Detail

04_session_detail

Floorplan on PixelC Tablet:

screenshot_20161014-124231

xxx

This blog is part of my blog series about Business Apps.

—work in progress / stay tuned / will tweet @ekkescorner

intermarkt_thielen

Overview Goods Receipt APP

icon_144

Goods Receipt APP (Intermarkt Thielen) (c) 2015 by ekke (BlackBerry Elite Developer)

This app is running at a german Plants Wholesale company. Plants are delivered via Trucks to stores. Before the goods are going out there’s a check if quantity and content is the same as ordered and packed. If all is OK, data will be send via EDI from Plants Wholesale company to Plants Store to avoid the time consuming work of Goods Receipt at arrival of the truck.

workflow

The challenge was to develop a mobile app to make this work of checking the goods easy, fast and avoid errors. Plants are collected as single plants or in containers, Euro Pallets etc. All Plants have a barcode (EAN13) and also the Customer’s Sales Price printed on a label. All the Goods belonging to one order can be collected on some carts / trailers where it must be possible to start the check before the complete order was packed.

So this is the workflow: Scan the barcode from the order, get quantities and units of packed data from server, cache on device, then scan all goods. If ready get expexted (packed) data again from server and compare. Show positions and mark correct data, too much or less / missing. Correct, add or remove data, add all the containers / Euro Pallets and send quantities and units back to server.

Server is connected via REST services. All work on the mobile device is cached on the device to allow working while offline.

XXXX

Hardware

The mobile App must be robust and easy to handle with large fonts and big buttons. The device will be placed inside a arm bag and all the navigation and data entry must work by tapping on the device without getting the virtual keyboard where keys are too small. Barcode Scanner will be placed on the index finger to be able to work hands-free.

So this is the Hardware:

  • Fulltouch Device: BlackBerry Leap
  • LXE 8650 Honeywell Ring Scanner
  • Custom – made arm bag for the Leap

leap

lxe8650

Image of the Arm bag will follow – it’s just in-production. The bag must work inside and outside in the sun, so must be glare-free. Wasn’t easy to find the right one so finally we decided to produce a custom made bag.

 

APP-in-action (Video)

work-in-progress

The mobile APP (Screenshots)

At startup the APP automatically switches Bluetooth ON and at the end Bluetooth will be switched OFF.

There’s no other Bluetooth APP on these devices, so it’s a good idea to be energy efficient.

After switching Bluetooth ON, the APP is searching for the last connected Scanner.

If no one found you can manage all the Bluetooth stuff without any tech knowledge from inside the app (see below at the end of this article)

we_01_start

Bluetooth is ON and Scanner is connected: you’re ready to start work for Goods Receipt.

we_02_started_MOCK

Now scan the Order number from the Picking List you want to check.

we_03_wait_for_pnr

Picking List with informations on Customer and Positions will be downloaded from server via REST service and cached inside your secure app sandbox.

Scanning the same Order number again will load the data from cache – so it’s easy to switch.

All Pages are using large fonts and designed to make it easy to read, understand and to tap on.

 

we_04_pnr_header

As soon as one of the Picking Lists (Orders) is active you can start to scan EAN13 Barcodes from the packed goods.

If a Barcode was not found inside the active Order, the APP is looking at other cached and not yet completed lists. If Barcode was found inside another Order, you’ll get the info using a Custom Dialog.

Then it’s easy to switchto another Order by a single Tap or cancel if the wrong article was scanned.

we_05_select_pnr_for_ean

Each Order Position knows allowed Barcodes, so from scanned EAN 13 Code the APP detects the Order Position and displays description, price, size, quantity and content.

You also see the amount of already scanned quantity (in the example below: 60) and you get an Icon at the right to know about the current state:

 

icon_quantity_states_down

red arrow down: less scanned then packed

 

 

icon_quantity_states_up

 

blue arrow up: more scanned then expected

 

icon_quantity_states_done

 

green checkmark: all is OK – scanned quantity same as packed

 

we_06_ean_scanned_MOCK

Tapping on the Icon you’ll get a list of all single scans for this position.

From here you can tap on on Unit (Menge) or Content (Inhalt) to edit the value.

Tapping on the trash sets quantity to 0.

we_07_already_scanned

One of the great things from BlackBerry 10 OS is the “peek-back” functionality: you always know about the context by simply swipe the current Page to the right border.

Here peeking back from an Order Position to Order Header gives easy access to Order and Customer info:

we_08_peek_back_from_scan_to_pnr

Remember: the Device is inside an arms bag and it must be easy to enter data.

Key caps from virtual keyboard are too small, so I developed a numeric keypad occupying complete space from Device in Landscape orientation.

This numeric keyboard knows about the context and so it’s optimized to enter Quantity, Content, Prices, Order Numbers or EAN13 Codes.

The screenshot below shows entering Quantity (Menge):

we_09_enter_quantity_MOCK

Want to get Info about corresponding Position data ?

Simply peek back and go on without closing / opening pages – that’s the BlackBerry 10 FLOW:

we_10_peek_back_from_enter_q

Here a quantity of 4 Containers was entered where each one contains 6 Plants = Total (Summe) of 24 Plants:

we_12_entered_quantity

If a Barcode (EAN13) is dirty and cannot be scanned it’s easy to enter the number manually.

The APP checks immediately if you entered exactly 13 digits and also validates if checksum is correct before searching the position.

Goal is always to make it as fast as possible and avoiding errors.

we_13_enter_ean

Sometimes it happens that inside an Order there are more then one positions found for a given Barcode:

in this case the employee can select if he/she’s scanning the position with a content of 6 or only 1 in each container:

we_14_select_pos_for_ean

All Lists, all Dialogs have custom big Buttons and large List Rows to make it easy to tap on.

If something went wrong, the Device does a vibration to alert the user.

we_15_pos_selected

While checking the scanned data before sending them to the Server a list with all the scanned or not scanned data is displayed.

Tapping on an entry shows the history and quantity or content values can be changed or removed.

we_16_check_positions_MOCK

If no scanned data was already entered for a specific position you can also enter data manually.

At first you must verify the Barcode – in some cases there can be more then one Barcode valid for a position, so you must select the right one:

we_17_select_barcode_from_check_pos

As last step quantities of all Empty-Containers put on the Truck must be entered.

If all is done you can send data back to server. Then in the Office data can be varified again and if all is done, the Goods Receipt will be sent via EDI to Customers IT.

we_18_enter_container

If more then one orders are active (stored in offline – cache) you can easy switch to another one:

we_19_select_from_active_pnrs

The APP also provides all Bluetooth Management from inside the APP without going to Device Settings to make this an easy stuff.

After scanning for Bluetooth Devices nearby, found Devices are grouped by Type and Scanners can be edited.

we_20_search_bt_devices

Tapping on a row shows the details and allows to Pair / Unpair or Connect / Unconnect a Scanner:

we_21_pair_and_connect

There’s also a special testpage from where you can test if the Scanner works well.

we_22_test_scanner

Over all BlackBerry 10 OS  and hands-free working makes following the workflow fun and also to be productive.

Running the Scanner in serial mode (SPP Profile) makes it very comfortable, because scans can always be done and not only while focused on entry fields as done in HID profile.

It’s some more work to implement serial connected Scanners, but Customers will thank you for this.

The Backend

Here’s a short snapshot from the backend (ERP solution): Positions ordered (bestellt)….

we_backend_01

… packed (Gepackt) and compared (GeprĂźft) from mobile Goods receipt APP.

The Barcode Icon at the very left shows the details of all scanned data.

we_backend_02

Take a look at the Video to get a feeling how smooth this app is working. Then you understand why my first choice for Business Apps is always BlackBerry10 OS. More of my BlackBerry 10 Business Apps can be found here.

Business Apps

November 15, 2015 — Leave a comment

BB10 vs Android Development

Often I was asked, why I’m still developing business apps for BlackBerry 10.

Why not Android – even now where BlackBerry is providing a first Device powered by Android (BlackBerry PRIV) ?

I really like the PRIV giving me a great touch screen plus keyboard plus all the apps and services from Google Play with all the security by BlackBerry on top: unbeatable in the Android world.

If you need all these apps for your daily business: use the PRIV – it’s made for you and gives you the most secure Android Device. Of course I’ll also develop business apps for the BlackBerry PRIV.

If you need the most secure OS or Push Services inside secure BlackBerry infrastructure or Apps providing the smoothest way to follow your workflows: use a BlackBerry 10 Device.

The good news: you can manage and run all together from your BES12: Android, BlackBerry10, iOS, Windows 10, Android for Work, Samsung KNOX !

To give you some infos what kind of apps can be done with BlackBerry 10 you can take a look at BlackBerry World (search for ‘ekke’) – it’s the only reason why I’m publishing some apps there. Most of my business apps are ‘hidden’: they’re running on BES12 at small, medium or large Enterprise Companies worldwide.

To give you some first impressions I’ll blog about some of the native business apps I developed for customers or BlackBerry Partners. Stay tuned …

BB10 Business Apps

  • Goods Receipt (Plants Wholesale)
  • Red Price (Closing Department Store Chain)
  • Services Property / Facility Management
  • Time Tracker Enterprise
  • Conferences / Events
  • BI, Statistics
  • Training, Event Management
  • Work Force Management

BB10 is all about Speed

BlackBerry 10 is built from ground for speed and smooth workflows to be as productive as possible esp. in Business Apps.

A good summary on this from CrackBerry by Bla1ze from an article comparing UX of Android (BlackBerry PRIV) and BlackBerry 10:

Speed – Losing the ability to fly through the OS quickly was something I was fully aware I was going lose going into the Priv. The ability to hop in and out of apps, switch windows, complete tasks, glance at the pertinent info and just get right down to business is intense on BlackBerry 10, and I’ve not yet been able to reach the same level on the Priv. I’m not saying it’s impossible on the Priv or Android in general; I’m just saying it that experience and speed were built into BlackBerry 10. On Priv, it’s going to take a bit more effort to get things set up the right way and customize the experience to get to the same point. BlackBerry had the pleasure of being able to create BlackBerry 10 from the ground up and build in those experiences. On Priv, they’re playing in someone else’s sandbox and those experiences have to be recreated.

This doesn’t help if you miss Apps important for your work on BB10 – then you should go with Android or iOS. But there are many use-cases and scenarios where missing Apps is not a problem and you should choose BB10 where possible to get the best performance. Perhaps my BB10 – Business – Apps – stories will help you to decide.

BlackBerry 10 and BlackBerry Android Devices are brothers in respect of secure devices and both are great for small and big enterprises.

mobaDSL

While developing mobile Business Apps I recognized that there are many patterns to provide Offline-Cache, to access REST Services, to transform and bind data to UI and much more. So I developed a DSL (Domain Specific Language) based on Xtext and Xtend and this DSL will become Open Source next months. Read more at mobaDSL.

mobaDSL will speed up development of mobile business apps and will be available for native BB10, Android and iOS App Development. mobaDSL is not an App generator – it’s more like a toolbox / workbench to help you to avoid all the boring copy/paste stuff and to generate Entities, Data Transfer Objects, REST Services and more.