messaging • Designed to help app users make quick decisions and gather data • Allows the conversation to be structured to directly contribute to your marketing strategy
and Android • Tools to design your own conversations and deliver them to your mobile users • Straightforward analysis of app interactions and data export
seeking tools to make mobile a primary channel for access to their users • cross-verticals — customers in publishing, banking, semi-states, utilities, marketing companies, media
a business that can start fast and deliver product quickly • founder experience: strong development and product construction skills • task: what storage technology to choose, given so many choices
while doing, and shipping while product still very much in flux • data models not optimised for unknown typical interactions — and changing typical interactions • user data variable - depends very much on application • faster to react to business changes
balance — how much time do we spend to be experts, is there help? • An option on hosting important — agency that look after upgrades, downtime, setting up replication, etc. • An option on knowledge support — easily accessible experienced organisations • A lot of freely available information, solid language bindings
subscriber list for all of the apps we represent (about 500 apps, 4.5m subscribers) • maintain an inbox for each subscriber — drop messages in there for users • gather data/events from mobile devices and track • analyse interactions and present as report • respond to automation request from external systems
and data location • private infrastructures for banks and semi-states • EU/US zone residency for data, with no connection between • Operational ease offered by MongoDB is helpful
only get to about 20k documents when we have a thousand active customers” • “Those indexes should be fine now” • “I used an array for that” • “This changes depending on message status, yes it’s an index” • “Seriously, you can do anything with map-reduce”
an eye on slow queries always • indexes, choose them wisely and review • do not index fields that will change • arrays — only if they are fixed size, and allocate up front • prefer queries/aggregation to map/reduce • test collections to 50x the size you expect them to be