PDA

View Full Version : Are UR Extensions a real future possibility?


teratorn
07-16-2008, 05:49 PM
Dear Kinook,

In my personal opinion (as a user, programmer and entrepreneur) having a
Scripting/Plugin/Extension system is the single most important feature that I
keep wishing for.

It's a feature that truly transcends all other features because, like the world of
Firefox Extensions, it empowers the application to really Fit The User. To be
honest, Ultra Recall doesn't fit me very well right now... there are many, many
ways I would integrate UR with my GTD system and with my Life if only I had
the power to do so.

And I would happily share these ideas with others. Perhaps some of the ideas
would even be commercially viable if the UR Extensions system was structured
appropriately.

This is something that is High Risk, but has the potential for Very High Reward.
And if this ever gets a green light I (and I'm sure others) would very much like
to be involved in a technical discussion about how it will be implemented and
structured.

I'm tempted to get in to details about my vision for UR Extensions, but I'll save
that for another thread (and I hope anyone replying to this thread will do
likewise).

All I want to know is will we ever see work starting on UR Extensions? If so,
roughly when? And if not, please tell us why!

quant
07-17-2008, 03:53 AM
Originally posted by teratorn
I'm tempted to get in to details about my vision for UR Extensions, but I'll save
that for another thread (and I hope anyone replying to this thread will do
likewise).
OK, so just shortly, I'd love to see UR extensions! :)

kinook
07-17-2008, 07:09 AM
It depends a great deal on exactly what is expected of an extension mechanism. I suspect that providing something flexible and capable enough to be widely useful would need to be similar to the programmability of Microsoft Access, which is not feasible.

Frankly, if you need to customize it a lot, you may be better off choosing a general purpose programming language and creating a program from scratch that fits your needs exactly.

edmond
07-20-2008, 12:39 AM
I suppose a simple possibility would be to use a small embeddable scripting language, like Lua, for extending Ultrarecall. Lua can manipulate SQLite databases, as far as I know, and might provide the power to script and extend UR.
Regards, and thanks for the continuous development.

quant
07-20-2008, 06:24 AM
Originally posted by kinook
It depends a great deal on exactly what is expected of an extension mechanism. I suspect that providing something flexible and capable enough to be widely useful would need to be similar to the programmability of Microsoft Access, which is not feasible.
OK, I'll be specific. I'd like to create a visualization pane, alternative to Data explorer pane. I'd need to be able to get the list of all items with their paths to root node so that I could recreate the tree. That would be enough for me for the beginning. Later, if it goes well, I'd probably need item title as well, maybe icons, then some methods to change the current item, etc ...
It's on the roadmap anyway, but at the very bottom, so maybe one, two years. What do you think?

kinook
07-21-2008, 07:47 AM
Originally posted by edmond
I suppose a simple possibility would be to use a small embeddable scripting language, like Lua, for extending Ultrarecall. Lua can manipulate SQLite databases, as far as I know, and might provide the power to script and extend UR.
Regards, and thanks for the continuous development. The language choice doesn't determine how simple or difficult it would be to implement, rather exactly what sort of extensibility is desired. And how many people know Lua?

kinook
07-21-2008, 07:48 AM
Originally posted by quant
OK, I'll be specific. I'd like to create a visualization paneHow would we provide the ability to create this pane within UR? I suspect you would want the ability to draw something in this pane, allow for user interaction with the contents, etc., etc.

quant
07-21-2008, 08:41 AM
Originally posted by kinook
How would we provide the ability to create this pane within UR?
I don't know how this is usually done. I imagine I would have a set of methods available, like
Pane* CreateNewPane(...)
Vector<TreeNode> GetList(const& TreeNode root) ...
SetCurrentNode(const& TreeNode ...

Then I would do whatever I wanted to ... compile and create dll or something, I could place it into UR installation directory and then there would be some method in UR that would invoke that dll.

Probably too naive, isn't it? ;-)

teratorn
08-15-2008, 04:17 PM
I've written up some design notes that I would appreciate feedback on:

http://www.kinook.com/Forum/showthread.php?s=&threadid=3744