Fog Creek Software
Discussion Board

all-hands interop

reading standards stuff here, some might find this interesting (yes a blatant plug for my blog)...

"Everything needs to work with everything else. Can we at least agree on this? There's nothing worse than using a piece of software only to regret it later because it won't play nice with others. Even with things as simple as contacts and calendars, it's incredible how little we can interoperate.

... rest at

timothy falconer
Friday, July 16, 2004

"Everything needs to work with everything else"

Okay. You can buy my software and make yours work with it. And while you're making yours work with mine and everyone elses, we'll be developing a knock-off of your product. Read Joel's article on Fire and Motion.

Anony Coward
Friday, July 16, 2004

<possible troll>
or we could all use xml as file storage formats, and have people just writing nice complex xslt importers...
</possible trol>

Andrew Cherry
Friday, July 16, 2004

hmm - blasted html character codes - what am i supposed to use, ascii? damnit!

Andrew Cherry
Friday, July 16, 2004

I was going to comment, on the thread in your blog, but because you require my email address I haven't done so.

Friday, July 16, 2004

"Everything needs to work with everything else. Can we at least agree on this?"

We can't.

Only possible if there is a standard format that everyone agrees their application should be able to understand.  There isn't and there never will be, such a format.

Friday, July 16, 2004

ascii wasn't bad :->

Friday, July 16, 2004

"Everything needs to work with everything else. "

Microsoft is sort of pushing this premise with WinFS - by agreeing to a standard set of schemas for standard objects (contact, email, document, whatever) hypothetically all apps can interoperate. Of course finding such a common set is tremendously more difficult than just talking about it, but apparently that's the goal.

Of course they'll have to excuse most of the community for finding it ironically hilarious that Microsoft is pushing applications standards, given that Microsoft has been highly protective of their own protocols and standards. Microsoft's dedication to standards often exists insofar that it is the underdog and is looking to latch onto the work of others (see MSN Messenger back during the whole "Why can't we all just get along?" spectacle), but once it moves into a position of strength in an arena the doors slam shut (cue someone yapping about Office having new "open" know apart from the restrictive licenses and legal coverage basically stopping you from doing anything with it). Recently Microsoft did "open up" their web service standards (again because they're basically the underdog, and because the development world would have relegated them to the dustbins of history if they didn't), but even still they couldn't just submit an RFC and called it a standard - you have to write to Microsoft and request a license.

Wow, what did that have to do with everything working together? Sorry for the detour, but I've typed that so damnit I'm hitting Post!

Dennis Forbes
Friday, July 16, 2004

"ascii wasn't bad :->"


ASCII does nothing to help you 'understand'.


That's ASCII, so you can read it into your application, but you still don't understand what it means without another standard so we both know what product is being referenced.

Those are the types of standards that are required before applications can truely understand each other.  And it's not going to happen.

Friday, July 16, 2004

well, there are standards like ical/vcal and vcard. some software even understands them. Outlook for example does an OK job, though it doesn't support some extensions.
Any common format needs to define three things:
1) A core set of common things.
2) A way to extend and add your own stuff.
3) A way to mark extensions as mandatory.

People often forget step #3, which means interop falls down as soon as someone wants to really extend it, or you get weird workarounds for it.

Friday, July 16, 2004

"Everything working with everything else."

Sounds like someone frustrated with his handheld unit. Not s'posed to be doing that during work hours.

Friday, July 16, 2004

I'm helping someone parse yet-another format. Funny thing is before I started, he lexed everything into s-expressions without knowing it! All in Python.

But fine, it's employment for programmers.

Tayssir John Gabbour
Saturday, July 17, 2004

No, everything is NOT supposed to work with everything else.  That is a major violation of encapsulation.

Hardware/Software things (PC's, handhelds, etc) will only work with other things that they have an interface they agree on.  This agreement is pretty critical, involving protocols and even bit-level arrangements of data.

It "would be nice" to have a 'global' interface that everyone worked to.  However, most interfaces are customized to perform the limited number of functions that are needed -- not everybody's full list of all possible functions that might need to be satisfied through the year 2020.

Maybe I'm going off a little too hard on this -- but it is exactly these kind of 'should' messages I find myself fighting all the time in my work.

If a person really feels everything 'should' work with everything else, then in my experience that person is a land-mine waiting to happen.  They are unwilling to make the comprimises, or spend the time, or allow others the time, needed to develop inter-operability between two entities they think "should" already work well together.

Saturday, July 17, 2004

*  Recent Topics

*  Fog Creek Home