10. Requirements - IVI
● General purpose
● Lots of software
● Play some music and answer the phone and check the weather and navigate and order supper and
check my calendar and check my range and find the closest gas station with cheaper fuel
12. Suitable Technologies - IVI
Whatever is suitable for programming an application for general purpose operating
system
13. HTML5/JS problems
Poor performance on slower CPUs
and GPUs
● Overall poor performance
Portability
● … is a joke
● ~ 10k different web engines
○ Blink (chromium, WebKit fork)
○ WebKit (old one)
○ WebKit2 (new one)
○ WebRT (WebKit + Tizen API)
This can be extended to
almost every interpreted
language.
14. HTML5/JS problems
Different WebKit
versions feels like
different products
Some quirks on various
platforms
Performance Non deterministic
SoC vendors are slow
to adopt web
technologies (QNX)
15. HTML5/JS problems
Doesn’t mean it will work great on embedded platform
… and it’s almost certain that it will work poorly..
What works great* on a desktop...
16. C++ problems
Writing efficient
code is hard
Debugging is
hard (and I
means really
hard)
Profiling is hard Correct
multithreaded
programs are
hard
even parsing
json is hard
Manual memory
management is
hard
Pointers are
hard
17. JSON Parsing - comparison
WebKit:
● Builtin
● Hard to predict performance
● If builtin is not perfect, custom web engine
extensions needs to be implemented (yes in
C++:
● External libraries to be used
● Easy to predict performance
● If one library does not meet requirements select
different one