{"id":406,"date":"2007-11-09T03:36:00","date_gmt":"2007-11-09T03:36:00","guid":{"rendered":"http:\/\/sdi.thoughtstorms.info\/?p=406"},"modified":"2007-11-09T03:36:00","modified_gmt":"2007-11-09T03:36:00","slug":"406","status":"publish","type":"post","link":"https:\/\/blog.thoughtstorms.info\/?p=406","title":{"rendered":""},"content":{"rendered":"<p>Just spent the last few hours downloading and playing with the beta of Flex 3, Adobe&#8217;s IDE for Rich Internet Applications (ie. applications running on the Flash Virtual Machine) which is based on Eclipse and has an XML-based UI \/ form description language more or less like HTML.<\/p>\n<p>I&#8217;m having two thoughts about it. One is a kind of sigh of relief. This is, after all, finally, <b>The One<\/b>. After years of fruitless searching I&#8217;m pretty sure here&#8217;s a framework I can settle down with and commit to, and start making babies with. At least, it&#8217;s more or less mature enough, handsome enough and well endowed enough to put these thoughts into a girl&#8217;s head. A browser <em>and<\/em> a desktop? Holidays in Windows, Mac and Linux? Own grid and canvas. Tabbed notebook and some cute chunky buttons. <\/p>\n<p>And it&#8217;s all done in a way that&#8217;s pretty self-evident when you look at a few examples. Forms and input widgets are described in XML. They layout nice; and you can start banging them in and prototyping the look of your interface in a couple of minutes. The round-trip from coding to running and testing is a bit slow on my poor 512MB Vista laptop, but it&#8217;s going to be bearable. And the Eclipsyness of it all is comfortingly familiar if a trifle overblown.<\/p>\n<p>As long as my next experiments turn out right (the one where I try to find a tutorial example of pulling data off a server over http, and the one where I try to compile with AIR into a stand-alone application) then I&#8217;m sold.<\/p>\n<p>But there&#8217;s another part of me going, &#8220;huh? Is this all there is? WTF?&#8221;<\/p>\n<p>I mean, it&#8217;s 2007 and I&#8217;m happy because I&#8217;ve finally found a way to make GUIs that&#8217;s sufficiently lower than my pain threshold that I might actually get a piece of software released again. Zowie! But that&#8217;s what I had with Visual Basic 6 &#8211; which came out in about 1997!<\/p>\n<p>In fact, I was already a Pythonista <em>before<\/em> I started writing SdiDesk in VB. And I only pulled out VB (a language I thought I&#8217;d left behind for good) because I got impatient to see what the UI of an SdiDesk could look like and thought I&#8217;d prototype it. As often happens, the prototype spiraled out of control as I kept thinking, &#8220;maybe I can just also add &#8230; &#8221; and within a month or so it had already started to grow into a real program. Another phase of development with some serious refactoring and cleaning up the internal architecture, and it was a quite respectable and powerful bit of software (If I say so myself; I&#8217;m talking about the time I made the tutorial screen-casts.)<\/p>\n<p>(Then, of course, I hit the crisis of not wanting to be on the Microsoft treadmill and forced to upgrade to .NET; even though it was obvious that VB6 was as extinct as a very extinct thing from the Lower Devonian period. But also of not having any viable alternative. )<\/p>\n<p>So there&#8217;s a sense that Flex smells extraordinarily similar. I can see how you can knock out your prototype interface and start building backwards from it. That feels good. That&#8217;s why it seems like this is plausible option to get development rolling again.<\/p>\n<p>But, like I say, it *is* basically what I had 10 years ago. Except with javascript dressed up in Java&#8217;s suit and tie to look more grown-up and respectable. And XML. <\/p>\n<p>In fact, I was gchatting to Zbigniew earlier today, and realizd that all of this stuff is hardly a big advance on Hypercard back in 1985. Or perhaps Smalltalk 1972. Why the hell haven&#8217;t we progressed further? Why am I struggling on each new platform to rediscover the level of comfort I had on the previous one? What&#8217;s going <em>wrong<\/em> here?<\/p>\n<p>I suppose it could just be that the idea of quick GUI builders is inherent in the idea of a GUI?<\/p>\n<p>Or maybe we programmers of the noughties need to get our acts together and start coming up with serious new, cool shit. Stuff which couldn&#8217;t have been thought up in the 60s and 70s. Stuff which is radically easier and more productive than something we had 10 years ago. Something like <strike>reinventing Lisp with a cleaner (non)syntax &#8230; erm &#8230; well <\/strike> anyway, I&#8217;m off to do more experiments with Flex and try to get it to talk to some kind of server. <\/p>\n<p>If I succeed, then expect to see some interesting developments along the lines I mentioned earlier today &#8230; steps towards a new SdiDesk, possibly a GeekWeaver development environment &#8230; maybe even the long fabled, but never released SystemSketch. Or <em>even<\/em> the more outr\u00e9 things I&#8217;ve got buzzing around in my fevered imagination like &#8220;SexyCells&#8221; and &#8220;FlowerBrush&#8221;.<\/p>\n<p>Of course, it still sucks that Flex \/ Flash seems to have no musical ability whatsoever so Gbloink! doesn&#8217;t look like an option. Which is a double pity because I think it would make a great Chumby widget and that would have justified me buying one.<\/p>\n<p>\ud83d\ude41<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just spent the last few hours downloading and playing with the beta of Flex 3, Adobe&#8217;s IDE for Rich Internet Applications (ie. applications running on the Flash Virtual Machine) which is based on Eclipse and has an XML-based UI \/ form description language more or less like HTML. I&#8217;m having two thoughts about it. One [&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":[153,173,405],"class_list":["post-406","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-flex","tag-geekweaver","tag-sdidesk"],"_links":{"self":[{"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/posts\/406","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=406"}],"version-history":[{"count":0,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=\/wp\/v2\/posts\/406\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=406"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=406"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.thoughtstorms.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}