I’d like to propose here that it’s a good idea to start with a simple piece of software with explicit simple protocols that make it a good place to start.
Others will be able to build a similar product that uses the same protocol. And still others will be able to connect to the other end of the protocol to use it in their software. Every piece of software created like this can be replaced with better software or new ideas can be tried without recreating everything from the ground up.
One idea that you then could follow is what I like to call the “The Most Amazing Textarea Ever”. This piece of software is the place where you would write a new blog post or tweet. The only thing the Textarea should focus on is helping the user to write the best piece of text in the world.
Later the software could save drafts or format text, but in the beginning the only thing it would do is take input from the keyboard and show on the screen. When the user presses send the software will send it where the user wants it to go. This is where the simple protocol comes in. How hard would it be to create a protocol that takes a piece of text and send it somewhere else. Not that hard.
So you specify a simple protocol and ask people to implement it in their software. If the protocol is difficult to implement than no one will do it. But this protocol is so simple, that someone who has a product that could accept it, will implement it in an hour.
If you support a simple protocol to your app, then people who find it useful will implement it.