From the 'developer' side, you need to be really clear on what you expect from the people you are working with, I am working on an ongoing project for a company in the USA and I am based in Central Europe. Actually doing the work and communicating isn't a real problem though the time difference can be a bit difficult (I think more so for the client, often I have just gone to bed, when a question arrives in my email inbox, and I know it's semi-urgent for them).
For me the problems are unclear instructions even though we all use the same language it's sometimes difficult to get clear details of what the client actually wants, and they often 'remember' something vital that needs a days rewrite for something that would have been a 10 minute preperation 2 weeks ago when they forgot to include it.
And I hear many people say that when you start working with people with a language barrier between you that is compounded even further due to misunderstanding and cultural/language differences. Having said that it can work well I started on a 3 to 4 month project, and 10 months later the extra work that has spun off from there is still keeping me busy.

So plan carefully what you require, make clear agreements on what, where and when, and look at how you will do the communicating, screen sharing programs are everywhere, skype professional is good but there are others.

Hopefully as the client someone else will be able to give you some insights from that side of the deal.
Good luck.