24. GREUls
• 2007.09
Released
and
open
source
• Object
Namespace
• Charset
Conversion
• Crypto
Hash
Ulies
–
md5
/
sha1
/sha256
• File
And
Directory
IO
• JSON
encode
/
decode
use
nave
C++
implemented.
• Threading
–
Nave
Mul-‐Threading
support
• XPCOM
Helper
25. GeckoJS
• MVC
Architecture
– Dispatcher
/
Controller
– Model
–
AcveRecord
Like
and
Associa.ons
Support
– VIVIPOS
Query
Language
(VQL)
• Database
Adapter
– SQLite
and
JSON
• Configure
/
Registry
System
– Preference
System
• Applicaon
Scope
Session
• Logging
–
Log4js
!?
• i18n
/
l10n
• Event
System
–
NOT
DOM
Event
26. C++
XPCOM
• On-‐Screen-‐Display
(OSD)
• DBUS
Noficaon
• Matchbox
Virtual
Keyboard
• IO
Control
– Serial
Port
/
USB
– Parallel
Port
– DIO
– GPIO
• JSLoader
31. Start
Hard
Coding
Now
?
Wait!!
SDK
/
Framework
were
tools,
not
core
values.
32. Core
Values
• Pla_orm
For
3rd
Party
Developers
• Plugins
Anywhere
– User
Interface
/
Layouts
/
Skins
– I18n/l10n
– Devices
– Reports
– Promoons
Modules
– Second
Display
Modules
– Inventory
System
33. Core
Values
• Services
Registry
– Binding
To
UI
– Binding
To
Hotkey
– Remove
Invoke
(
IPC
/
Protocol)
• NO
Linux
Nave
UI
• Open
Source
Addons
34. Reports
• Reports
– CSV
–
Template
Engine
– HTML
–
Template
Engine
– PDF
• Print
To
PDF
By
Gecko
– Export
about
100
pages
PDF
more
than
30mins
• Print
To
PDF
By
WebKit
(libwkhtmltox)
– Export
about
100
pages
PDF
less
than
3mins
– But
Buggy
–
NOT
Support
thead/tbody/_oot.
41. VIVIPOS
Add-‐ons
For
Producon
• Main
POS
Add-‐on
-‐
VIVIECR
– 690
pages
PDF
Manual
– En
/
zhTW
/
zhCN
/
Jp
/
Thai
/
Fr
• Taiwan
Invoice
Add-‐on
• Customer
Management
Add-‐on
• Taiwan
Receipts
Format
Add-‐on
• Simple
Browser
u rc e
• Second
Display
Add-‐on
p en
So
O
42. Simple
Web
Browser
Add-‐on
• Embedded
Firefox
browser
• Gecko
1.9.2
Engine
– HTML5
Support
– CSS3
Support
• Binding
To
BuSon
• Binding
To
Hotkey
• Disable
Popup
Window
43. DEMO
VIVIPOS
VIDEO:
hSp://youtu.be/-‐z26mGeynok
• Next
Page
is
DEMO
Descripon
44. DEMO
Descripon
• A
Producon
POS
Soluon
is
combinaon
of
many
add-‐ons
not
ONE
App.
• Every
individual
Add-‐ons
CAN
online
update.
• Add-‐on
can
hook
the
event
and
change
the
shopping
flow.
• EX.
ONLY
ONE
Customer
Need
BEEP
when
product
not
found
!?
Add
a
add-‐on
for
him,
Not
add
BEEP
feature
in
upstream
version.
47. Last
Mile
of
the
O2O
• Add
a
Protocol
Handler,
‘vivipos’
scheme.
– Proxy
to
exists
JS
HSpd
Services.
• Remote/Local
Website
CAN
– Callback
VIVIPOS
Funcons
– Use
VIVIPOS
Hardwares
(
Printer
/
Cash
Drawer)
– Use
VIVIPOS
Cart
and
Promoons
– Use
VIVIPOS
Reports
52. 3rd
Party
interes.ng
Addons
• Singapore
Bugis
Street
– NetPayment
/
EZLinks
• Microprogram 悠遊卡 and
Life+
• OpenLife
• 24卷 (大陸團購-好像掛了 orz
)
• USA
-‐
KIOSK
• Media
Player
53. About
Cloud?
• Running
Web
Based
Applicaon
in
Cloud
– Yes
,
Simple
Web
Browser
with
HTML5
/
CSS3
Supported
• Sending
Data
to
Cloud
realme
– Yes,
Using
AJAX
• Packing
Data
to
Cloud
when
Day-‐End
– YES
,
VIVIConnect
Add-‐on
support
Client-‐Side
ETL
to
packing
Databases
to
your
own
Back-‐End
Server.
– HTTP/HTTPs
– FTP
– S3
• Running
your
own
scripts
– PHP
/
Python
installed
on
every
VIVIPOS
Terminal.
54. JS
Loader
• Javascript
Encoder
For
3rd
party
Developer
– NOT
obfuscator
• Add
Trial
Version
to
your
Add-‐on
• Add
Expire
Date
to
your
Add-‐on
• Lock
your
Add-‐on
on
a
special
Terminal