6 ms·
iMessage uses a very strange amalgamation of typedstream (message content), keyed archives (app messages, sticker data), and protobufs (Digital Touch, handwriti
by css 2y ago
iMessage uses a very strange amalgamation of typedstream (message content), keyed archives (app messages, sticker data), and protobufs (Digital Touch, handwriting) for different features. I wonder what motivated all of those design decisions.
- bengarney 2y agoThis is stuff is such a PIA to parse. I assume it's just different teams doing different features over the years, and being alternately repulsed/seduced by each format. Probably features are implemented as libraries so there isn't a master oversight - they aren't trying to make iMessage's internal formats follow a consistent plan, just let all the libs coexist...
- pixel_tracing 2y agoAs someone who used to work on that team, it’s so interesting hearing thoughts from external public on the team.
- ajtaylor 2y agoI would love to hear your thoughts as an insider.
- meibo 2y agoMaybe they should be repulsed, considering all of the journalists that are getting persecuted and/or murdered because they are getting pwned through iMessage serialization bugs :)
- userbinator 2y ago"Those who don't understand ASN.1 are doomed to reinvent it, poorly." That said, it could be much worse --- JSON, or XML.