<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-3710772025484430360.post4426777338427567517..comments</id><updated>2009-08-10T07:59:41.388+10:00</updated><category term='design'/><category term='ui'/><category term='iphone'/><category term='marcopolo'/><category term='podcast'/><category term='blog'/><category term='software'/><category term='mac'/><category term='google'/><category term='programming'/><title type='text'>Comments on Dave's Blog: JavaScript rules</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.symonds.id.au/feeds/4426777338427567517/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default'/><link rel='alternate' type='text/html' href='http://blog.symonds.id.au/2009/08/javascript-rules.html'/><author><name>Dave</name><uri>http://www.blogger.com/profile/01539305803408371819</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3710772025484430360.post-3390880664953781924</id><published>2009-08-10T03:34:49.992+10:00</published><updated>2009-08-10T03:34:49.992+10:00</updated><title type='text'>I like the idea of having a more advanced, Smart F...</title><content type='html'>I like the idea of having a more advanced, Smart Folders like graphical interface to define rules. As to knowing if people would use the scripting layer, that is difficult to say. Adding such a layer removes its functionality one step as such, which is probably all right if it is only for the truly advanced cases; but there is also the question of the scripting language. &lt;br /&gt;&lt;br /&gt;The stock scripting language on OS X is AppleScript, and in my experience, it is the only one non coders actually venture to use once in a while. I for one have shied away from learning a new scripting language just to unlock advanced functionality in an application, and although JS is certainly less exotic a choice than, say, Lua, that choice might constitute a second hurdle to widespread usage of the functionality. &lt;br /&gt;&lt;br /&gt;Unless the whole scripting feature went more into the direction of creating packaged plugins for new Marco Polo behaviors? Just thinking out loud :).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default/3390880664953781924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default/3390880664953781924'/><link rel='alternate' type='text/html' href='http://blog.symonds.id.au/2009/08/javascript-rules.html?showComment=1249839289992#c3390880664953781924' title=''/><author><name>kopischke</name><uri>https://openid.claimid.com/kopischke</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.symonds.id.au/2009/08/javascript-rules.html' ref='tag:blogger.com,1999:blog-3710772025484430360.post-4426777338427567517' source='http://www.blogger.com/feeds/3710772025484430360/posts/default/4426777338427567517' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1879141493'/></entry><entry><id>tag:blogger.com,1999:blog-3710772025484430360.post-439446409359833614</id><published>2009-08-09T10:25:54.421+10:00</published><updated>2009-08-09T10:25:54.421+10:00</updated><title type='text'>To be clear, this would not be the only interface....</title><content type='html'>To be clear, this would not be the only interface. I would not expect the average user to ever see any JS; they would only use exact matching rules (like in old MarcoPolo), and the UI would automate and hide the JS behind the scenes.&lt;br /&gt;&lt;br /&gt;I accept your point referring to Smart Folders. That was the original concept that inspired my thinking about how to approach this, and I thought that JS might provide the ultimate flexibility.&lt;br /&gt;&lt;br /&gt;Perhaps some kind of trade-off: a Smart Folders-like interface for basic rules (exact matching, plus basic boolean operations), and also a JS rule option? Would anyone use the latter?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default/439446409359833614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default/439446409359833614'/><link rel='alternate' type='text/html' href='http://blog.symonds.id.au/2009/08/javascript-rules.html?showComment=1249777554421#c439446409359833614' title=''/><author><name>Dave</name><uri>http://www.blogger.com/profile/01539305803408371819</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.symonds.id.au/2009/08/javascript-rules.html' ref='tag:blogger.com,1999:blog-3710772025484430360.post-4426777338427567517' source='http://www.blogger.com/feeds/3710772025484430360/posts/default/4426777338427567517' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1161104921'/></entry><entry><id>tag:blogger.com,1999:blog-3710772025484430360.post-4978588120614561185</id><published>2009-08-09T01:28:46.446+10:00</published><updated>2009-08-09T01:28:46.446+10:00</updated><title type='text'>I&amp;#39;ve been using the current Marco Polo beta fo...</title><content type='html'>I&amp;#39;ve been using the current Marco Polo beta for quite a while now, and love an the intelligence it adds to my Mac. More flexible rules have been high on my wish list, but I am wondering how much advantage there is in implementing them as an embedded JS interpreter. &lt;br /&gt;&lt;br /&gt;Take the example you provide; nothing in there could not be covered by the ability to use logical arguments and to group clauses of such arguments (essentially AND, OR, NOT and brackets), something that is easily done though a graphical interface, as OS X&amp;#39; Smart Folders definition bar shows.&lt;br /&gt;&lt;br /&gt;Granted, scripting would allow even more complex clauses than that, but it would also add a thick layer of complexity. Using  a JS engine for rules either will mean excluding less tech-savvy users from defining logical clauses (if there is no graphical interface for it; JS is not exactly a general knowledge scripting language), or having to implement a graphical interface on top of the engine, which sounds rather excessive.&lt;br /&gt;&lt;br /&gt;Weighing the possible advantages (complex clauses which would not be caught by grouped logical conditions) against these disadvantages, I&amp;#39;d venture to say that, alluring as the proposal is from a technical point of view, it probably does indeed constitute over-engineering.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default/4978588120614561185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3710772025484430360/4426777338427567517/comments/default/4978588120614561185'/><link rel='alternate' type='text/html' href='http://blog.symonds.id.au/2009/08/javascript-rules.html?showComment=1249745326446#c4978588120614561185' title=''/><author><name>kopischke</name><uri>https://openid.claimid.com/kopischke</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.symonds.id.au/2009/08/javascript-rules.html' ref='tag:blogger.com,1999:blog-3710772025484430360.post-4426777338427567517' source='http://www.blogger.com/feeds/3710772025484430360/posts/default/4426777338427567517' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1879141493'/></entry></feed>
