The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Software Holy Grails.

The Software Industry seems to chase really good ideas, but chase them in strange ways.  I've started calling these things Holy Grails.

A Holy Grail may or may not exist (probably doesn't exist) and you can spend lots of time and effort chasing after them.  You can think you've reached them, but then they vanish before your eyes.

Thus the "Programming through Pictures" concept has been a Holy Grail from the '60's.  There's been several schools of thought, and several very expensive software packages, all to convert pictures into working code.  And none of them have fulfilled their promise (so far).

I think these things are achievable, but somehow we don't achieve them.  What are some of your favorite Holy Grails, and what keeps the Software Industry from achieving them?
Monday, December 06, 2004
The perfect programming language for ALL projects. 

Doesn't exist, yet people have argued over it for years.
Monday, December 06, 2004
A universal programming language x to programming language y translator.

Also, a universal virtual machine, which is really the same as the above translator.

Neat ideas, impossible to achieve.  I think that success would violate undecidability.
Aaron F Stanton Send private email
Monday, December 06, 2004
> What are some of your favorite Holy Grails,

End-user programming.

> and what keeps the Software Industry from achieving them?

end-user going on dilettante Send private email
Monday, December 06, 2004
==> What are some of your favorite Holy Grails,

AI -- Artificial Intelligence

==> and what keeps the Software Industry from achieving them?

It's "dreaming the impossible dream" -- will never happen.
Sgt. Sausage
Monday, December 06, 2004
It's popular (especially on slashdot!) to claim that AI has failed.

It depends how you define "AI".  The best definition I've heard is "the stuff we don't know how to do with a computer yet".

So 20 years ago, being able to call up your airline, speak the name of the city you're flying to, and have it tell you whether your flight is delayed was called "AI".  Today, it's commonplace, and nobody calls that "AI" -- it's "merely" voice recognition, not real AI.

If you define it as "what we can't do", then sure, it has failed, and always will fail, by definition.

Me, I think 3d graphics have failed.  I actually use AI systems from time to time (like calling to see if a flight is delayed), but my computer doesn't do 3d graphics at all, even though it has the hardware to do so.  (Apart from shoot-em-up games, of course.  AI makes my life easier.  3D makes my life more violent.  Yay!)

Monday, December 06, 2004
Shipping a product with no known bugs.

I've only been there once, mostly because of a combination of dumb luck, hard work by a small group of people, and telling the marketing folks to jam it when they said "let's add this new thing-a-ma-jig feature!"...
Anonymous coward
Tuesday, December 07, 2004
AI seems to work from my POV: I can type 'joel on software' (without quotes) into my address bar and it will take me to . If I type 'old joel on software forum' it will take me to the old forum address, and if I type 'new joel on software forum' it will take me to the current forum address. If that's not magical enough, 'free encyclopedia' will take me to Wikipedia. I can type a question if I feel inclined ('what is a bookmarklet'). Most of the time, I get the result I want without having to rephrase the search. Google may not be "intelligent" (whatever that means), but it's hard to tell sometimes. Maybe we're desensitized to the AI we have.
Tuesday, December 07, 2004
The main problem with AI is that there is no standard definition of what AI actually is.

I suppose one loose definition of AI would be something that can pass the Turing test.

AFAIK, this has not been done yet, although there are many interesting attempts.
Nemesis [µISV] Send private email
Tuesday, December 07, 2004
I wonder how many of the attempts to pass the test have been attempts to create AI, though?

Tuesday, December 07, 2004
"Shipping a product with no known bugs."

Come on. People do it every day.
Testing? Let's just ship.
Support? We don't need that.

See, no KNOWN bugs.
Tuesday, December 07, 2004
Creating hacker-proof anything.

Making a computer OS so simple that my grandmother could use it.

Saving users from themselves.  (IE, saving them from spyware, viruses, etc.)

I think these are big things we've been working on for a long time and we can't get right.  Let's face it, we can't even get software to the point where even advanced users don't shake their fists in frustration at the bugs.

It would be amazing to have a machine that was safe, easy, and just worked.  (And don't say but a Mac, they have their own issues.)
~ Send private email
Tuesday, December 07, 2004
Thanks for the input, people.  Good examples.
Tuesday, December 07, 2004
Apparently a product I'm working on was accused of being a 'holy grail' of some sorts.  We'll see.
Description of product is close to the bottom.
Vince Send private email
Tuesday, December 07, 2004
Just because it's a Holy Grail, doesn't mean it can't exist. 

If you CAN bring it into existence, it will solve a very thorny problem.  That's the purpose behind any Holy Grail.

But it becomes a Holy Grail when the effort to produce it seems much harder to achieve than originally thought.

I wish you luck with your Distributing Java application, it sounds like a very good idea.
Wednesday, December 08, 2004
There is no Holy Grail. It's only a Grail shaped beacon.

Wednesday, December 08, 2004
Holy Grails...

* Easy Desktop Publishing: I think it could be simpler, but no one would use a DTP software if it isn't grounded in the real world of color science, typography and printing press. All three topics mentioned ARE HARD--so any such software will be complicated. They are still at it though. For example: Adobe's way of dealing with the complexity of dealing with print shops is to encourage people to settle on PDF. Adobe, Apple and Microsoft contributed to the typography and color science in significant ways as well.

* No brainer web development: For savvy web firms this is a Been-there-done-that problem, as long as you stay within the bounds of what actually works (you could write your own style guide by just testing all browser) vs what some web browser developer want you to try. For the average joe there's CityDesk!

* Semantic web: this one is hard. It's about as difficult a problem as converting a few billion people to speak a different language--one that would work with both google and you. I am sure we can go 70% of the way there, at least there are some research labs that feel this is a easy enough nut to crack. It might be a fiasco like the AI research of the 60s though.
Li-fan Chen Send private email
Wednesday, December 08, 2004
Speaking of voice recognition, I think VoiceXML was trying to make programming such telephone conversation systems easier. I think Eve at ArsDigita wrote a book on it.
Li-fan Chen Send private email
Wednesday, December 08, 2004
Li-fan,  I think your 100% right on in regards to easy web development.  There must be thousands of Content Management Systems, yet none of them are good enough when it really comes down to it.  I bet 80% of internet sites have the same 5 basic requirements, yet all the systems are either too limiting or too complicated.  (Though I'm sure citydesk does a nice job for the most part).
Vince Send private email
Wednesday, December 08, 2004
Anyone remember the RM Nimbus and the programs such as Newspa (or was it Newsdesk?) and Paintspa?

Is there anything like Newspa for mordern PCs?
i like i
Thursday, December 09, 2004
"Easy Desktop Publishing"

How 'bout a cartoon paperclip that pops up and asks "Are you SURE you want to use COMIC SANS here?" ;)
has Send private email
Thursday, December 09, 2004
The high-tech fully automated home. For the bell doesn't work:

Gerd Riesselmann
Friday, December 10, 2004
LaTeX makes DTP pretty easy--the hard part is learning the markup language. Once you got that (easier than HTML, IMHO), camera ready PDF is a batch file away. No Adobe, no Quark, poof, type 1 fonts, professionally laid out.
Stephen Hirsch Send private email
Sunday, December 26, 2004
"there is no silver bullet"

Fred Brooks Jr.
Paul Colucci Send private email
Thursday, December 30, 2004

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz