• No results found

Developing a Real World Mobile App with OpenEdge Mobile

N/A
N/A
Protected

Academic year: 2021

Share "Developing a Real World Mobile App with OpenEdge Mobile"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

Visionary Solutions In Retail Software

Developing a Real World

Mobile App with OpenEdge

Mobile

Brian Preece

(2)

Who are BCP?

Major supplier in Europe of Food Wholesale,

Retail and Cash and Carry systems

Users: Spar, NISA, Pets at Home, BWG,

Musgrave, ADM, Morrisons, etc…

Area: currently UK and EU, keen to expand!1st “Extranet” - Late 1970s Telspar

1st Scanning in convenience stores in UKEarly adopter of SonicMQ with our AIMS

(3)

Visionary Solutions In Retail Software Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news • Code viewLessonsDeploying on devicesConclusion 2

(4)

Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news

Code view

Lessons

Deploying on devicesConclusion

(5)

Visionary Solutions In Retail Software Self Scanning

Customer scans their shopping as they go,

using a dedicated device or mobile app

They pack their bags as they go

They check out through a dedicated

checkout, avoiding the queues

At random intervals, baskets are rescanned

to discourage pilfering

(6)

A win-win for both store and customer

Benefit Customer Store

Less queuing at checkouts   Eliminates packing at checkouts   Privacy of purchases 

Can see the total cost of their basket 

Alerted to offers  

(7)

Visionary Solutions In Retail Software Why a mobile app?

Saves cost for the store

The ultimate BYOD!

Can add extra functionality not possible with

(8)

Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news

Code view

Lessons

Deploying on devicesConclusion

(9)

Visionary Solutions In Retail Software Demo

(10)

Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news

Code view

Lessons

Deploying on devicesConclusion

(11)

Visionary Solutions In Retail Software Bad news first!

Complex technology stack

– HTML5/ CSS/ JavaScript/ Jquery Mobile/ Appery.io/ PhoneGap

JavaScript is the worst language ever!

– Not proper OO – No type checking – No syntax checking – Primitive debugging

It’s all Steve Jobs’ fault!

(12)

Now the good news!

Going with the mainstreamIndustry standard skills

– Generally available – Easy to outsource

Front end/ Back end integration excellentVisual designer easy

(13)

Visionary Solutions In Retail Software Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news • Code viewLessonsDeploying on devicesConclusion 11

(14)
(15)

Visionary Solutions In Retail Software Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news • Code viewLessonsDeploying on devicesConclusion 13

(16)

Lessons learnt so far

Most crucial number 1 lesson:

– Services are invoked asynchronously, so may return after other actions linked to the same event

Next most crucial lesson:

– On a mobile device, the “Load” event only

occurs when the application is freshly loaded. – Need to attach initialisation logic to “Resume”

(17)

Visionary Solutions In Retail Software Things to remember

– Some things only work on the physical device:

● Obviously things like camera and scanner

● Less obviously, PhoneGap functions like navigator.notification.beep(1)

– Although a service returns a dataset, it is the temp-table that

should be mapped to multiple UI elements like grids

– The Appery API is not intuitive. Sometimes it returns a UI element,

others a DOM object e.g. Appery(“RegisterSound”).get(0).play();

– Need to restart OE Web Server after changing the services in a

REST service as well as uploading the new JSDO to the MAB.

– Need to invoke JSDO before calling any services in a BE, even the

“Invoke” ones

– To access local storage, the syntax is

localStorage.getItem(“variablename”)/setItem(“variablename”, val).

(18)

More things to remember

– Transfer REST services from development environment to a

deployment server by copying .war file from development environment to production environment and publish using “restman” command line tool or OE Explorer.

– REST services use “state-free” AppServer mode, so no

context is guaranteed, but instances are not initialised before reuse, so you need to initialise variables and empty temp

tables

– Ensure you put the correct URI in the annotation part of new

“Invoke” methods – there is a wizard to do this, but make sure you add the schema file on the first tab

(19)

Visionary Solutions In Retail Software Bugs

– Only create one Mobile Service containing all REST

classes and only put login information in one service, otherwise app crashes – haven’t tested in 11.3

– Don’t change Nav Bar button labels – format screwed

up

– “Invoke” method output parameters have to be added to

the “service mapping” screen manually

(20)

Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news

Code view

Lessons

Deploying on devicesConclusion

(21)

Visionary Solutions In Retail Software Deploying on devices - Android

Android - easy

– Tick Application/ properties/ Mobile App Builder/ export local/ Android

– Install Android SDK – Connect your device

– Ensure it is recognised by ADB

– If not, ensure you have correct driver loaded – Deploy with command line:

● Adb install “full path/filename for .apk file

(22)

Deploying on devices - iOS

iOS – an obstacle course

– Get an Apple Developer Account

– Register your device as a test device

– Create developer credentials using this guide:

● http://

community.phonegap.com/nitobi/topics/detailed_gui de_for_setting_up_building_ios_apps_without_a_mac (assuming you don’t have a Mac)

(23)

Visionary Solutions In Retail Software Deploying on devices – iOS (ctd)

– Plug in device

– Drop .ipa into iTunes apps list – Select device/ apps

– Click on “install” button next to app – Click on Apply

– App should load!

Need to create app credentials for each app

(24)

Agenda

The Target Application - Self Scanning

Demo

OpenEdge Mobile –the bad news and the

good news

Code view

Lessons

Deploying on devicesConclusion

(25)

Visionary Solutions In Retail Software Conclusions

OE Mobile is a very effective way to create

“hybrid” mobile business-quality apps

In particular, the integration between UI and

back end services is excellent

You need training in at least CSS and

JavaScript, maybe also JQuery Mobile

Support on OEMobile via SupportLink has

been outstanding

(26)
(27)

Visionary Solutions In Retail Software Thank you for your time

See more at www.bcpsoftware.com

Technical questions: brian@bcpsoftware.com

References

Related documents

1) If the applicant is aggrieved by the decision of the local planning authority to refuse planning permission, Listed Building Consent, or approval for the

RAS Mobile for Android is an app for connecting to a device (DVR, NVR, network video transmitter or network camera) using mobile device running on Android platform and

Product - Mobile as a Disrupter Mobile iOS App Mobile HTML Mobile Android App iPad . iOS App Tablet HTML

(14 Periods) Overview of Android - An Open Platform for Mobile development, Open Handset Alliance, Use Android for mobile app development, Android Marketplaces,

IDIS Mobile for Android is an app for connecting to a device (NVR or network camera) using mobile device running on Android platform and remotely monitoring videos via a

After the boat excursion, return to Amiens for the evening to arrive by 17h00 Free time to wander around and visit the World Heritage Cathedral before dinner 19h30 Group

Table d’hôte dinner in Inverness Scottish evening in Edinburgh Evening Gala with Visit Scotland  Guided tours of Glasgow & Edinburgh  Walking tour of Glasgow’s

The Pathway of Distinction Analysis (PoDA) [8] was applied to the NAFLD genotype data for the following histologic phenotypes: steatohepatitis, NAFLD activity score (NAS) and