5 ms·
An IDE for ideas. Intellisense for thoughts. For those of you who develop using powerful IDEs (such as Visual Studio, Eclipse, ...), it's hard to imagine going
by miguelrochefort 13y ago
An IDE for ideas. Intellisense for thoughts.
For those of you who develop using powerful IDEs (such as Visual Studio, Eclipse, ...), it's hard to imagine going back to a basic notepad.
Most people, most of the time, don't write software. They exchange ideas, express wishes, share their feelings. And to do that, they use tools that are not more powerful than a basic notepad.
This forces them to be explicit, to explain what they mean, to repeat ideas, to think linearly.
I believe it's time for the average person to have access to tools that are just as expressive (if not more) than the ones developers have been using for years. It's time to break the speech metaphor and develop a completely new way to communicate. It's time for a UI-driven, computer-assisted, general-purpose language.
What I suggest we build is an IDE for ideas. Intellisense for thoughts.
- rch 13y agoI'd enjoy chipping away at this project. Have you started on anything?
- miguelrochefort 13y agoI've been talking about it for years. I have not done anything.
- andrey-p 13y agoInteresting idea, but could you elaborate on the practical side of this? Here's my take on this, in the form a ramble: Intellisense works really well for code because there's a finite set of, for instance, methods you can call on a certain object - so I'm assuming you mean something that's more than just autocompletion. I'm not really sure language on its own is powerful enough to handle ideas. When I think of organising thoughts and ideas I normally think of a mind map type of thing. However, mind map software is too restrictive in terms of what you can create. A sheet of paper + pen is an excellent tool for noting down ideas and thoughts, but paper is finite and ink is irreversible: you can't move around/delete stuff. I also sometimes have trouble with situations where idea A and idea B are related, but are situated at two completely ends of a mind map graph. So this might mean dispensing with two-dimensional mind maps entirely, but I struggle to imagine a non-annoying way of displaying a mind map in 3D.
- miguelrochefort 13y ago"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.
- tomek_zemla 13y agoThere is probably an interesting opportunity in this idea and many ways to execute it. There are also existing products trying to address the problem. DEVONthink and Scrivener come to mind - both seem to have customers, but they are not what my dream product in this area is... In my daily routine I use Moleskine with two colour pens where I put both textual notes and many sketches and diagrams. The act of noting down what I learn/think is helpful in remembering it, but I would love a digital version of such 'idea journal' with all the modern tagging, searching, indexing, filtering and editing digital options!
- ebiester 13y agoIt's called Emacs. :) More seriously, what would this IDE have in it? Have you seen Scrivener? That's what many of my friends both in academia and in fiction use. What does it have that you would expect otherwise?
- S4M 13y agoIsn't Google's instant answer - I don't use Google anymore, so my terminology might be wrong, what I mean by "instant answer" is the auto suggestion on the search box - the equivalent of intellisense (or at least auto completion) for ideas?
- ram_rattle 13y agoMy friends has started a startup around this, feel free to visit germ.io
- pjbrunet 13y agoSounds like a mindmap, try Freemind.
- Dwolb 13y agoFrom my perspective (automotive product development), this is called 'system design' or even 'product development'. We start from a use case, idea, feature 'want', whatever, and we move both up and down from the idea to arrive at customer use models(up) or requirements (down). The documents for this development start to look like hierarchies with many cross-dependencies (the solution starts to 'fall-out'). For example, if the 'want' were "I want to make routine repairs easier for customers" we'd work up to different customer use models such as "Customer is notified on head unit radio that timing belt routine maintenance is suggested" to functional objectives (or functional requirements) "Customer shall be notified of suggested maintenance 1000 miles, 500 miles, and 100 miles before timing belt suggested maintenance" to non-functional requirements "Head unit connected cell shall notify timing belt status every hour" to performance specifications "Connected cell shall meet 3G bandwidth specifications for xMbps when within xmile range of cell tower with x specification" that then get tested to our test flow requirements. The interesting thing is this design follows a 'V' engineering model [1] and the documents and requirements do not always have the best correspondence. In fact, the user models can sometimes be captured in Microsoft Word whereas the technical specifications can be captured in DOORs. Also, the use case is not clearly delineated to a performance specification 100% of the time. In large organizations it's difficult to communicate requirements and development milestones if this correspondence isn't clearly drawn. e.g. An executive that manages user experience (UX) may not understand why technology X is in the vehicle and what it gives them. This can lead to communication issues. So, I believe the IDE for ideas has a data structure that is hierarchical and the IDE resembles an FPGA IDE feature such as Xilinx ISE RTL schematic. In this RTL schematic, the designer can show a 'black box' such as 'My CPU Design'. The black box can be double-clicked to show black boxes that make up 'My CPU Design' such as Instruction Memory, Data Memory, a program counter, an ALU, etc... Furthermore the user can click Instruction Memory to see which FPGA elements make up Instruction Memory, etc. In such a way, different team members in product development can see different levels of abstraction according to their own interests and responsibilities. The user model can be the top-level 'black box'. A manager can double-click the black box to see which features create the use case. The manager can further double-click the feature set to see which functional objectives create the features, etc. This would be possible all the way down to performance requirements and can even include data for 'validation' and 'verification' activities (e.g. This is the feature I wanted, are all the functional objectives that make up the feature set fully validated?). Anyway, that would be my ideal IDE for ideas. The IDE would be cross-functional and many people could have input for multiple user models that drive the initial feature 'want'. This IDE could even help control costs of large systems "Which feature set is driving the most cost?". [1] http://en.wikipedia.org/wiki/V-Model http://en.wikipedia.org/wiki/V-Model
- qvikr 13y agoThat's what we're building with our startup germ.io [http://germ.io http://germ.io] - as a product to help you log your ideas, evolve them with more detailed sub-ideas, and move them through incubation to execution. Why? I think the key is exactly what you've said - to think linearly. Ideas often mushroom to end us up in a place drastically different from where we started, so the end result is not really linear. But we need to think about the next step in an idea linearly if we ever want to get something done. That is where mind maps (non-linear all the way) and traditional task-based tools (too linear) fall short. Check out what we have at germ.io, signup and if you'd like in on what we're building right now just ding me a message.