Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Why Spend More than Five Minutes on a GUI? (wolfram.com)
22 points by DaniFong on Feb 1, 2009 | hide | past | favorite | 28 comments


Something about these Wolfram posts always sounds like a a shady late night infomercial to me. I can't quite put my finger on it.


The marketing message is pervasive about everything Wolfram.

It gets on my nerves a bit, too. However it doesn't detract much from the information. Once I sat down and started actually using Mathematica 7, my mind was totally blown.


> Once I sat down and started actually using Mathematica 7, my mind was totally blown.

Unfortunately, 99.999...% of us can't ever reach this point, due to the cost of mathematica.


Eh, lots of software costs that much.

Maybe a better question is whether Mathematica can pay for itself. An even better consideration for this site might be whether Mathematica could be useful at a startup.


The student version costs $45, which is as much as a textbook, and less than one hundredth the cost of most semesters at American colleges.


If I understand the student licensing correctly, you can only use it for educational purposes, and only as long as you're a student.

edit: also, the price is $140 for the student version: http://store.wolfram.com/view/app/mathforstudents/


Sorry, I meant it's $45 for a semester.


Didn't mean to get on this pricing quibble... as someone who modeled an H atom ab initio in solid-state physics class using Mathematica, I really like it, too. However, it is my firm belief that unless they make a free version available eventually [1], only a select few will get to play with it and use it to make new discoveries/progress.

1. Or someone makes an ad-supported web2.0 social-network version of it :~).


I can't find the point of this one.

Was the whole point at the end that we should just code everything in Mathematica, because it's a great language "in which you can write just about anything that can be written"?

And that interactive elements are bad? Cuz they're down the slippery slope?

I think he's using those nifty tree animations to distract people so much they're rendered incapable of reading. (Worked for me.)

And it's total linkbait.


Agree it's linkbait. And yes there's a bit of self-congratulatory informercial about it.

But there's an interesting underlying point at the end about the tradeoff between high-level application-specific languages and powerful general purpose languages:

"I would have done that years ago, but there was no tool in existence that made it possible. 'Possible?' you say. 'Surely it’s possible in C code, or Java, or Visual Basic, or Squeak, or something.' Well, no, it’s not possible for me in C or any other such serious environment, because I’m busy and these are just fun little things. If it’s going to take hours or days to do, it’s not possible for me to do."

Also, Mathematica is damned cool, if I remember correctly from grad school days. So I don't mind if those guys are a bit prone to patting themselves on the back.


> So I don't mind if those guys are a bit prone to patting themselves on the back.

I wouldn't care if it there was a feeling of "meta" awareness of the back-patting.

Eating your own bullshit like it's tasty tasty chocolate, now that's a slippery slope you have to watch out for.

Getting high on your own supply -> believing your own hype -> eating your own bullshit == quick track to irrelevency.

Even if it gets you more fanboys.


Can you give an example of a company that isn't constantly spinning its own PR story? It's annoying, sure, but I'm not sure it's actually, from a business perspective, detrimental.


The question isn't whether they're spinning, but whether they drink their own Kool-Aid, or realize that it's Kool-Aid to begin with.

Me, I hype myself, but I also make self-denigrating jokes and meta-references when I'm hyping. I apply my bullshit detector to myself. Example: http://tr.im/5bucks

You may say "Uhh, but you're just a person," but I'm a person with a readership of about 7500, and another thousand or two on a mailing list, and I'm working on a tongue-in-cheek "What sucks about freckle time tracking?" post for my company blog. Because there are parts of our product that really suck. And we know it.

Here's a reverse case study: 37Signals was a lot more reasonable 5 years ago. Their blog posts were more actionable, less hype, and more importantly, the products fit a need and evolved. They kept doing consulting to pay the bills, so they couldn't escape reality. Reality is good.

Cut forward 4 years, they launch Highrise, a product that was so "less" that it was practically "nothing" and not usable for anyone. It didn't have any features people required to actually manage their customer relationships. It was just an online addressbook with comments.

You couldn't even sort by people with the most recent comments. How could that help you manage anything?

And they had been talking it up for months, meaning that it wasn't an addressbook with comments that was developed in a weekend.

There's nothing wrong with their marketing and PR. The only issue is that they believed their own hype, and really embarrassed themselves with a totally useless product.

Now, a year later, it's a little bit better, but it's no Basecamp and no Backpack.


I should just mention Amy, that I love your work. Twistori is so cool.

But my point is mostly that, despite the bullshit, Mathematica is radically more powerful for building user interfaces (up to a certain complexity) than anything I've seen. The self-hype hasn't exactly toned down over time either, so I'm less certain it's really the bad omen you make of it.


I think in the back of most developers heads is a little voice that says "My GUI tool set sucks" that most programmers ignore. People seemed to hate VB 6.0 because it was easy to use which is stupid.


Dani, I'm really glad you like Twistori.

I'm also glad if what you say about the eating-own-bullshit is not a problem at Wolfram Research. (But, last I saw, Mathematica itself had a horrible interface, beyond the language itself.)

But, on the other hand, I must always strenuously object when someone talks about "building" user interfaces as if it's a matter of how easily one can plug widgets together.

Which is what this article is about.


Maybe it's a problem of language. Perhaps 'user-interface' is the wrong phrase for what Mathematica enables. It seems closer to 'interactive exploration'.

Mathematica is really intended for general purpose exploration, and in that task, as well as many others, a 'hacked together' GUI made out of a few widgets is orders of magnitude more accessible than the raw code. It's not beautiful, necessarily, and it's not necessarily well-designed. It's not likely to replace the detailed, careful work of master designers.

But it does succeed at placing extraordinary power at one's fingertips. When the elements simply work together, and the data can be simply, easily, and quickly plugged into to a display function and a manipulate function in a line or two, it opens really exciting new possibilities.


Sure, I agree with you. Makeshift interfaces surely have their place and I was duly impressed by the demos. They are fucking cool, and cliché, I'm not typically interested in higher math unless it's showing me insights related to me earning money.

But.

This is all well and good, unless you title linkbait "Why Spend More than Five Minutes on a GUI?".

It wasn't "Build a Nifty Mathematical Experimentation GUI in 5 Minutes in Mathematica," or even "Build a Nifty GUI in 5 Minutes in Mathematica," or "Explore Math! 5 Minute GUI," any of which would have been accurate and still interesting.

Instead, it appeals directly to the base (and incorrect) belief that so many developers have, that UI is an unimportant afterthought that can be dispensed with, if they only find the right combination of readymade widgets.

In 5 minutes!

Ugh.


nods

Okay. My bad for the title. I just used the title of the article itself. It didn't occur to me that it would provoke, but I see that amply now.


Oh, I didn't mean YOU you. I meant the original author. :)


The point, I think is that it's entirely too much bloody work to make a GUI using any of the tools that are common for that purpose.

I recently wrote a little utility[0] (under 200 lines) in Clojure to make a folder of images greyscale. Over half the code was GUI-related. The GUI consists of a single button that launches a file chooser, a text display of files processed / files to process and an error dialog that pops up in the event of an uncaught exception.

I know Swing isn't a shining example of concise code, but it's absurd that there should be so much bulk for such a simple thing.

[0] http://github.com/zakwilson/imagesieve/tree/master


This is exactly the problem I designed http://utilitymill.com to solve .. at least for me. An easy way to slap a web GUI on a cool python script and share it with your friends.


dude - that is sweet! have you posted this on hn before as an article?


Thanks, glad you like it! It was on HN about 1.5 years ago. Maybe I should resubmit it. Maybe Reddit programming too. I was hoping to do some kind of freemium model someday, but I figure I'd need 10-100x the users first.


My attention span ran out after a few paragraphs, but I think he's advocating DSL for GUIs. If so, I'm 100% in favor of that, as I've been saying for a while.


I think this kind of thing is exactly where Flash is really good. http://www.25lines.com/


It shouldn't be that hard in Squeak + Etoys. Drawing things interactively and hooking up dials to them is the Standard Etoys tutorial.


Another underlying fallacy here is the assumption that "an interface" is nothing but a limited, predictable set of widgets that are simply stacked on top of programming underpinnings to "expose functionality."

That is why your interfaces suck!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: