6. Side note: Content Management
Desirable features:
● Central document for all
content
● Easy localization
● Change app content on
the fly
Reality:
● Not easy
● Mostly obtrusive
● Incomplete
22. Server Architecture
● Node.js, gulp
● based on heroku-examples/node-ws-test
● Simple, fragile websocket protocol
● Mostly a data pipe between Native App
and web app.
23. Web Client Architecture
● Still work in progress
● One big js file
● Separate component for each native class
● Currently only supports label editing
24. The Future
● Heroku templates
● iOS Framework in addition to pod
● Android support
● Additional components support
● Additional attributes support
● Multiple user support
● Native API for app control over
functionality
25. The Holy Grail
Automatic content management
support
1. Use BetterContent to scrape content
2. Build a document with all apps content
3. Native app uses said document for content
4. Said document is editable from the server
Demo content change: Find all “RECENt ACTIVITY”. Now the text doesn’t fit in one line.
Show how easy it is in web - show Chrome devtools on (http://www.theonion.com/)
Its not easy. All solutions are obtrusive; either (1) use special UI classes, (2) don’t use text in xibs, (3) only NSLocalizedString, (4) Not easy to edit, (5) No common solution for permanent on-the-fly changes
Reveal app. $90 personal, $180 corporate (per developer).
(1) only works on same wifi network (2) requires a mac (3) complicated to modify content with
Reveal app. $90 personal, $180 corporate (per developer).
(1) only works on same wifi network (2) requires a mac (3) complicated to modify content with
Show demo
google spreadsheet.
(1) Difficult API (2) no immediate notifications when content changes.
Why Websockets?
Well known, many code samples, works on rails/node.js
Very simple. I just forked it and kept working on the branch.
UIView (category) class - VS - web client js class handling.