Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Omniscient software

Omniscient software

Scheduled Pinned Locked Moved The Lounge
workspacedesignhelpquestiondiscussion
6 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    cjlambre
    wrote on last edited by
    #1

    ...or, how smart should your software be? I've been helping a friend write software that ties into email clients. The biggest nuisance in the product right now is that the user is required to updated their email client account settings for the product, and provide the product with a redundant copy of the information. So we've been discussing the idea of a Setup Assistant, which would find out what email clients are installed, and take the appropriate action to get/set the information which is currently a manual task. My friend then made the suggestion we could poll for evidence of new email clients installed, new accounts created, old accounts deleted, etc, and automagically perform the operations necessary based on the user's actions outside of our software package. This was where our opinions diverged... In my opinion, any software I write should be intelligent enough to assist my user when my user is using my product. But I feel that in trying to engineer logic that guesses the user's intent with respect to operations they perform with other areas of their environment, even those that are related to my product's purpose, I'm almost guaranteed to guess wrong some time. And in guessing wrong, I create more work and hassle for the user than if I'd educated them that operations outside of the product may require corresponding operations inside the product to ensure functionality. My friend's opinion was that if we say we're adding value to our user's email, and they make a change with respect to how they get email, where they get email, etc, they will expect us to detect that, and be annoyed when we don't. What do people think? How smart should software be? A bit esoteric, but its a nice sunny day here in Boston, perfect for contemplating the existential side of software design I think. Tomorrow it will rain and I will have bugs to fix...;P -Carl PS - my friend used to work for Apple, which I don't hold against him, but may explain our difference in opinion.

    I M 2 Replies Last reply
    0
    • C cjlambre

      ...or, how smart should your software be? I've been helping a friend write software that ties into email clients. The biggest nuisance in the product right now is that the user is required to updated their email client account settings for the product, and provide the product with a redundant copy of the information. So we've been discussing the idea of a Setup Assistant, which would find out what email clients are installed, and take the appropriate action to get/set the information which is currently a manual task. My friend then made the suggestion we could poll for evidence of new email clients installed, new accounts created, old accounts deleted, etc, and automagically perform the operations necessary based on the user's actions outside of our software package. This was where our opinions diverged... In my opinion, any software I write should be intelligent enough to assist my user when my user is using my product. But I feel that in trying to engineer logic that guesses the user's intent with respect to operations they perform with other areas of their environment, even those that are related to my product's purpose, I'm almost guaranteed to guess wrong some time. And in guessing wrong, I create more work and hassle for the user than if I'd educated them that operations outside of the product may require corresponding operations inside the product to ensure functionality. My friend's opinion was that if we say we're adding value to our user's email, and they make a change with respect to how they get email, where they get email, etc, they will expect us to detect that, and be annoyed when we don't. What do people think? How smart should software be? A bit esoteric, but its a nice sunny day here in Boston, perfect for contemplating the existential side of software design I think. Tomorrow it will rain and I will have bugs to fix...;P -Carl PS - my friend used to work for Apple, which I don't hold against him, but may explain our difference in opinion.

      I Offline
      I Offline
      Ian Darling
      wrote on last edited by
      #2

      Hmm. I would go for a hybrid approach. Monitor for new email software, but *ask* the user if they want your stuff to perform it's magic first. But it should only need to present that one choice, and remember either way what was selected. Plus the usual "Don't show this again option" to turn off monitoring outright. -- Ian Darling "The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky

      R 1 Reply Last reply
      0
      • C cjlambre

        ...or, how smart should your software be? I've been helping a friend write software that ties into email clients. The biggest nuisance in the product right now is that the user is required to updated their email client account settings for the product, and provide the product with a redundant copy of the information. So we've been discussing the idea of a Setup Assistant, which would find out what email clients are installed, and take the appropriate action to get/set the information which is currently a manual task. My friend then made the suggestion we could poll for evidence of new email clients installed, new accounts created, old accounts deleted, etc, and automagically perform the operations necessary based on the user's actions outside of our software package. This was where our opinions diverged... In my opinion, any software I write should be intelligent enough to assist my user when my user is using my product. But I feel that in trying to engineer logic that guesses the user's intent with respect to operations they perform with other areas of their environment, even those that are related to my product's purpose, I'm almost guaranteed to guess wrong some time. And in guessing wrong, I create more work and hassle for the user than if I'd educated them that operations outside of the product may require corresponding operations inside the product to ensure functionality. My friend's opinion was that if we say we're adding value to our user's email, and they make a change with respect to how they get email, where they get email, etc, they will expect us to detect that, and be annoyed when we don't. What do people think? How smart should software be? A bit esoteric, but its a nice sunny day here in Boston, perfect for contemplating the existential side of software design I think. Tomorrow it will rain and I will have bugs to fix...;P -Carl PS - my friend used to work for Apple, which I don't hold against him, but may explain our difference in opinion.

        M Offline
        M Offline
        Michael P Butler
        wrote on last edited by
        #3

        Software should only do what the user asks it to do. It shouldn't try and second guess the user. I suppose it could ask if the operation should be performed, but that should be optional. Michael 'War is at best barbarism...Its glory is all moonshine. It is only those who have neither fired a shot nor heard the shrieks and groans of the wounded who cry aloud for blood, more vengeance, more desolation. War is hell.' - General William Sherman, 1879

        B 1 Reply Last reply
        0
        • M Michael P Butler

          Software should only do what the user asks it to do. It shouldn't try and second guess the user. I suppose it could ask if the operation should be performed, but that should be optional. Michael 'War is at best barbarism...Its glory is all moonshine. It is only those who have neither fired a shot nor heard the shrieks and groans of the wounded who cry aloud for blood, more vengeance, more desolation. War is hell.' - General William Sherman, 1879

          B Offline
          B Offline
          Bruce Duncan
          wrote on last edited by
          #4

          Michael P Butler wrote: It shouldn't try and second guess the user. I wish somebody had told that to whoever implemented VS.NET's html/aspx editor, as I feel as though I am continually fighting against it to get anything done. As for the rest of the IDE, I think its great.

          Searching the web without Google is like straining sewage with your teeth.
          Userfriendly, 2003/06/07

          1 Reply Last reply
          0
          • I Ian Darling

            Hmm. I would go for a hybrid approach. Monitor for new email software, but *ask* the user if they want your stuff to perform it's magic first. But it should only need to present that one choice, and remember either way what was selected. Plus the usual "Don't show this again option" to turn off monitoring outright. -- Ian Darling "The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky

            R Offline
            R Offline
            Richard Jones
            wrote on last edited by
            #5

            "It looks like you're writing a letter.." - Clippy ;P "It's been swell.. but the swelling's gone down." - TankGERL

            I 1 Reply Last reply
            0
            • R Richard Jones

              "It looks like you're writing a letter.." - Clippy ;P "It's been swell.. but the swelling's gone down." - TankGERL

              I Offline
              I Offline
              Ian Darling
              wrote on last edited by
              #6

              Richard Jones wrote: "It looks like you're writing a letter.." - Clippy "It looks like I didn't install the Office Assistant!" ;P -- Ian Darling "The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups