4 ms·
I don't blame them. I had a go at implementing an IMAP server once, and it ranks as one of the most frustrating programming experiences I've ever had. The stand
by lars 13y ago
I don't blame them. I had a go at implementing an IMAP server once, and it ranks as one of the most frustrating programming experiences I've ever had. The standard is huge, fragmented, and is full of strange requirements to fulfill every thinkable use case a client may have. These small details end up heavily dictating the architecture of your application. I don't see how could implement IMAP without completely throwing out most of your work several times.
To make things worse, there is hardly any way to know when you've done it right. I'm not even sure there is a right way. When you start looking at how actual email clients speak IMAP, you'll see that they all manage to ask for a list of emails in completely different ways. It's a small wonder that these systems appear to work at all.
- cmyr 13y agoI think you can still blame them. They're a corporation with a 470B market cap, designing machines for which email is a primary use-case. They employ thousands and thousand of engineers. They should be able to build a mail client. Many much smaller organizations manage alright.
- Segmentation 13y agoAgreed. How is Apple not to blame? If this article was about Gmail instead of Mail.app, every comment would definitely be blaming Google.
- yapcguy 13y agoYep. What real innovation has there been on Mac OS X since Bertrand Serlet left? Where are all the adult engineers? I've met a few people now who are contracted by Apple to work on their customer facing Apps. They commute to Cupertino from the Bay Area every day. Nice people but they're second tier. They never critique Apple, think Apple is the best at everything, and shrug their shoulders at any technology developed outside of Apple. There's always an excuse for things that don't work, from broken iCloud APIs to Apple Maps. They're competent engineers, they'll do what they are told, but they're not the mavericks who will break new ground. Just my opinion, but perhaps this is something other people have experienced. EDIT: To poster below, with regards to the Bay Area which covers a large geographic region, I'm talking about the San Francisco peninsula area. Amongst people I know, Cupertino (which is in Santa Clara) is generally referred to as being in South Bay rather than the Bay Area.
- nknighthb 13y ago> commute to Cupertino from the Bay Area every day Cupertino is part of the Bay Area. 1 Infinite Loop is just south of the Sunnyvale border and 280. About two miles from El Camino Real. If you're going to make stuff up, at least consult a map first. > EDIT: To poster below, with regards to the Bay Area which covers a large geographic region, I'm talking about the San Francisco peninsula area. Amongst people I know, Cupertino (which is in Santa Clara) is generally referred to as being in South Bay rather than the Bay Area. South Bay, like East Bay, is a qualifier for a sub-region within the Bay Area. The peninsula is referred to as... the peninsula, not "the Bay Area". San Francisco specifically is either referred to as San Francisco, SF, or "the city". Santa Clara County is almost always referred to explicitly as such lest it be confused with the City of Santa Clara. When not speaking of governmental/political boundaries, one would more commonly say "Silicon Valley", "the valley", and sometimes its proper name of "Santa Clara Valley". You have clearly spent little if any time in the bay area and are hardly qualified to make bigoted judgements about the caliber of engineers based on where they choose to live within it.
- yapcguy 13y agoRather than providing opinion about the quality of some of the engineers working at Apple, you're nit-picking about the semantics of the term "Bay Area" and how people use it (nobody in SF I know says they're taking the 101 to visit the "Bay Area", they say "South Bay"). Since I know these people, I know their work, I know from technical discussions the level they're at, I can legitimately form an opinion, and that is they are not great engineers, merely competent. More importantly, they tow the company line, they don't think outside the box, they are anything but mavericks. Maybe Apple's software is suffering because the culture there means that engineers are too compliant or too scared to speak out and rock the boat?
- nknighthb 13y ago> nobody in SF I know says they're taking the 101 to visit the "Bay Area", they say "South Bay" Of course, that would be silly, since they're already in the Bay Area. I bet they don't say they're going to visit California, either. By the way, "the 101" is slightly unusual phrasing, too. Usually it's just "101". Give it up. You have no idea what the bay area or anyone living in it is like, and it's obvious to everyone. You're the one who made this about geography. Don't get mad just because it exposed you as a fraud.
- deleted 13y ago[deleted]
- vidarh 13y agoBut implementing an IMAP client is vastly easier. Still frustrating, and the IMAP spec is a giant stinking turd, but most of the most horrific things in implementing an IMAP server is down to all the crap you need to support in case some weird client uses it (and one inevitably does), while a client can choose to stick to a very small subset of the spec.
- jpallas 13y agoIt may seem that a client implementation is vastly easier, but that is an illusion. Some of the complexity arises from the way IMAP imposes no specific naming model for mailboxes, so the client has to be prepared for that. But most of the complexity comes from dealing with offline operation and attendant state synchronization in a way that isn't horrendously inefficient.