top | item 6078335

Ideas for Computing

328 points| samsquire | 12 years ago |github.com | reply

I've been writing my ideas down for years. This is a 100 ideas forming an idea of how computers could be.

97 comments

order
[+] Erwin|12 years ago|reply
This reminds of this: http://www.squidi.net/three/ which attempts to define a large number of computer game gameplay mechanics.

Maybe we need more forwarding-reaching fiction in our world. More essays on computing futurology, grand envisioning of what we can achieve with software. Even ambitious prototypes of a new way to do something (like Lighttable)

A lot of what I see are tooling details, lot of boring effort duplication on mostly-identical languages and lot of nitpicking/bikeshedding comments like: well, you may have a good idea for solving world cancer, but your article does not work in my weird mobile browser, so your credibility is shot.

Where's our version of "The Mother of all Demos" ?

[+] sparkie|12 years ago|reply
The problem is most modern computing is driven by the single question: "How can I monetize this idea?" It's only hobbyists and academics that really try to improve the state of computing, rather than having a primary focus on revenue. It's unfortunate that groundbreaking ideas are usually not the moneymakers, else we'd see innovation at a quicker rate.

Software patents are another hindrance to innovation too. Often the results of some publicly funded research are patented, and never actually made into end products, and the public has no rights to use the invention funded with their tax money. I'd bet a dozen or more of those hundred ideas are already covered in part by some patents that aren't used in any real products, but serve only to prevent anyone else from developing them.

I can't really see most people being so open about ideas as the author of this article precisely because innovative ideas people have will also come with the idea of monetizing it, with the belief that they need a patent to do so.

What's more of a shame, is a list like this 100 ideas, doesn't serve to prevent anyone from patenting an implementation of such idea, despite it already being published. Articles like these do not serve as 'prior art' when considering patent applications.

Perhaps it wouldn't be so bad if anyone who developed an idea could patent it, but little guys, hobbyists and academics can't afford to without outside funding, whilst the wealthy corporations whose primary motive is profit can patent ideas by the dozen.

[+] DanielRibeiro|12 years ago|reply
Where's our version of "The Mother of all Demos" ?

Bret Victor, who has been inspired[1] by Doug Engelbart, has showcased plenty of innovations on his presentations/writtings:

* Magic Ink[2]

* Stop Drawing Dead Fish[3]

* Drawing Dynamic Visualizations[4]

* Media for Thinking the Unthinkable[5]

* LearnableProgramming[6]

* Inventing on Principle[7]

[1] http://worrydream.com/Engelbart/

[2] http://worrydream.com/#!/MagicInk

[3] http://vimeo.com/64895205

[4] Drawing Dynamic Visualizations

[5] http://vimeo.com/67076984

[6] http://worrydream.com/LearnableProgramming/

[7] http://vimeo.com/36579366

[+] LoganCale|12 years ago|reply
The idea of forward-reaching fiction to encourage advances in science and technology is what Neal Stephenson and others are trying to do with Project Hieroglyph.

http://hieroglyph.asu.edu/

[+] unimpressive|12 years ago|reply
I've thought of some of these independently. (It's good to see somebody else did too.) We could probably make more progress if we all kept a list like this publicly. Or even privately, with snippets shared where appropriate. I know if I went through some old journals I could scrounge up a decent list myself.

One I had:

Bash scripting in the style of hypercard.

Hypercard was described to me as a system that had a set of functions and let the user make programs out of them. Bash syntax is simple enough that making an interface that gives you the power of shell without degenerating from the original should be possible. The output should be a regular text based bash script, allowing others to edit without the program and the user to see what's going on underneath.

EDIT: A second idea to go with the first:

A utility that allows you to create a GUI window from the command line. This could be used in conjunction with the Bash script editor to make graphical programs that the user can easily incorporate into their (presumably window based) workflow.

[+] salgernon|12 years ago|reply
Check out NeWS, circa 1990. Or Arthur Van Hoffs HyperNeWs around the same time.

Edit: or Apples MPW shell back in the late 80s had a posixy set of command line tools that came with a shell called "commando". When invoked, it presented a dialog of all the tools options and constructed the command line from your choices. Kind if like training wheels, and it was smart enough to disable conflicting options, or to prompt for paths as appropriate. It showed the command syntax being built up. Eventually, I think it made its way to a/ux in 1992 or so.

[+] klibertp|12 years ago|reply
> A utility that allows you to create a GUI window from the command line.

Defunct now, but it lets you easily create windows without all that event-basedness that is annoying and unfit for scripts: http://easygui.sourceforge.net/

[+] cdcarter|12 years ago|reply
> Bash scripting in the style of hypercard.

This feels like what Automator is. It's definitely not as powerful as Hypercard was, but just for shell stuff its very cool. Not text based, but it can help accomplish A LOT of bulk processes.

[+] igravious|12 years ago|reply
This a well of useful and thought-provoking ideas.

I would like to point out a general theme though. A lot of these ideas seem most relevant to technical savvy people and I think why a lot of them (especially UI stuff) have not been implemented is because interfaces must cater to everybody.

Perhaps what we need more of is a dev mode switch (s/w or h/w) like the Chromebook has which enables a lot of these ideas so that the ordinary user is not overwhelmed.

Some of the ideas in the list are aimed at a general audience though. So perhaps each entry in the list needs to make a note of who the target audience is.

[+] DonaldDerek|12 years ago|reply
I'm with you, but users must be educated and they will adapt, take as an example the touch revolution. Even old people adapted to this change.
[+] microcolonel|12 years ago|reply
A lot of these are already done, like command autocomplete.

Many show a lack of vision, why are we thinking about putting buttons and windows all over the place, adding complex nonstandard headers willy-nilly to our emails when we could be thinking about important things like indexing the vast power of existing UNIX tools in a voice-controlled environment?

[+] jamii|12 years ago|reply
Why voice controlled? I can type all day but speaking for an hour leaves me hoarse.
[+] jfb|12 years ago|reply
One thing I've wanted for years is a small, pocket-sized and battery operated blob of storage with a well-defined API, where all of my data lives. Not the cloud, because no, thank you; and not an external drive. I want something that my phone, my laptop, my TV, my workstation can use as a canonical data storage location for everything in my life.

Ideally this would have a fast radio, so I could just leave it in my bag while I'm walking around listening to music on my phone; and a high-speed physical connection so I can plug it in if necessary.

[+] ChuckMcM|12 years ago|reply
One I keep noodling on is the one 'Ethical Me' which, on its face works well for ethics but it works for other things as well. Like documenting things you bought because they were 'more secure' or 'higher quality' etc. Understanding the meta-data of what is security 'worth' or quality 'worth' would really help inform product managers about whether or not investing resources there makes sense from a product desirability standpoint.
[+] txutxu|12 years ago|reply
I've like many of the ideas. Inspiring. +1

I don't understand very well how would you like to implement the "93 Shell Output Pinning". Usually I do that with an array variable.

[+] sparkie|12 years ago|reply
Perhaps it would be linked with variables, similar to how graphical debuggers can give you a "variables" window which shows variables in scope, and the ability to filter such variables. I suppose the idea is to extend the terminal to be more debugger/IDE like.
[+] markm208|12 years ago|reply
I am working with some students of mine on something like 89, 'Code Journeys'. We call it Storyteller.

http://www.storytellersoftware.com

It allows one to comment on the evolution of code rather than on individual sections of it. Currently, there is not a good place to write down why things have evolved the way they did. There is a search/filtering interface to find only the interesting bits of history.

[+] maged|12 years ago|reply
The added features of email metadata can be achieved without the added complexities of adding metadata to all email, with a simple NLP solution. Gmail already does this with date recognition and google calendar integration, as well as the new email 'categories.' It'll be cool to see it expand so any application can take advantage of it (i.e. key management software and joining a new website).
[+] grinich|12 years ago|reply

    simple NLP solution
famous last words.
[+] maged|12 years ago|reply
What would be great is a kind of gmail (or any email client) app store. You give permission to different applications to work on top of your email client to react to different email content. ie Mint/your bank automatically adding item receipts to the card purchase it has access too.
[+] andrewguenther|12 years ago|reply
Gmail will actually recognize Schema.org markup in your email as well
[+] yannis|12 years ago|reply
No. 36 Reminds me of Knuth's literate programming, which I attribute as the major reason for the continuing success of TeX/LaTeX. It needs a major rethink/revamp to move it on to the full spectrum of computer languages (what is available in python or haskell) is not fully satisfactory and has not really caught on.
[+] thisisrobv|12 years ago|reply
I had high hopes for this and was immediately turned off by #3. I still can't believe that their are developers who believe that design is just the pretty layer on top of their functioning infrastructure. It's not.

That said, I wish there was a site that connected people with complementary skill sets around similar product ideas.

[+] samsquire|12 years ago|reply
The idea is to connect someone who has created something technical and useful in concept with someone who can create a wonderful user experience out of it. These are not always the same people.
[+] nathanathan|12 years ago|reply
There's an idea I've been thinking about in the vein of the "create this" and api competition ideas (and the repo itself I suppose). I've found that on Stack Overflow questions of the form "Is there software that does x, y and x?" will often get locked. However, I think a site like SO for finding software could be really useful. And when you don't find it you've just identified a niche that hasn't been filled that someone could come along and make software for. It would be possible for developers to gauge demand by the number of up-votes/bounties a post gets. It could use many of the same mechanisms from SO like voting/comments/reputation/merging related posts, but perhaps adding some structured ways to describe ideas would facilitate better searching.
[+] beech|12 years ago|reply
I'm working on something similar to #73. Web Of Trust Recommendations at http://reqqi.com/

I also keep a spreadsheet of ideas that I'm probably never going to work on, this might have inspired me to publish my own list.

Also, if anyone is interested, Reqqi is hiring

[+] dsego|12 years ago|reply
Well, number 9 already exists in some form on OS X. You can't drag because it drags the window, but if you click on the file name in the title you get a dialog with some file options (rename, move, duplicate, ...).
[+] danabramov|12 years ago|reply
You can't drag the title, but you can drag the icon.
[+] quasque|12 years ago|reply
The email metadata idea reminds me of EDIFACT, or at least what it was intended for - a standard electronic format for commercial transactions. It predates the WWW though, so looks quite 'ugly' by today's standard of using markup language to describe data. However I think it would be a good starting point for coming up with a broadly applicable data schema.

[1] https://en.wikipedia.org/wiki/EDIFACT

[+] miguelrochefort|12 years ago|reply
I came up with most of these ideas independently. If you look at them, you'll realize that most share the same patterns, and actually are similar ideas.

I'm currently working on something that superficially looks like #4, but includes at least 20% (potentially more) of these ideas (or make them obsolete).

Most of them are trivial, and I'm sure much of us didn't get anything new from this list. Heck, I could come up with 50 more just like that (but maybe not that related to programming).

[+] aroman|12 years ago|reply
#87 "Interface Coalescing" is precisely implemented across OS X, notably the Finder for file I/O.

Also, you spelled "Coalescing" wrong :)

[+] samsquire|12 years ago|reply
Thanks, fixed.

Do you know if it has an API? It would be nice if it was a standard piece of architecture available on the desktop environment without creating completely dedicated dialogs. There would be some way to define how interfaces are to be merged.

[+] salgernon|12 years ago|reply
I'm waiting for the sparrowOS guy to comment on this thread. Despite his hell-banned status, I've been impressed with what he as an individual has come up with. He seems likely to have implemented many of these features for his edification.
[+] Mindless2112|12 years ago|reply
#64 Peer to Peer Backup is almost met by DataHaven.NET [1], the drawback being that it uses a central server to keep track of virtual credits.

[1] http://datahaven.net/