{"id":480,"date":"2005-12-28T22:45:00","date_gmt":"2005-12-28T22:45:00","guid":{"rendered":"http:\/\/sdi.thoughtstorms.info\/?p=480"},"modified":"2005-12-28T22:45:00","modified_gmt":"2005-12-28T22:45:00","slug":"480","status":"publish","type":"post","link":"https:\/\/blog.thoughtstorms.info\/?p=480","title":{"rendered":""},"content":{"rendered":"<p>OK, some more thinking out-loud about possible futures for SdiDesk in light of <a href=\"http:\/\/smartdisorganized.blogspot.com\/2005\/12\/wow-i-just-saw-turbogears-20-minute.html\">that TurboGears demo<\/a>.<\/p>\n<p>Nothing is fixed. Particularly not SdiDesk. This is all speculative.<\/p>\n<p>What <em>is<\/em> SdiDesk? Idea? A prototype? A useful tool? A code-base? A finger-post pointing out the direction I&#8217;d like to see individualistic knowledge tools evolve? <\/p>\n<p>All of the above. Of course.<\/p>\n<p>SdiDesk is the <em>future<\/em>. \ud83d\ude42<\/p>\n<p>But there&#8217;s also no doubt in my mind that the code-base (or rather, the language VB) is a major strategic <em>problem<\/em>.<\/p>\n<p>I won&#8217;t say &#8220;error&#8221;, because it&#8217;s very unlikely I&#8217;d have written the program at all without the support of the VB environment and easily accessible components like the IE DHTML control.<\/p>\n<p>But it&#8217;s a major problem because VB classic is a <em>dead<\/em> language :<\/p>\n<ul><\/p>\n<li>a) No one is actively supporting it, or developing free components. It&#8217;s more dead than Lisp and Smalltalk who have enthusiastic free developer communities. VB&#8217;s main virtue is its symbiosis with MS, and now MS have dumped it (I mean VB classic), there isn&#8217;t even that.<\/li>\n<p><\/p>\n<li>b) Nobody wants to write it or become involved in the code-base. Not even me.\n<p>The code-base <em>could<\/em> be evolved towards either <a href=\"http:\/\/www.realsoftware.com\/\">RealBasic<\/a> or <a href=\"http:\/\/smartdisorganized.blogspot.com\/2005\/11\/express-visual-basic-alright-i-admit.html\">VB.NET<\/a>. And if I had a strong incentive, I could take it in one of these directions (OK, if somebody offered me money \ud83d\ude42 But I feel no personal urge to get involved in these languages.<\/li>\n<p><\/ul>\n<p>I <em>want<\/em> to write in Python. (Or maybe Ruby or Smalltalk.) <\/p>\n<p>I guess if somebody else wanted to drive it, I&#8217;d support, and help out with, a port to Java too. (At least there&#8217;d be some potential future.)<\/p>\n<p>Over the last few months I&#8217;ve been dabbling in Python for some smaller projects and I&#8217;ve seen quite a lot of how a Python port of SdiDesk could go. I even have a strategy to start implementing &#8220;exporters&#8221; in Python and some rudimentary code for that.<\/p>\n<p>But the big issue is that I&#8217;m happy with none of the GUI libraries. My new program (which is coming out real soon) uses Python and Tkinter. It&#8217;s alright. It&#8217;s easy and it works. But the results are not going to win any beauty contests. It&#8217;s uglier than SdiDesk (although you chromophobes might find that hard to imagine. \ud83d\ude42<\/p>\n<p>wxPython looks better but needs installation of third-party libraries; as do GTK, Qt etc. And I don&#8217;t want to be dependent on Windows.<\/p>\n<p>And then there&#8217;s AJAX. <\/p>\n<p>A few weeks ago I was speculating <a href=\"http:\/\/platformwars.blogspot.com\/2005\/12\/ongoing-on-beyond-java-jvm.html\">on another blog<\/a> about Python, Gecko and XUL.<\/p>\n<p>But, in fact, there&#8217;s something simpler. Watching the TurboGears demo (and just how bloody simple it is to put together basic wiki functionality in TG &#8211; something which takes plenty more lines of code in SdiDesk&#8217;s current VB implementation) I&#8217;m starting to wonder whether a <em>browser based<\/em> UI might not be as good as any other.<\/p>\n<p>Python has an easy-to-use web-server component in the standard library. To someone using the program, a server at the heart would be transparent. But it would allow you to create shared wikis with others on your LAN or even over the web.<\/p>\n<p>At the same time, AJAX component libraries are starting to get pretty sophisticated. Look at <a href=\"http:\/\/openrico.org\/\">Rico<\/a> and <a href=\"http:\/\/dojotoolkit.org\/\">Dojo<\/a>.<\/p>\n<p>The only thing SdiDesk can do that a standard browser can&#8217;t is the network diagrams. And on Firefox, with its canvas and SVG tags, even that might become possible.<\/p>\n<p>Of course, TurboGears needs a database, and I don&#8217;t want to get away from the current file-system.<\/p>\n<p>But, forgetting TG, I <em>am<\/em> starting to wonder whether browser-based UI technology has basically caught up to pretty much the standard of any interface I could implement with Tkinter or similar GUI toolkit; and whether it wouldn&#8217;t be just as useful for SdiDesk users to go via the browser. <\/p>\n<p>Any thoughts?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OK, some more thinking out-loud about possible futures for SdiDesk in light of that TurboGears demo. Nothing is fixed. Particularly not SdiDesk. This is all speculative. What is SdiDesk? Idea? A prototype? A useful tool? A code-base? A finger-post pointing out the direction I&#8217;d like to see individualistic knowledge tools evolve? All of the above. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[473],"class_list":["post-480","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/posts\/480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=480"}],"version-history":[{"count":0,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/posts\/480\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}