On the "People management" I think that the key thing is finding the right people. I manage our software development team and there is a big difference to being in the same room, or the same building, which I have done at previous startups, with several of the same team members.
You have to trust people and you have to allow them to do the job. I have always tried to hire people I trust to do the job, but when they are anything from one to nine time zones away there is no conceivable way I could "monitor" them and make sure they do their work. If I tried to suggest something like Webspy (as suggested in the article) to "check up on them" I would be first in line to kick myself out of the room. It is all results based. Did you get what you expected at the end of the day/week?
There are certainly drawbacks with not being in the same room. How I would love to be able to round em all up more often and have a whiteboard session (not sure they want that too though... :)). But on the other hand you get very independent and self propelled colleagues instead.
We try to have a group get together every 6 months, but it isn't always feasible, but you really notice the increase in "bandwidth" when everyone is in the same room for a couple of days to a week.
Would I want all of my team in the same town? You bet. Could I have assembled my team or one like it in the same town? With great difficulty. So, overall, we are better of with a distributed team, as the alternative would be to have no team. But it isn't always super easy.