There were three phone interviews on three different days, about 1-1.5 hours each. The first was a phone screen by an actual employee of pMD, not a recruiting company, covering basic experience and career history. Second was a technical phone interview, with an engineering manager, with a couple pseudo-code questions solved in a Google Doc as well as some general architecture and iOS development questions. (Something like Coder Pad would have been nicer, but I guess without a compiler this enforced that it was pseudo-code. Biggest complaint is no ability to tab/space code in a Google Doc.) Third phone interview was with the VP of Software Engineering and was more background and a general discussion of pMD's culture; seemed to be a determination of how well I'd fit with the team and if the team would work for me. It was a great conversation to learn more about the company, culture, and position.
For the final interview they flew me to SF, paying for flights and hotel, and reimbursing other transportation expenses. On the day of the interview we had a casual breakfast with a few members of the team, then a 3-person panel-style interview with technical/code questions, architecture questions, a couple puzzles, a customer service phone call role play, and some cultural fit questions. Roughly 3 hours from beginning to end.
The entire process was enjoyable, low-stress, and a good pace from beginning to end. The person that did the initial phone screen was super-friendly and facilitated everything and answered all my questions throughout the process. There were no long-periods of waiting to hear an answer, all move-to-the-next-phase decisions were made and communicated within 24-hours (and in most cases much less).