2. Agenda
Introduction - What do I mean by ‘Deeper
Programming’?
Understand ‘Wireless’ in Mobile Tech
Reactive / Async is the way to go
Not just mobile - Devices / IoT
Backend Challenges
Newer Architectures
3. Deeper
Programming
On the top-level everything changes.
But fundamentals remain (more or
less) same - Remember COBOL was
super hot once!
Key to great work is to go ‘Deep’
How to know if you are deep? (Clue:
StackOverflow)
8. Wired != Wireless
Most software developed still
developed for the wired world
(unfortunately)
[How many of you still use sockets?]
TCP Windows / ARQ
Fast TCP / ZeroMQ (etc.)
9. TCP Over Wireless
BER / PER in Wireless >> Wired
(non-existent)
Packet Loss == Congestion (In
Wired)
ARQ Window Management
19. Programming for IoT !=
Programming for Mobile
May not have ‘always on’ internet access
Identity / Provisioning / Life Cycle
Management
Multi-hop
Network always not available
Backend implications? (Points to Ponder)