ThinkingRock Forum

To go back to http://www.trgtd.com.au
It is currently Sun May 19, 2013 12:06 pm

All times are UTC




Post new topic Reply to topic  [ 9 posts ] 
Author Message
 Post subject: MacOS integration module
PostPosted: Mon Jun 16, 2008 12:09 pm 
Offline

Joined: Sun Jun 15, 2008 10:18 pm
Posts: 6
Location: Milwaukee, WI, USA
I am planning on designing and implementing a TR add-on module, which would add MacOS-specific functionality to TR. The motivation behind this module would be to provide tighter integration between the OS and TR.

I am new to GTD-type applications and I have evaluated many of them in the past week. By far, I think TR has the best GTD-related features. However, it lacks the OS integration of some of the others.

I would consider the following features to be the minimal feature set for the module:
  1. Provide system-wide keystrokes - pressing F6 in any application will create a new task
  2. Expand URL recognition - allow "message:" and "file:" prefixed URLs to be included in notes
  3. Provide application integration - e.g., pressing F6 in Mail.app will create a task that references the message; pressing F6 in the browser will create a task that references the current web page

I would consider the following features to be "nice to have":
  • Provide AppleScript-able functionality
  • Provide Spotlight meta-data importer - allow Spotlight to index the TR data files
  • Provide spell checking using Dictionary Service
  • Integrate with Address Book - allow delegate field to lookup (and link to) contacts from Address Book
  • Allow the user to publish directly to iCal - i.e., no need to serve the ICS via a personal web server to get automatic updates in iCal


If you have any other ideas or suggestions for features, I would welcome them.

I suspect that most of these features are going to require modifications to the core code base, however, any information would be helpful.

P.S. I have a background in Java development (another reason why TR is attractive to me) but I am new to Mac development. Therefore, I am not exactly sure how to provide the MacOS-specific features (any pointers would be helpful). Currently, I am leaning towards making portions of the application AppleScript-able and writing AppleScripts to provide the above functionality.

P.P.S. Many thanks to the TR team for a great product and support.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jun 16, 2008 8:44 pm 
Offline

Joined: Sun Jan 13, 2008 1:39 pm
Posts: 274
Most applications use function key shortcuts. I would find system wide function keys to be unhelpful.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 17, 2008 12:53 am 
Offline

Joined: Wed Jul 05, 2006 10:51 am
Posts: 898
Location: Sydney, Australia
Quote:
1. Provide system-wide keystrokes - pressing F6 in any application will create a new task

Not sure what other system-wide actions you would want, but it would be good to have a quick and easy way to add a new thought. At the moment you can either:
- leave TR running and use Command+Tab to go to TR, then F6.
- use some text editor and enter thoughts (1 per line) and later import into TR.

I guess you could have some Mac script that switches to TR or starts it up and then does the F6. Actually I think someone may have done this - search the forums.

If you wanted a small app that added thoughts to the TR data file, you need make sure that TR is not running or does not have the data file open as it will overwrite any changes you make to the file. You could have an app that writes to a different file then a module in TR that looks for such files and imports them.

We were thinking along these lines, to have a TR module that accesses an email account and imports emails as thoughts or even recognizing special tags for smarter processing (e.g. delegation responses).

Quote:
2. Expand URL recognition - allow "message:" and "file:" prefixed URLs to be included in notes


Yes this needs doing. At the moment you can use http and file prefixes. People have asked for allowing anchors at the end of the URL (which is restricted currently.

It would be good to do this in two parts:
1) provide a mechanism for modules to register the handling of a protocol
2) change the notes field to recognize registered protocols and pass the URL to the registered object for handling.

Quote:
3. Provide application integration - e.g., pressing F6 in Mail.app will create a task that references the message; pressing F6 in the browser will create a task that references the current web page

I too do not know much Mac programming, so can't advise on Mail, Browser plugins. But I would again suggest to do this in two parts:
1) A platform agnostic (i.e. Java) part that is general for interacting with TR. So that other people can write plugins for other email/browser clients.
2) the specific email/browser plugin/code

Please continue to discuss your ideas and plans, we are keen to assist you.

BTW We record bugs and change requests in Mantis. You can create a viewing account: http://thinkingrock.com.au/mantis


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 17, 2008 12:11 pm 
Offline

Joined: Sun Jun 15, 2008 10:18 pm
Posts: 6
Location: Milwaukee, WI, USA
JavaBob wrote:
Most applications use function key shortcuts. I would find system wide function keys to be unhelpful.


I can understand your concern, therefore, the use of a system-wide keystroke should be an optional feature (i.e., can be turned on/off via a preference) and configurable (i.e., the user can choose the keystroke).

My primary goal is to allow the user (me) to use a keystroke (feature #1) in many applications (e.g., Mail.app, browser) to create a task in TR with a link back (feature #2) to the context of the application (e.g., the email the user was reading when they created the task).

I got this idea from some of the popular GTD-style applications (i.e., iGTD and OmniFocus).

As indicated above, there should be a preference to allow the user to define their own keystroke. There are multiple reasons: the reason you provide (as to not conflict with an application's keystrokes) and to allow the user to select their own keystroke. For example, if a user is accustom to iGTD, F6 might be fine but OmniFocus uses a completely different keystroke (something like Control-Alt-Command-Space).

Does this address your concern?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 17, 2008 1:29 pm 
Offline

Joined: Sun Jun 15, 2008 10:18 pm
Posts: 6
Location: Milwaukee, WI, USA
Quote:
it would be good to have a quick and easy way to add a new thought


I agree. I think there may be a few system-wide keystrokes that would be useful to a user.

As I indicated in my response to JavaBob, the "system-wide keystroke" idea is inspired by other GTD-style applications. One of those applications, iGTD, defines several system-wide keystrokes. One of the other keystrokes (not F6) presents a simple dialog, which allows the user to supply the task name only.

I am currently researching possible designs for this feature. Currently, I have found some promising AppleScript possibilities. Specifically, AppleScript - GUI Scripting and ApplicationListener#handleOpenFile - http://developer.apple.com/documentatio ... ationEvent) . Right now, I am leaning towards the latter.

I am not interested in modifying the TD data file directly. There are too many potential issues associated with that sort of implementation.

As far as URL handling, it seems like we are on the same page.

With regards to application integration, I believe we are on the same page again. As you indicated, there would be multiple "parts" to the solution.

I was planning on allowing TR to open a single task "file" (i.e., the platform-agnostic portion). When this single task "file" is opened, the user will be presented with the task details "in edit mode". The format of said "file" will be XML with a top-level element of "thought". The definition of the XML will be the same as that for the "thought" element of the TRX file.

On the Mac, it does not seem like I would need to create plugins for each application. I may need to create an AppleScript that considers the context (i.e., application) in which it is running. For example, if it is Mail.app then process the current message.

The magic is going to be in the AppleScript called from the applications. It will need to take the information from the application, create a single task "file", and open the "file" with TR.

Based on what I have read, it seems like it should be a fairly straightforward solution. Of course, theory and practice are rarely the same.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 17, 2008 9:00 pm 
Offline

Joined: Sun Jan 13, 2008 1:39 pm
Posts: 274
I wonder if a task launcher (like Launchy in Windows) could be combined with the AutoHotKey script?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jun 17, 2008 10:26 pm 
Offline

Joined: Sun Jun 15, 2008 10:18 pm
Posts: 6
Location: Milwaukee, WI, USA
JavaBob wrote:
I wonder if a task launcher (like Launchy in Windows) could be combined with the AutoHotKey script?


As AutoHotKey is a Windows utility, I don't understand how it applies to a MacOS integration module.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jun 18, 2008 4:12 am 
Offline

Joined: Mon Dec 11, 2006 7:11 pm
Posts: 386
Location: USA
mjlong wrote:
JavaBob wrote:
I wonder if a task launcher (like Launchy in Windows) could be combined with the AutoHotKey script?


As AutoHotKey is a Windows utility, I don't understand how it applies to a MacOS integration module.


For windows it is a good point though that we could make a shortcut to a script and have it easily runnable quickly with launchy, without having to keep the script up and running all the time. I may just have to modify the script a bit and test that out.


Top
 Profile  
 
PostPosted: Mon Jun 29, 2009 11:22 pm 
Offline

Joined: Sun May 06, 2007 3:35 am
Posts: 10
E.g. a keystroke in Quicksilver.
(For example, I already have a Quicksilver 'trigger' defined to Append Text to a specified text file... which I later import into Thinking Rock.)

So AppleScript compatibility would be a possibility, or simply extending the format of acceptable text file lines (e.g. allow a topic to be specified, or go even further...)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group