Assisting in development of IWS

Is there anything I can do to assist in development of Sandy? I'ld like to see stuff like Package Tracking (probably via http://www.simpletracking.com/ or http://track2rss.sourceforge.net/ ), flight tracking, and more and I'm willing to pitch in. Is there any way?
 
happy I’m excited
Inappropriate?

Follow this discussion to get notifications on your dashboard.

  • Inappropriate?
    Hi Yeraze!

    Lovely to hear from you — especially with the offer of help.

    Let me give this some thunk. In the meantime, please do drop on by the Town Hall tomorrow (Wed, June 25th) between noon and 1pm PST and let's chat further. We have a few things in the works (including a couple I just deployed mere minutes ago) which I'll be previewing at tomorrow's Town Hall and asking folks to test before calling them out more widely.

    —Rael
     
    happy I’m appreciative
  • kevin1
    Inappropriate?
    I think a lot of people would like to help extend Sandy's functionality. A lot of useful extensions have been proposed. Tracking packages, checking the status of plane flights (http://getsatisfaction.com/iwantsandy...), update Twitter status (http://getsatisfaction.com/iwantsandy...) etc. There's a lot of things that could be done. There's way too much for Sandy's helpers to ever implement by themselves.

    I'd love to see a "Sandy links" page. Just as Jott has "Jott links" Sandy could have "Sandy links" that would give her a wide range of abilities. (Or maybe it should be called something else, like "Sandy actions" or "Sandy addons", etc) These little addons would be developed by the Sandy community. What we need is a really good framework so that we can add on to Sandy. Several people have been asking for an API, but some care should be taken. It has to be designed correctly, and that's going to take some work.

    My personal idea is that Sandy provide a hook for custom "actions". The action would be triggered by Sandy, either directly in response to the user, (Sandy, perform action "plane flight lookup" xxxx) or in response to an event that was scheduled in Sandy. I think there could be an additional box on all "todo" items where the user could select what action they want Sandy to perform. (e.g. When the date of the the todo is reached, perform the action specified.)

    See my original idea at http://getsatisfaction.com/iwantsandy...
  • kevin1
    Inappropriate?
    There was some recent discussion about dependencies. Having task B appear on your todo list after task A is marked @done.

    I think this is a great idea, and I'm glad to see some thinking along these lines. Because I'm trying to help, I'll point out there that this feature can be seen as a particular instance of a more general case. It might make more sense to spend the time solving the general case, in order to make something that is truly extendable.

    Fundamentally, I think the dependency feature means that Sandy should "do something" (mark an item as a @todo) in response to "something happening" to another item (the user changing the item and marking it @done). Or, in programming speak, Sandy should perform a particular "action" in response to a particular "event*.

    Taking the long view, Sandy already has some actions that she can perform, and some events that she can respond to. Right now, the "event" is usually 1) user interaction on the website, 2) an email or communication that is received, or 3) the time changing. When the current time changes so that it matches the date and time in a reminder, Sandy can perform any combination of the following "actions". 1) send a reminder by email, 2) send a reminder by SMS, 3) send a reminder by Twitter, 4) send both you and your "friend" email reminders, 5) send you the contents of the email that you had Sandy store.

    My idea is to extend the list of possible actions that Sandy can respond with. Maybe there could be a special field or a drop down box, text area, etc. where you can enter the action and the object upon which the action should act. This is truly extendable. (The field can be visible or not depending on the user) When the correct time is reached, the action gets performed. The dependency feature requires one additional thing, it requires that Sandy recognize an additional "event". When the user marks a special, dependency item as "done", then Sandy should recognize that event and it should trigger Sandy to perform the action of changing a different item (the next item in the dependency list) and marking it as a "todo".
    1 Comment Sprite_screen Add a comment
  • Comment_icon
    Kevin - yes, excellent generalization. Thinking in these terms would probably make for a more extensible framework, one application being the "dependency" feature I desire. Clearly you should be a software architect ;-). Seriously, I really admire your thought process here.

    Perhaps a rule based system could be used to implement your suggested event/action paradigm. One thing that is nice about rule based systems (like filters in gmail or Outlook) is that they might lend themselves very well to the natural language attributes of Sandy. For example, I could define a rule like so:

    email 1:
    ---
    To:Sandy

    Remember to complete task A @work @todo

    Remember to complete task B @work
    ---

    I get the usual reply from Sandy, at which point I activate some "rules" in natural language like so:

    ---
    To: Sandy

    AFTER #1 is done, tag #2 as @todo
    ---

    Alternatively, the shortform might be like so:

    ---
    To: Sandy

    AFTER #1 @done, #2 @todo
    ---

    Such rules could be extended to non-dependency applications:

    ---
    To: Sandy

    BEFORE sms, tag as @notified
    ---

    Or

    ---
    To: Sandy

    AFTER sms, remind me in an hour @email
    ---

    Anyway, just thinking out loud. I think the whole natural language thing is pretty important to maintain.
  • Inappropriate?
    Good stuff, guys. I'll be giving it some thunk.
     
    happy I’m appreciative of detailed thunking
User_default_medium