Results 1 to 12 of 12
  1. dsevil's Avatar
    Posts
    211 Posts
    Global Posts
    218 Global Posts
       #1  
    I'm working on a patch that adds commands to the Universal Search feature on webOS. I'll post a patch eventually, but I wanted to solicit some thoughts.

    And, some of you application developers might want to design your apps to take a "query" or some such property of the params object as passed to an application via palm://com.palm.applicationManager/launch. But more on that later.

    It's sort of like the KeyToss patch, but the KeyToss patch has some limitations:

    • It goes to KeyToss.com first before going to the resource you want, meaning it's going to take just a little longer than if you were doing a straight-up query directly on a site like Google or Wikipedia.
    • This also means KeyToss knows what you're searching.
    • It can only be used to search web resources.


    That last point is particularly important. Universal Search Command Line, as I'm calling it right now, can basically run built-in commands implemented as native JavaScript code.

    One of the first really neat things I did with this is to add the capability to use Universal Search to type up a note, instead of waiting for the Notes app to load up before typing it in. Just type ".note I like pie.". Once the Notes application is loaded, the note will be created and populated for you. This also requires patching the Notes application in order to accept newNoteText as part of the params object.

    While KeyToss commands have a "@" prefix, Universal Search Command Line has a "." prefix. Examples of things you can type:

    Code:
    .calc (37 * 1.8) + 32
    .imdb airplane
    .dict affluent
    .thes wealthy
    .memo I like pie.
    .help
    Screenshots attached. Also available at http://webonastick.com/webos/uscl/. Thoughts?

    EDIT: there is also ".help".
    Attached Images Attached Images
    Last edited by dsevil; 10/27/2009 at 11:23 AM. Reason: Screenshots also posted on my web site.
  2. #2  
    looks interesting...
  3. mauro1's Avatar
    Posts
    205 Posts
    Global Posts
    213 Global Posts
    #3  
    I like it ! ! !

    I like the way you're thinking about this. Very similar to the functionality you get by typing typing wierd stuff into google's entry field like for instance "34 oz in grams" or your C-to-F conversion example.
    Other interesting uses might be ".sms <contact> <message>" to sms google calendar to make a new calendar entry, for instance or ".fb <status>" to update one's own FB status.

    While you're at it you might want to think about the ability to pass commands to the Linux shell via a special char like say for instance "!" to be able to do things like "! ls" or "! crontab -l | grep <something>"
  4. #4  
    Quote Originally Posted by mauro1 View Post
    While you're at it you might want to think about the ability to pass commands to the Linux shell via a special char like say for instance "!" to be able to do things like "! ls" or "! crontab -l | grep <something>"
    That would require a service, and would be a HUGE security hole. It would allow any rogue app or malicious software to execute linux commands as root. This is strongly advised against.

    -Eric G

    WebOS Internals Developer.
    Follow me on Twitter for updates to my projects: | Virtual Keyboard | wIRC | SuperTux | AUPT | KeyBoss | freeTether |

    Donate
  5. dsevil's Avatar
    Posts
    211 Posts
    Global Posts
    218 Global Posts
       #5  
    Others I've thought of:

    ".task clean up the command line patch" would add a new task to an "Unfiled" category or something. It'd be up to you to recategorize them, but hey it's a start.

    ".task pick up dry cleaning; wash the car; do laundry" would add 3 new tasks.

    ".grocery milk, sugar, eggs" (separated by commas) would create a Groceries category if it doesn't exist already, and add three tasks to it. Some people might use a custom grocery-list app, but I just use the built-in Tasks app for that.
  6. #6  
    Dope. Do want.
    Quote Originally Posted by NickDG View Post
    Welcome to open source. Things can get bumpy. Please fasten your seat belts.
    Quote Originally Posted by dianagr View Post
    You can also swipe a counterclockwise semi-circle around the center button to go back. [Do a back gesture]
  7. #7  
    This sounds like it has the makings of a very in-depth patch that spans multiple packages. Will you be doing open or closed development? How do you plan to license the patch?

    -Eric G

    WebOS Internals Developer.
    Follow me on Twitter for updates to my projects: | Virtual Keyboard | wIRC | SuperTux | AUPT | KeyBoss | freeTether |

    Donate
  8. dsevil's Avatar
    Posts
    211 Posts
    Global Posts
    218 Global Posts
       #8  
    Quote Originally Posted by emoney_33 View Post
    Will you be doing open or closed development? How do you plan to license the patch?
    MIT Open Source License, in all likelihood.
    Last edited by dsevil; 10/27/2009 at 11:25 AM. Reason: I need to quote only the relevant portion of the message I'm replying to. :)
  9. dsevil's Avatar
    Posts
    211 Posts
    Global Posts
    218 Global Posts
       #9  
    Quote Originally Posted by emoney_33 View Post
    This sounds like it has the makings of a very in-depth patch that spans multiple packages.
    Any thoughts, offhand, on how to modify an application like com.palm.app.notes so that com.palm.launcher can programmatically determine, without launching notes, whether notes was patched with said modification?

    I'm asking because, ideally, I'd like to distribute a patch for each application separately from the com.palm.launcher patch.
    Last edited by dsevil; 10/27/2009 at 11:25 AM. Reason: I need to quote only the relevant portion of the message I'm replying to. :)
  10. #10  
    Quote Originally Posted by dsevil View Post
    Any thoughts, offhand, on how to modify an application like com.palm.app.notes so that com.palm.launcher can programmatically determine, without launching notes, whether notes was patched with said modification?

    I'm asking because, ideally, I'd like to distribute a patch for each application separately from the com.palm.launcher patch.

    There are a couple of possible ways I can think of to achieve this. You may be able to use ipkgservice to find out if the package is installed (this assumes you would be packaging the patches, hopefully using autopatch technology). A more hackish method would be to test for the existence of a file that you know the patch installs, maybe a blank file that is touched by the patch.

    There may be other API (public or private) ways that I am not seeing at the moment. But those are just some quick off the top of my head ideas.

    -Eric G

    WebOS Internals Developer.
    Follow me on Twitter for updates to my projects: | Virtual Keyboard | wIRC | SuperTux | AUPT | KeyBoss | freeTether |

    Donate
  11. dsevil's Avatar
    Posts
    211 Posts
    Global Posts
    218 Global Posts
       #11  
    Quote Originally Posted by dsevil View Post
    Any thoughts, offhand, on how to modify an application like com.palm.app.notes so that com.palm.launcher can programmatically determine, without launching notes, whether notes was patched with said modification?
    I solved this problem. Add "iGrokTheCommandLine" to the application's keywords in appinfo.json. When com.palm.launcher initializes, use palm://com.palm.applicationManager/searchApps to do a keyword search for it.

    I've also tried adding user-defined properties to appinfo.json, but can't figure out how to access those from com.palm.launcher.
  12. dsevil's Avatar
    Posts
    211 Posts
    Global Posts
    218 Global Posts
       #12  
    I posted a new thread to announce the availability of the first version of this thing! Wooooooooo!
    Last edited by dsevil; 10/28/2009 at 09:13 PM. Reason: Finally got the link to work correctly.

Tags for this Thread

Posting Permissions