Ranting
OK, so I am going to break a rule and rant. I'll leave out the actual name, so at least Google won't come up with the association, but it will be trivial to figure it out...
There have been a couple of posts in the vCardDav mailing list recently that just really tick me off, enough to send out a roiling flame - which I really try hard not to do. One of the editors, a young guy, kind of smart, knowledgeable in certain areas (but not sync) just can't handle that if you don't know something, it's OK to say so.
It is painfully obvious that he has never implemented a sync solution in his life, but he keeps taking a very superficial knowledge - which seems to mostly be just what other people have said on the mailing list, and acting like he's the expert. I guess part of it is to keep the distinction of being the editor, in charge of the spec, be an impressive authority, whatever, but it is just _so_ painful.
A couple of months back, there was a long sequence about why you can't just store Diffs, and send those to perform sync. I mean, the overall concept it pretty simple - Sync Metadata, like the Sync anchor - when you did the last sync, and what the state was at that time, can easily get out of sync with the actual address book. You have to store the Metadata separate from the address book, since they are different applications, and you as the sync client just have partial access to the address book info - and generally just to a fixed set of fields, not under your control. In the real world, people can easily use more than one sync client, reinstall the client, reset the device, and so on, and you just have to deal with it. Additionally, you don't get invoked when changes are made in the address book - you just run when it is time to do a sync. Generally you can get access to when an entry last changed, but that is about it. That means you can't just keep updating some diff tree, like a source code control system when things actually change- you would have to keep a copy of the entire address book with your client, to be able to compare all the data just before the sync. Doubling all your storage requirements and doing a lot of extra comparisons is generally a pretty dumb thing to do, especially on a limited, battery powered device, even if it would occasionally get more "accurate" results (but maybe still not what the user really meant)...
Anyway, here we go again - the exact same thing over again - in http://www.ietf.org/mail-archive/web/vcarddav/current/msg00554.html. Argh "Two-party sync is easy: just record diffs as metadata and exchange that in the sync protocol." Just absolutely no clue whatsoever about how things are done, or what is reasonable. Now, if this was a first time post about it, I would try to explain, but it is not - it just keeps on happening, so I just couldn't help it - I flamed him (a little) -http://www.ietf.org/mail-archive/web/vcarddav/current/msg00555.html.
The other time I really flamed him was back at http://www.ietf.org/mail-archive/web/vcarddav/current/msg00402.html. That time I was _really_ pissed off. He took a thread that I started to try and have a clear written explanation of why it was not just a bug in the client that it could not return the exact same vCard as it received in a subsequent sync (but rather a reasonable, and expected behavior), took a piece of what I said completely out of context, claimed that was my only reason, and that I was wrong, and that he was right with a slightly different view - which was _exactly_ what had been in my earlier port. I literally said that because of A, B, and C, thus D, and by the end of the thread he claimed that I said it was only A, and I was wrong, he was right, it was D. It was just so frustrating - I mean I was doing sync software when he started high school - working on the Intellisync SDK with Bob D., which sold incredibly well, did developer conferences on sync (I wasn't a very good speaker for the presentations, but did well in the hands on or 1 on 1 stuff), got sent to China to train people in Sync, all the courses and meetings we did at our site. I didn't mention that in the flame - not much point in being the old fuddy-duddy, and all that, but it was just ridiculous
Note the thread above was was caused from this post: http://www.ietf.org/mail-archive/web/vcarddav/current/msg00354.html, where the person just totally misunderstood how sync is done today, but after a couple of back and forth emails, he understood the explanations and revised his opinion. He was rather arrogant at first, but then really backed off when he understood. In a way, that thread was funny in a rather sad kind of way - a guy from Nokia insisting that it was merely a bug in the client to return a different vCard that was previously sent - when ALL Nokia devices map the data into a fixed structure, toss everything they don't understand, and return it all restructured the next time.
Unfortunately, there is also another guy there, incredibly smart, but also not well-versed in sync - an IMAP / Email guy, which is pretty different. His big thing recently was in http://www.ietf.org/mail-archive/web/vcarddav/current/msg00432.html.... He throws in this idea, which on the surface makes sense, but with closer examination it has some major problems - it works for all the cases that already currently work, causes a lot more collisions and extra data to have to be sent back and forth at startup, and fails worse than doing nothing for all the cases that aren't currently handled. It has a big advantage in that it is easy to understand, and has a clear set of rules for implementer's to follow, and looks wonderful, but it still fails terribly. But I try to explain why, and he just picks little pieces out of what I send, and refutes those (most of them incorrectly because we are using different terms), and then ignores things for weeks on end. It is just so frustrating. I'm sure he still thinks he's right, and that in an ideal world both sides will just store the full vCard, and never lose metadata, but that is just so far from any reality it is frustrating.
I'm certain that if we got together with some of the long-time sync people (OMA-DS people), plus the last 2 guys (but NOT the first one), plus some of the other contributors on the list, things could be hammered out and be really good. Instead, we have basically wasted a year. The DS group submitted a proposal way back, which the first guy totally rewrote in a badly broken way in the first draft, spent months arguing back and forth every little thing until it was all the way back to the original, and he still doesn't get it. There was a whole bunch of stuff about why some text was completely the reverse of what it should be, and all he could do (the second or third time around) was suggest a "compromise" to change the MUST to a SHOULD, instead of reversing the logic.
Anyway, it's no wonder my boss thinks the group is a total waste of time - but I just would really like that spec fixed, since I have spent so much time in the past battling with it's flaws...
I should just be smart and unsubscribe, or have the incoming emails automatically marked as read, so I don't see them until I take the time to go review a whole bunch - that way I wouldn't get so irritated at the ignorance and arrogance.... Maybe if there are yet more stupid things posted...
End of Rant (For now)
dgc03052 on 08.03.08 @ 02:02 AM EST [link] [No Comments]
trivia
OK, so I've updated some of the junk lying around. In a sense, it is silly that I bother with this, but it is good to play around with PHP, and keep active. This blog doesn't have any fancy features, RSS, etc., but no-one reads it anyway (other than google & msn), as far as I can tell from the Apache logs. Of course, one still has to be careful - if it's on the internet, it's forever...
dgc03052 on 08.03.08 @ 12:34 AM EST [link] [No Comments]
Travel
Reading other people's blogs recently, I thought again about how I never do that myself. So, to start back up, I'll first cut and paste my input to Charles Stross's (love his books) blog, about worst travel experience:
A 72 hour trip from Manchester (NH, New England), to Beijing. Planned to arrive two days early, actually arrived a day late.
On Friday, bad weather, but no problem, my flight to Newark (NJ, near NY,NY) was early, before it was supposed to hit. Delayed a bit, then board, then sit on the plane for a while. Then they cancelled, so everyone gets in line. Big problem - it was the Friday before all the local schools had a week's vacation, so everything is booked (and cancelled).
Managed to drain the batteries on two phones at the same time (One on hold, then talking with the elite desk, the other online checking for available flights), while in line still in the terminal. Best option I could get, they put me on a flight from Boston the next morning (45 miles, about an hour drive).
OK, so go back home, try to arrange a last minute ride to Boston (since my return was still to MHT) - of course most of the airport shuttles were full. Get to Boston Saturday morning, and of course, the flight is delayed. Fortunately, it was solely because of crew timeout issues, so it took off when they said it would, and I didn't miss the flight from Newark to Beijing (but it was close).
Flight to Beijing was average, some entertainment problems, and seat power broke after about two hours. Up by Greenland, lots of activity in back, someone was sick.
Right as the in-flight display shows us at our closest approach to the North Pole, I feel a long slow gradual bank, oh &*&#..... Sure enough, that sick person was worse, and there are no good hospitals in Northern Siberia (above Beijing), so we are diverting back to Goose Bay Canada, despite already being at the halfway point.
Another couple of hours go by, and we are getting close to Canada, and more announcements - the person felt better, so we were re-dirverting all the way back to Newark. Net result for that trip, a 13 hour flight from Newark, to Newark. Net result for the day, 18 hours from Boston to NY.
Unfortunately, I didn't get a good shot, but here is a fuzzy camera phone display of the inflight display - http://dchampagne.com/photos/SyncML%20Trips/2008%2002%20Beijing/img057.jpg
After an hour and a half, finally have a coupon for a hotel, and am on a shuttle bus to go get 5 hours sleep before trying again the next day (I was rebooked for the next flight - but a lot of people were rerouted all over the place, or delayed several days).
The next day, start the Newark to Beijing trip all over again - same plane, same entertainment problems (the choice of 8, no 4 channels), etc.. I also found out that shortly after I got through the line, the computers crashed (at 2 am), and the majority of the line had an extra half hour of sitting around...
I've also spent 8 hours on the tarmac at Montreal (Not allowed off because we were a diverted Madrid to Newark flight, and customs wouldn't take us), followed by spending the night on the floor in Newark with my 10 year old son (fortunately, he was able to watch all 3 original Star Wars movies, plus several others I had with me on my laptop), too many long delays to count, I was at the conference in Japan that started all the burning Dell laptop news, and having food poisoning all the way from France to NY (including going through passport control and customs trying not to lose it again).
dgc03052 on 08.03.08 @ 12:11 AM EST [link] [No Comments]