"Thought" might be a better term than "ideas". The purpose of such a tool is not to brainstorm, but to communicate.

We communicate using natural languages. If you check Twitter, you'll see people write down all kind of thoughts and information. But this information is not semantic, and only a human (or NLP) can make sense of what is said.

When people communicate, it's either to make a statement about the past ("I ate sushis"), about the present ("I'm in Las Vegas"), or about the future ("I want to watch Terminator 2").

The past and present (which actually are the same) are simple declaration about reality. The future is all about wishes and intents.

Of course, you could add another dimension/mode (reality/fiction). In fiction, past/present could be "I wish Hitler wasn't born" and the future could be "I want to work at Google". In reality, you would say "Dinosaurs existed" (past/present) and "There will be an hurricane tomorrow" (future). The difference is that the future is no longer a wish, but a prediction (as we're dealing with reality).

I want people to be able to communicate the following ideas without just relying on boring text:

- The Lego Movie was great.

- I want to be in NYC by noon.

- I'm interested in Bitcoin.

- Lock my house's doors.

- I want to wake up at 7AM every monday.

- I'd love to attent to the next Metallica concert in Barcelona.

- It's rainy in Vancouver.

- Where is my car?

- Turn on the oven to high.

The above statements should be purely semantic. I should be able to click on "Metallica" and get more information about them. I should be able to click on "event" and see where and when it takes place. I should be able to click on "car" and see exactly what car he's referring to. I want statements to be elevated to a level where they have meaning, and that text only is a single representation of these ideas.

You're in Vancouver? You won't see "It's rainy in Vancouver". You'll see "It's rainy (here)". If you don't know what Bitcoin is, you might see "John Doe is interested in [insert a short summary about what Bitcoin is]". If you're metallica, you'll probably see "3723 people want to see you in Barcelona". If you're the oven, you'll probably understand "Heat up to 500 F".

Now, the above statements are simple and don't show why someone would need an IDE for thoughts (NLP + manual confirmation would be enough in many cases). But people shouldn't limit what they think to 140 characters either. They should be able to express complex ideas such as (a product review):

"iphone" -> "Do you mean iPhone 5S ..." -> Yes

"display" -> "Are you referring to the display of the iPhone ..." -> Yes

- Glossy
- Cracked
- Too Dim -> Yes
- _____________

...

As you can see above, it's not easy to express complex interactions with text. But the idea is that you can input any keyword representing a "thing" (object, attribute, value), and continue adding nodes by searching for them with keywords until you have the elements you want to refer to. Then, you can drag relations between them and see suggestions based on likeliness and what not. It would of course infer things based on past statements and what it knows about you.

When writing a product review, people don't always know where to start, and often repeat things that other have said. By being able to refer to specific aspects of a product, see what others have said and confirm/infirm their statement (upvote/downvote), as well as build on top of it is probably a better way to converge meaning than to ask potential buyers to read through all of them manually. Maybe this should have his own idea thread.

Basically, I want a semantic version of Twitter that can suggest me things I can say about things I want to talk about, and let me endorse an existing statement instead of repeating it.