Like anything else, working remotely only improves with practice. I can definitely appreciate the opportunity my current job has given me to work from home - even one day a week is beneficial.
While I will credit my knowledge in communicating online to the many courses/profeesors I took while in the Emerging Media and Communications program at UT-Dallas, I think putting it into practice really solidified my approach. With a relatively small development team, it's important to be connected in some way. Whether it's HipChat, Hangouts, or just plain email, it's pretty easy to be just a keystroke away from everything I need to complete a task. Or when needed, Screenhero and Remote Desktop (Google) have been quite helpful to say the least.
Like most startups, we do have schedule meetings that help us with this as well. A daily standup meeting, a Monday Dev Meeting, and scheduled meetings with other departments here and there. Part of the reason it has been successful, I'd definitely credit to those meetings. We use them as a way to know what we are each doing and discuss anything we may need help on or have a question about.
Upon reflection, even when I am in the office, it feels remote at times because some other developer could be working from home so there's still the physical distance. Thus, online communication is crucial whether I am in the office or not. I personally believe that it improves even without conscious effort but conscious effort will definitely make a bigger difference in a shorter amount of time.
It helps a lot to have that hanging over my head... or well, on post-it sticking to my laptop. While I prefer focusing on tasks for a couple of hours at a time, I also have started working some things in to take a short break. For example, today I worked in my home office for a little bit for my initial meetings, then I moved into my backyard. There's something about being outside that feels a bit more inspirational. After working on a couple tasks, I got dressed to go for a jog to a near by grocery store. Upon my return, I took a shower and got ready for another call. Since then, I have been working on tasks - making sure my HipChat notification count goes back to "0" quickly.
At this point, my process feels like a well-oiled machine -- but it definitely took some time; mistakes were made but I learned from them. Working remotely is an extraordinary capability for any team to have at any stage of development.