<story><title>I hate almost all software (2011)</title><url>http://tinyclouds.org/rant.html</url></story><parent_chain><item><author>amasad</author><text>I don&amp;#x27;t think this is a software problem. It&amp;#x27;s a general legacy systems problem. Think of self-driving cars. It seems plausible that one day all cars on the street will be self-driving, at which point the existing system -- which was designed for humans -- is a legacy system that is not efficient for the current users. If you were to design an autonomous transportation system from the ground-up I doubt, for example, you&amp;#x27;ll put in stop signs that cars have to read via machine vision. You&amp;#x27;d probably have that information somewhere on the internet (or better yet, design something from the ground up that doesn&amp;#x27;t require stopping).&lt;p&gt;You can see how this translates to computing. The reason why I still have to deal with a `document` object while building apps in JavaScript is because we built an application distribution platform on top of a document viewer. There is no centralized planning here -- we&amp;#x27;re just riding a wave of distributed innovation and making the best out of it. (Nor should you expect centralized planning in technology to emerge unless a superintelligent AI system takes over).</text></item></parent_chain><comment><author>pjc50</author><text>Javascript is the app distribution platform that &lt;i&gt;won&lt;/i&gt;, because the others were worse.&lt;p&gt;ActiveX? Too much lockin, no sandbox. Java applets? Too heavyweight. Flash? Nice tooling for the producer, &lt;i&gt;terrible&lt;/i&gt; security record. ClickOnce&amp;#x2F;Silverlight? Never really got out of the gate and would have been MS&amp;#x2F;Win only.&lt;p&gt;The next generation of app distribution is &amp;quot;app stores&amp;quot; with arbitrary refusal policies which take a 30% cut of sales. A success for Apple.&lt;p&gt;Javascript &lt;i&gt;mostly&lt;/i&gt; delivers &amp;quot;write once, run anywhere&amp;quot;, albeit through a vast shifting layer of shims. Its sandbox is pretty reliable. It&amp;#x27;s not owned by anyone and they can&amp;#x27;t stop you shipping JS apps. Thus it survives.</text></comment>
<story><title>I hate almost all software (2011)</title><url>http://tinyclouds.org/rant.html</url></story><parent_chain><item><author>amasad</author><text>I don&amp;#x27;t think this is a software problem. It&amp;#x27;s a general legacy systems problem. Think of self-driving cars. It seems plausible that one day all cars on the street will be self-driving, at which point the existing system -- which was designed for humans -- is a legacy system that is not efficient for the current users. If you were to design an autonomous transportation system from the ground-up I doubt, for example, you&amp;#x27;ll put in stop signs that cars have to read via machine vision. You&amp;#x27;d probably have that information somewhere on the internet (or better yet, design something from the ground up that doesn&amp;#x27;t require stopping).&lt;p&gt;You can see how this translates to computing. The reason why I still have to deal with a `document` object while building apps in JavaScript is because we built an application distribution platform on top of a document viewer. There is no centralized planning here -- we&amp;#x27;re just riding a wave of distributed innovation and making the best out of it. (Nor should you expect centralized planning in technology to emerge unless a superintelligent AI system takes over).</text></item></parent_chain><comment><author>marssaxman</author><text>I wish it still were just a document viewer. Turning it into an application distribution platform has mostly ruined it.</text></comment>