mkotantek: Designing for something in JSON as the source of truth is no different than designing for something in HTML except that it allows for more useful repurposing without requiring as much of a translation layer or removal of presentational elements. Separation of concerns and all that. Designing for the Portable Contacts schema is silly. We agree on that. I'm not sure why you think I like Portable Contacts. I just mentioned that
tantekmko - those same excuses were made for XML, and will be made for whatever replaces JSON in 5-10 years. Meanwhile, HTML+microformats will endure, on the web, in archive.org etc. All programmer formats are ephemeral, and thus a poor source of truth.
tommorrisinterestingly, Microsoft's F# has a type system that enables these kinds of measures quite nicely. You can declare a value to be in a particular measure type which is orthogonal to its numeric data type (int, float etc.)
tommorrisUse case 1: my American friends use these funny Fahrenheit things to talk about the weather. I want my computer to tell me what they are talking about in Celsius without me having to manually work out the conversion in my head. ;-)