Download - Better Content Presentation
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
Tool Architecture
Buy now!
Buy or
rent!
1. Serialized NSDictionary
2. Modification JSON
Native app
Server
web client
Native Architecture
NSDictionary
“0x7cea4590”
“0x7a0b9cf0”
“0x79e7bd70”
“0x79ea0d90”
weak references
Native Architecture@implementation UILabel (BTCLabel)
- (void)btcIsSerializable{}- (NSString *)btcClass{ return @"label";}- (NSDictionary *)btcAttributes{ return @{@"text": self.btcSafeText, @"font" : @{@"pointSize" : @(self.font.pointSize)
@"color" : [self btcHexColor]}};}- (void)updateWithComponent:(BTCComponent
*)newComponent{ self.text = [newComponent.attributes
objectForKey:@"text"];}
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.
Web Client Architecture
● Still work in progress● One big js file● Separate component for each native class● Currently only supports label editing
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
The Holy Grail
Automatic content management support
1. Use BetterContent to scrape content2. Build a document with all apps content3. Native app uses said document for content4. Said document is editable from the server