Why not become a lifetime supporting member of the site with a one-time donation of any amount? Your donation entitles you to a ton of additional benefits, including access to exclusive discounts and downloads, the ability to enter monthly free software drawings, and a single non-expiring license key for all of our programs.

You must sign up here before you can post and access some areas of the site. Registration is totally free and confidential.

Godin writes on the end of dumb software. I could not agree more.I think the examples he uses are easily solvable with the tech we have now (sounds like semantic desktop to me).

He blames desktop software authors (as if web-based software was automatically smarter). It's true that it tends to be more 'connected', but smarter? I don't know of any web-based tool for contacts that does all he wants.

I'm tired of programs that are trying to be "smart" and figure out what i want to do, or ways they can help me by doing not what i said but what it thinks i meant, very often lead to infuriating unpredictable outcomes that just cause more trouble than it's worth.

Let's take Godwin's example in that essay, where when he sets an appointment time he chooses 2, and then has to select PM. His complaint: "I have never once had a meeting at 2 am. Shouldn't it know that?" From my standpoint, i don't want the program to try to be guessing the AM/PM setting for me, and get it right 95% of the time, and have me worrying about the 5% of the time when i put in 5 and i really did mean 5am and end up missing that appointment.

I think predictability is under-appreciated by these people who are always screaming to make software "smarter" and have it intuit what you are wanting to do. What you gain in speed you lose in predictability and consistency of use.

Or, better, why doesn't this address book hook up with other address books of trusted peers and automatically correct and update?

Because that would be a privacy violation. You never harvest private info like that from users to give out to other users.

Plus, how do you know which user has correct info and if the info other users have is wrong or additional valid info? And even if you could know, how do you know if the person who owns that info wants his personal email address that he gave his mom to be distributed to all of his business contacts that he purposely didn't give it to? You really don't know and can't know it for sure unless the person owning the info submitted it himself. And that would require an online database and service similar to Plaxow. (of course that also requires everyone in his address book to be Plaxo members and to keep their info up to date, in order for it to work)

I'm all for error trapping and data validation routines. Those are absolutely essential. But I have yet to work with any predictive system that doesn't generate more unintended results than I can live with.

I think a lot of the motivation to create these so-called smart programs comes from a subconscious desire to take the actual user out of the loop: "Just think how much more efficient our programs would run if we could just get rid of the human operator and let the machines talk directly to the machines."

It almost makes a strange sort of sense when you think about it. If you removed the variability of human interaction from the design criteria, most programs would be a piece of cake to develop and maintain.

When my girlfriend teaches riding, she tells her students that there has to be at least one "clue" in the picture. Either the rider can have a clue; the horse can have a clue; or they can both have half a clue each. But no matter what, there has to be one clue in play - or they're both going to get hurt.

I think the human/computer interaction has much in common with that. The more we dumb down (or be allowed to dumb down) the end user, the more "smarts" we're going to need to build into our systems. And since we ourselves are not overly good at anticipating and predicting each others desires, I wonder just how capable we are of coding a system that is.

In the end I think it's largely going to remain a techno pipe dream.

Smart software is no antidote for a dumb user.

---Mini rant follows. Feel free to ignore.

I love Seth. He's a trip, a fun speaker to listen to, and a great guy on or off the podium. But when it comes to this topic, I think he's gone way overboard. And this really bugs me because I'm sure he knows better.

Personally, I'd like to see a piece of code - any piece of code - that Seth wrote. I say that because I doubt very much he ever has. Because if ever did write a program, I think he'd realize just how much 'smoke' he's blowing in his essay, and probably never submit it.

Like the saying goes: Nothing is ever impossible to the person who told you to DO IT.

Access could be made into a more user-friendly software. I need Access, but don't use it. It's too hard. Any relational db with the right UI can do what Seth is talking about, so I don't understand why it's such a big deal for someone to create something more user friendly than Access, with Access.

The only smart feature I agree with is the ability to link. I'm sitting here waiting for the only software that will let me connect whatever I want to whatever else I want, and which will allow me to view these links in a pane. Smart. Maybe GemX will release it, maybe not. They're not talking. Their program doesn't automate simple tasks (I don't like that, either), but rather gives the user the option to link all contacts, notes, external links, emails, what have you. Finally!! (Well, almost, it's not here yet.)

40hz, please understand that to us clueless end users, computers are just things made by people, and sometimes we don't see why people cannot create what we consider to be basic features. We don't know they're techie pipe dreams. We just know we have a lot of little programs all over our PC becuause we cannot get what we need from one program. Close this, open that, update this, uninstall that...we see computers doing things much, much more complex than this, every day. We fly people to the moon, perform surgeries, we even have artificial intelligence, so what's the problem with linking data? Given what computers are capable of, and with one missing feature in every single piece of similar software discussed, I, too, am pretty frustrated, even if my idea of smart computing differs slightly from the writer's.

Sarah's comments made me want to add another point to what i was trying to say.

I think it's important to distinguish between software designed to be intuitive and easy to use, vs. those programs that try to guess what the user wants and thus HIDE the complexity and options from them, and not bother making the user perform some actions.

MS Word is a great example of a program filled with features that are trying to do things smartly/automatically so that the user doesn't ever have to think about what's actually going on. This is really nice when the program guesses properly about how you want your paragraphs and pages broken up and formatted -- but i do believe i've lost 2 years of my expected life span screaming at the program when it insisted on breaking up pages and applying new formatting craziness behind the scenes that i did not want.

The controversial option in MS Office apps of re-arranging the menus so that the common items were dynamically moved to the top of the menu, and least common ones were moved off the main menus, is another perfect example of how trying to be "smart" and show the user what they probably need at any given moment, can lead to increased complexity for the user when it fails to guess properly. The loss of predictability is such a catastrophe that I believe such things are almost always better left out.

Here's a good test to figure out if your new smart user interface idea is worth adding. Compare the *complete* help manual instructions you'll have to give for the function.

Let's look at Godin's AM/PM example.

The old way help file "Choose the time of your appointment and indicate if it is AM/PM using the drop down combo box."

Here's the new way help file "The program will try to guess whether your appointment is AM/PM based on your past habits. Check to make sure the guess is correct. If not, re-select the proper am/pm setting using the drop down combo box. If the program is consistently wrong for you, you can disable this automatic guessing by going to View->Preferences->Heuristics and changing the Guess mode to disabled."

If that last item seems familiar, you might have read it in one of my help files. I'm guilty of plenty of that kind of heuristic optional stuff. BUT I don't claim it's there to make software "easier" to use -- it's there because a lot of us love to tweak a million options to get things the fun way we want them to be.

Some programs may indeed benefit from this kind of "smart" interface guessing -- if the aim is really to streamline user input to the maximal extent, then sure go for it. But i do think you pay a non-trivial price in terms of consistency, clarity, control, and predictability, and that most of the time you would be much better with an interface where the user always performs the same few steps each time.

The old way help file "Choose the time of your appointment and indicate if it is AM/PM using the drop down combo box."

Here's the new way help file "The program will try to guess whether your appointment is AM/PM based on your past habits. Check to make sure the guess is correct. If not, re-select the proper am/pm setting using the drop down combo box. If the program is consistently wrong for you, you can disable this automatic guessing by going to View->Preferences->Heuristics and changing the Guess mode to disabled."

LOL, that's exactly it. And I suppose this is a very useful test for an app designer when trying to choose between being "dumb" or "smart". If you are 100% sure you won't need a checkbox that says "Disable Guess mode", and if after extensive usability tests no-one complained, then (maybe) go ahead. But if you want to put the feature in but feel you'd better add this checkbox, too, then it's a bad idea right there and you should stop.

Isn't Godin also mixing two very distinct issues here? The am/pm example, with all its faults, is indeed an example of "smart" behavior, inference from historical data or heuristics based on common scenarios. The example is imperfect, but even from my limited coding experience, I think historical data is often immensely useful to have. I kick myself all the time for not adding creation date to every item in every app I've ever written. I think every record in every database should have a creation and last modification timestamp at least, also a read count and maybe the time spent displaying/editing the record; and if at all possible, every database should store every version of every recdord that ever existed. Often impractical, yes, but how helpful when you need it! I'd use it all the time. And Godin is right: a feature to filter out the most often and least often accessed data is very handy.

On the other hand, I don't quite see connectivity (link this item to that one, link my items with all my coworkers' items) as being in the same category of design concepts.

Linking and sharing seem to be all the rage now, but - color me cynical - I suspect the goal here isn't to make applications smarter, but rather to enhance data-gathering capabilities for our dear friends, the advertisers. Even my beloved Google Reader has sprouted all the nuisance "share this, rate that" options; what are they good for? Am I always supposed to be reading only what everybody else has already read? Or why would anyone be interested in what I'm into today? The information I get from "sharing" this or that with "friends" isn't really useful to me. It's data, but I don't think I am the intended recipient. If I were the CTO at Doubleclick, ah, then it might just be a goldmine.

And anyway, doesn't the Outlook/Exchange combo already do much of the linkin' and sharin' he describes? Maybe it doesn't mark deceased people with color codes, but that wouldn't really be tasteful, would it? I'm really wondering about this specific example Godin's using.

Edited to add: Google tries to be smart in unobtrusive ways, and often it works. GMail has some algorithms built in for detecting dates in email, and when they trigger, it puts up a link to add an appointment in the Google calendar. That would be cool if I were using Google Calendar. But it, too, guesses wrong sometimes, and at least once I've seen it suggest creating an appointment with a date well in the past. And that's just dumb.

There's also a GMail lab thingie that detects the word "attachment" (and variants) in your messages and prompts you if it thinks you forgot to attach a file. It's happened to me a few times. Nothing beats finishing your work on time, then forgetting to attach it and going to sleep for 8 hours, while people in a timezone half the globe away are going frantic. But I wonder if it's smart enough to know the word attachment in languages other than English. And of course if you often discuss attaching things in your emails, the helper would become a nuisance again, and you'd turn it off.

Maybe it doesn't mark deceased people with color codes, but that wouldn't really be tasteful, would it? I'm really wondering about this specific example Godin's using.

I don't know, I color code my deceased contacts, they're greyed out like an inactive window. (Well, they're inactive!)There's a lot of info in those contact cards, why delete them? It's not like they never existed, I couldn't just leave them off of my contacts list, it just wouldn't be right. Besides, I'm a compulsive linker, and everyone is linked to something...

I think historical data is often immensely useful to have. I kick myself all the time for not adding creation date to every item in every app I've ever written.

Example. I put a friend's cell number in my address book. Two years later they change the number, so I update the entry, but I keep the old number in the Notes field, just in case. Another two years later they change the number again. Later I look up the number and no longer know which is the current one. Or have you ever named files like "file.txt", then "file-new.txt" (o maybe renamed something to "file-old"), and what did you do when yet another version arrived? Timestamps to the rescue, everything should have one.

Access could be made into a more user-friendly software. I need Access, but don't use it. It's too hard. Any relational db with the right UI can do what Seth is talking about, so I don't understand why it's such a big deal for someone to create something more user friendly than Access, with Access.

I see what you're saying. But what if I were to say that IMHO the biggest problem with Access is its UI? And furthermore, the reason why it's so difficult for you has absolutely nothing to do with Access per se?

Access databases are supposedly easy to create. But from what I've seen, although they may be easy to bash together and get running, they're difficult to modify - and a huge nightmare to debug if something goes wrong.

I've often likened an Access database app to one of those nested Chinese puzzle boxes. Code behind forms, settings behind settings dialogs! To my poor brain, the UI not only gets in the way - it also obscures things. And I'm not alone in thinking that. From what I've been told, many Access developers find it's easier to just 'rewrite' a screwed up Access app than to debug it. And why is that? It's because Access attempts to shield the users (and developer!) from the underlying complexities of database design and programming. And by doing so, they throw out the baby with the bath water.

The point I'm trying to make is that some things - like relational databases - are not something that can be simplified beyond a certain point. No matter what the development tool, you still need to understand what a relational database is; the basic underlying logic behind how it works; and what it's best used for. Access, by itself, can't teach you any of that.

Then comes the issue of relational database design. What information do you want to track. How will you break it down. What types of fields, procedures, and reports can best give you what you want, in the most efficient manner, while at the same addressing the quirks and limitations of your chosen RDBMS?

Anyone who has ever taken a crack at designing a database soon discovers it's as much an art as it is a science. And that holds true no matter what RDBMS you're working with. Because underneath all the nifty development tools and feature sets, they all work the same.

And because of that, I firmly believe that what Microsoft attempts to do with the Access UI is largely misguided and somewhat misleading.

Access can make it easier to implement a database solution once you understand how to develop one. But it can't actually design or write one for you. And what's really annoying to me is that a lot of the marketing behind Access implies that it can.

When people say they want to like Access but find it difficult, I don't think that Access itself is the problem. The real problem is how to design an effective relational database solution. And I don't know of anything that can make that process what I'd call "easy."

In a nutshell: To use Access, you'll need to learn something about DB design. Maybe not a lot. But you'll still need to learn a few things before you can expect Access to do something for you.

Quote

40hz, please understand that to us clueless end users, computers are just things made by people, and sometimes we don't see why people cannot create what we consider to be basic features. We don't know they're techie pipe dreams. We just know we have a lot of little programs all over our PC becuause we cannot get what we need from one program. Close this, open that, update this, uninstall that...we see computers doing things much, much more complex than this, every day. We fly people to the moon, perform surgeries, we even have artificial intelligence, so what's the problem with linking data? Given what computers are capable of, and with one missing feature in every single piece of similar software discussed, I, too, am pretty frustrated, even if my idea of smart computing differs slightly from the writer's.

Understood. And be assured, you guys are far from clueless. Unfortunately, what you're asking for often cuts right to the heart of most of what's wrong with the current state of 'computer science.'

Marvin Minsky (one of the founding fathers of AI) once complained that there were far too many smart people working on the "easy problems" (like designing a 'better' word processor) while most of the real problems were largely being ignored. Truth is, many of the fundamental questions in computer science have yet to receive definitive answers. And for better or worse, most people 'outside the profession' are unaware of that.

I also think Minsky's complaint has equal bearing on disciplines other than computer science.

Yes, we sent people to the moon. But until the real details came out a few years ago, most people though that accomplishment went off like clockwork. The real truth is that the records show that NASA was damn lucky half of the time. The devil is in the details.

And yes, we perform surgeries. But even there, despite all the advances in medicine, we still loose surgical patients through oversights, gross errors, and complications. It's also ironic the number of patients who survive surgery only to succumb to infections that were gotten in the hospital during recovery. And here we thought we understood the concept of sterile procedures. Yet again, the devil is in the details.

And AI? AFAIK we still don't really have that, although that hasn't stopped corporate marketing departments from slapping the term on anything that implements some sort of decision tree within the code.

So when it comes to what computers are capable of, I think it's important to remember there's a huge gap between capabilities and implementations. Once again, the devil is in the details.

for linking all sorts of information but without having to use a RDMS, maybe Deepa Mehta might be interesting?

Thank you, housetier. That program reminds me of the Brain, except open source and at least for now, free!?!?!? Wow.It's also more refined - with well thought out articles and explanations on their web site for anyone who's interested.

Unfortunately for me, I have a difficult time with the interface - physically - my eyes just can't seem to adjust to the link patterns.

The main reason I'm so hot on Do Organizer is that not only can I link anything to anything, I can also see it in collapsable lists by type of link. So if you were in my address book and had linked information to you, when I select your name & I'd see in a pane: NotesAppointmentsJournal EntriesEmail...

you get the picture. But since all of these are expandable and collapsable, I can see things 'quietly', for lack of a better word.This is helpful to me, as I can view a contact history for anyone, so when I'm talking to them or working for them I can see a chronological history line by line.

Their themes also allow me to have a black interface and large font, so it's very easy on my eyes.

It reminds me a lot of Access, but with email & a web browser. I guess if they never release this new version, I'll use the one I have now, warts and all.

Understood. And be assured, you guys are far from clueless. Unfortunately, what you're asking for often cuts right to the heart of most of what's wrong with the current state of 'computer science.'

Marvin Minsky (one of the founding fathers of AI) once complained that there were far too many smart people working on the "easy problems" (like designing a 'better' word processor) while most of the real problems were largely being ignored. Truth is, many of the fundamental questions in computer science have yet to receive definitive answers. And for better or worse, most people 'outside the profession' are unaware of that.

According to my partner, even inside the profession many people have stopped asking the questions. You'd think we have found the answers, the right ways to abstract domain problems and write code that is correct and does what we expect every time...

But then a lot of it is over my head, I'm just married to someone who cares about these things and has been working on the theory of programming languages for 15 years now, with the firm belief that there are right ways to figure out - if anyone really is interested in problems like completeness and correctness and can talk for hours about individual languages, what they did good and where they went wrong etc. I'd love to put you in touch...

I'm just married to someone who cares about these things and has been working on the theory of programming languages for 15 years now, with the firm belief that there are right ways to figure out - if anyone really is interested in problems like completeness and correctness and can talk for hours about individual languages, what they did good and where they went wrong etc. I'd love to put you in touch...

Sounds like a very interesting individual. I'd be happy to chat with him. But better yet, maybe you could convince him to join us here and start up a thread on the topic? I'd love to hear what someone who is actively involved in language research and design has to say. And I'm sure I'm not alone.

"Nothing improves your ability to solo better than playing with musicians who are better than you."

Note: the above saying has been attributed to so many musicians that it would take a day to name them all. Feel free to insert your favorite. Odds are, he or she probably did say it at one time or another.

As to the question of the program figuring things out for you or not, I think the solution is

a) do figure things out for the user especially if they are outside the core goals of the userb) make it transparent, easy to correct/undo, and easy to tweak

I'm with Mouser on the annoyance that are word processors when you are in writing mode - as a matter of fact I cannot write in any of the current word processors - all of them just volunteer formatting in the wrong way at the wrong time, and frankly when I am writing this improvised formatting gets in the way, it breaks the flow. But I think it is in part the right way for a word processor to do this, it is just that people who get bothered shouldn't use them for first drafts, we should use a text editor or a structural editor (actually, a smart word processor might have a modal component - in draft mode just let me dump stuff, in revision mode focus on corrections and merging versions, in polish mode help maintain a clean and consistent styling etc.)

But I would like smarter software in the sense that with a lot of software I still spend far too much time managing, and too little doing/thinking what really was my goal. Managing the management, and managing the process.

Let me give a few examples:

1. emailMost people keep email, but since most programs make it hard to find email, get an overview of a history, or drill down through email, we end up creating folders. And once a folder has too many emails in it so we once again cannot find things easily with a browse or a quick search, we tend to create more folders and move email around. Before we know it we spend more time moving filing and finding email than we do reading and writing it, or acting on whatever it is.

Then you use a tool like Opera's M2, Gmail, or a methodology that shows how to do virtual organization in outlook, or use an add on like xobni, and you realize how much time you save when you stop organizing the email

None of the tools mentioned above pulls the whole job off, each has some nice ideas that you wish the others had to be perfect...

2. launchersWe've all tried menu systems and the problem is that you have to keep maintaining them - adding new programs, removing old ones, categorizing - then you switch to the dynamic launchers (like FARR), or the self-building launcher (I use "task commander" on windows) and yes, the tool does some thinking for you, but you can tweak it, and you stop having to constantly organise things

For example task commander adds every program that is run to its launch list - whether they are run from the command line, started via file manager, or the start menu. I find it a lot less time consuming to go and tell it to hide the ones I dont want to launch again, than it was adding programs manually to a launcher. This is especially great if you reinstall windows and have a lot of tools which dont need an install and can just be run from their folder (for example you dont want to reinstall your games when they dont need it), with a traditional launcher you have to add them all, with task commander they just appear the first time you run them... easy

3. InformationTo me the big problem with outliners and most notes/pim/information managers is exactly the manager bit - it assumes that what I want to do is manage my information. No, what I want to is to store, save, find again, and be able to USE my information. The management part just came about as a necessary evil in order to not lose or be overwhelmed, but managing the information is not what we want to do, its what we want the tool to do for us.

I used to manually file my photos, now I let a tool file them on a pattern (date based) for me, and use the tags etc. to find it again - far less time wasted. I want the same for my information, i dont want to have to manually put it in a tree or whatever, i want to capture it, and know it has been put somewhere half logical on a pattern I am aware of (perhaps date based). Then i want to be able to virtually retrieve it and organise it on a per-project basis - ideally after the tool has used semantic clustering so i dont have to do stupid basic housecleaning...

PS: I have to disagree with Seth - the default on the web is not to be smart, it is to be cool. Smart is wholly optional and often gets in the way of cool or popular

Sounds like a very interesting individual. I'd be happy to chat with him. But better yet, maybe you could convince him to join us here and start up a thread on the topic? I'd love to hear what someone who is actively involved in language research and design has to say. And I'm sure I'm not alone.

BTW: Does he have any publications or a webpage?

I am trying to make him join here or start a blog etc. He's been off the radar for a while, writing lots of tidbits and building a provable consistent yet usable language - but it's all on our computers and backup...- it started as an example language for reasoning about and teaching certain concepts, but it got more ambitious over time...

It keeps out of your hair and just lets you get into the flow. Especially useful when you're "writing hot" as the saying goes. Best first draft tool ever if you're more concerned with getting down what you want to say rather than worrying about cosmetics.

There are several "competing" products that use a similar interface. I've tried a few of them as well, but IMHO WriteMonkey found the ideal balance between features and function. Especially thoughtful is how it allows you to access all its features by either using hot keys or a right-click popup menu.

What about a simple option that at least lets you specify what you would like the default to be, AM or PM? It's not "smart" but gets the job done for all parties. Just a thought ...

Any calendar software I've used, old and new, accepts 1a as 1:00 AM, and so forth. Don't you think it's easier to type that instead of reminding yourself to check the time every time you make an appointment?I know someone's already mentioned the benefits of not having default times, but the speedy entry part just occurred to me.It really is quite fast. Also, since the point of having defaults is so you don't have to think about something in order to do it/get it done, I have to ask: Would you really not think about the meeting time if you had a default time option selected? I know I would always be checking it to make sure I didn't forget to change it.

Not to sound like a troll but am I the only one who read the topic and still doesn't understand what dumb software is?

Some of you know me. I can write a salt doll thread but I can't even spot the ocean with the concept.

For example, Godin's example is weird because I do want the edit button at all times and I do consider it smart for doing that -- at least based on the screenshot since I never used the program before.

Unless he means that he'd rather prefer double clicking the space to edit as opposed to seeing a button, I just don't get it.

Similarly I can get what SKesselman said about DeepaMahta. I haven't tried the program but from using Compendium's limited outline mode which lists all nodes in drop down tree list form in a sidebar, I could see why there is some advantage to that even in it's limited form.

...Yet I don't get what's dumb or smart about it. The only thing that I would really consider smart is, like many tagging software, if you drag a file it automatically understands that I am dragging a file to link to that program. Even there it works because the rest of the options are dumb: You double click and you get the same reference window options that you normally get and you can change the referral, change the icon, change how the preview mode is shown. If these were smart, I would hate looking for that option.

Then we get to WriteMonkey which IMO is the farthest software from being smart. In fact, it reeks to me of being dumb because it's not a notepad that understans when you want to write a story that requires dimming and when you don't.

Only through ignoring it's intelligence and by making it dumb has the software improved and become the best distraction-free software on Windows.

Ex. You know a keyboard is not a typewriter but for some of us who started there, type writing sounds became a nostalgic depressant of stress and stimulant of creativity that when WriteMonkey and other similar programs adds a similar dumb feature, it works both because it mimics the sounds of the typewriter but also because, by not expecting something smart from it, your mind doesn't really have a high standards of the best sounds optimized for storywriting. You just appreciate the fact that finally someone integrated your needs to a dumb software and that makes better than the low expectation you have for it.

Finally MS Word is just a headache for me outside of reading mode view. I never really felt that program both post and pre ribbon was anything great. It was just the standard and it was the most jam packed of features for everyone's needs. Doesn't mean it was dumb enough to get that I don't want to see an interface until I want to format it like Latex or Lyx nor does it mean it went smart enough to show the interface only after I'm in formatting mode even when as a technology it became smart enough to get that users do not want to constantly switch between edit mode and write mode when typing on it.

Logged

<reserve space for the day DC can auto-generate your signature from your personal PopUp Wisdom quotes>

Category 1 contains things he thinks the software should do differently which would suit him (and maybe everyone) better -- like presenting a certain list in chronological order. These are not really controversial requests, simply things that may be less or more difficult to implement.

Category 2 contains things he wants the software to *INTUIT* based on his use of the program -- and these are what i think of when i hear people complaining that programs should be "smarter". They are also the things I was arguing against doing (like "guessing" whether an appointment time is likely to be am/pm without the user having to specify.