Managing Google Groups headaches

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri Dec 6 22:07:25 EST 2013


On Thu, 05 Dec 2013 23:13:54 -0800, rusi wrote:

> On Thursday, December 5, 2013 6:28:54 AM UTC+5:30, Roy Smith wrote:

>> The real problem with web forums is they conflate transport and
>> presentation into a single opaque blob, and are pretty much universally
>> designed to be a closed system.  Mail and usenet were both engineered
>> to make a sharp division between transport and presentation, which
>> meant it was possible to evolve each at their own pace.
> 
>> Mostly that meant people could go off and develop new client
>> applications which interoperated with the existing system.  But, it
>> also meant that transport layers could be switched out (as when NNTP
>> gradually, but inexorably, replaced UUCP as the primary usenet
>> transport layer).
> 
> There is a deep assumption hovering round-about the above -- what I will
> call the 'Unix assumption(s)'.  But before that, just a check on
> terminology. By 'presentation' you mean what people normally call
> 'mail-clients': thunderbird, mutt etc. And by 'transport' you mean
> sendmail, exim, qmail etc etc -- what normally are called
> 'mail-servers.'  Right??

Presentation means how the data is presented. Transport means how the 
data is transported. It doesn't refer to a specific piece of software 
like Thunderbird, but to the logical fact that what people see (the 
presentation) is not identical to what gets transported from one computer 
to another.

All programs make *some* distinction between the two. Email is encoded, 
wrapped with normally-hidden headers, and then sent, before being 
displayed at the other end sans such headers. But some programs make a 
nice clean distinction. If your mail client converts emails to sound for 
the benefit of the blind, that is easy to do because there is a clean 
*and public* distinction between the transport and presentation of email 
-- everybody can agree on how to extract the message ("Hi Bob, are we 
still meeting up for drinks tomorrow night?") from the transportation 
layer (the email envelope).

In contrast, that is not the case with nearly all web forums. By 
deliberate design, or mere ignorance and neglect, they mix up the message 
you care about ("Hi Bob...") and the stuff you need to get that message 
(the HTML and Javascript code) in one big ball of mud, and don't have 
APIs for getting messages. Or worse, they deliberate obfuscate the 
content, in an attempt to lock people in to only using the specific 
interface they want you to use.

Consider the difference between (say) Twitter, which has published 
standard APIs for reading and writing tweets, and StackOverflow, which as 
far as I can tell insists that the one and only way to read and write 
comments is via their website. The internal formatting of the website is 
not public and is subject to change without notice.

(If I have unfairly maligned StackOverflow, substitute any number of 
dozens or hundreds of web forums.) 


[...]
> To the extent that these assumptions are invalid, the 'opaque-blob' may
> well be preferable.

No. Nice clean interfaces separating concerns (such as transport and 
presentation) have little to do with ASCII text. One can define clear and 
open binary protocols too.



-- 
Steven



More information about the Python-list mailing list