More compact protocol--avoid extra JSON encoding

Also make subapps print custom message log/alerts