Beyond Intelligent Machines: Just Do It (1993)
I love this article! I worked with Ben Shneiderman at HCIL, and when he sent me a copy of this article to review, I was inspired by the &quot;Dynamic Queries&quot; of his &quot;Dynamic Home Finder&quot; demo, to implement something like that for SimCity (the Frob-O-Matic window). [Video and transcript below.]<p>Here are some of the main points of his article:<p>Don&#x27;t label machines as &quot;intelligent&quot;.<p>It limits the imagination. We should have greater ambitions.<p>Enable humans to accomplish tasks that weren&#x27;t before possible, instead of trying to enable machines to accomplish tasks people can already do.<p>Predictability and control are desirable qualities. Give users the feeling of mastery, competence, and understanding, sense of accomplishment.<p>The &quot;intelligent machine&quot; label limits or even eliminates human responsibility.<p>If you treat machines like people, you&#x27;re likely to end up treating people like machines.<p>Ben Shneiderman called his lab HCIL instead of CHIL, to explicitly put Humans before Computers.<p>Here&#x27;s his description of &quot;Dynamic Queries&quot; and the &quot;Dynamic Home Finder&quot;:<p>&gt;Dynamic Queries. These animations let you rapidly adjust query parameters and immediately display updated result sets, which makes them very effective when a visual environment like a map, calendar, or schematic diagram is available. The immediate display of results lets users more easily develop intuitions, discover patterns, spot trends, find exceptions, and see anomalies.<p>&gt;Figure 2 shows a screen from Dynamic HomeFinder, a prototype interface for real-estate agents that uses dynamic queries, written by Christopher Williamson of UM. Users can adjust the cost, number of bedrooms, and location of the A and B markers, among other characteristics, and points of light appear on a map to indicate a home that matches their specifications. Clicking on a point of light brings up a home description or image.<p>&gt;Users of Dynamic HomeFinder can execute up to 100 queries per second (rather than one query per 100 seconds as is typical in a database query language), producing a revealing animated view of where high- or low-price homes are found-and there are no syntax errors.<p>&gt;Our empirical study of 18 users showed Dynamic HomeFinder to be more effective than a natural-language interface using Q&amp;A from Symantec (C. WIlliamson and B. Shneiderman, The Dynamic HomeFinder: Evaluating Dynamic Queries in a Real-Estate Information Exploration System,&quot; Proc. SIG Information Retrieval, ACM Press, 1992, pp. 338-346).<p><a href="https:&#x2F;&#x2F;www.cs.umd.edu&#x2F;users&#x2F;ben&#x2F;papers&#x2F;Williamson1992dynamic.pdf" rel="nofollow">https:&#x2F;&#x2F;www.cs.umd.edu&#x2F;users&#x2F;ben&#x2F;papers&#x2F;Williamson1992dynami...</a><p>That inspired me to implement a version of the &quot;Dynamic Home Finder&quot; in SimCity:<p>Multi Player SimCityNet for X11 on Linux (Dynamic Home Finder &#x2F; Frob-O-Matic demo at 3:35).<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_fVl4dGwUrA&amp;t=3m35s" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_fVl4dGwUrA&amp;t=3m35s</a><p>Transcript:<p>Here&#x27;s an interesting thing inspired by Ben Shneiderman.<p>We can look at the ... This is the &quot;Dynamic Zone Filter&quot;.<p>So we are going to set this to be dynamic.<p>Now it&#x27;s going to show all the zones, but it&#x27;s not going to show the ones that don&#x27;t pass this filter.<p>So this filter is currently all the way open.<p>Now we&#x27;re going to change population density.<p>This is a two-ended slider.<p>This is the segment of the population density, from zero to 81.<p>So everything else will disappear.<p>Say I&#x27;m looking for a home. I want low population density. But I want high rate of growth.<p>And now, these are the places that have low population density and high rate of growth.<p>And then you can just interactivally ... So each of these filters out some of the places.<p>So you can look at ... I don&#x27;t want high traffic density. I don&#x27;t want any pollution. I don&#x27;t want any crime. I want land value to be high.<p>I&#x27;m getting pretty picky. So maybe I&#x27;ll deal with more people. Lower rate of growth. I&#x27;m too picky about pollution. I&#x27;m too picky about land value. That&#x27;s it.<p>So basically, Ben Shneiderman demonstrated this as the &quot;Dynamic Home Finder&quot;, and I realized that SimCity has all these layers of information that it can draw on, as fictitious as they are, to do that kind of real time, interactive, smooth database query.<p>It&#x27;s just a much higher bandwidth way to query a database than is conventionally used.<p>Anyway, that was the dynamic zone finder.<p>Also: Here&#x27;s some email I wrote to Ben about this article, after re-reading the article again in 2009:<p>Date: 28&#x2F;02&#x2F;2009 18:51
Subject: Re-reading &quot;Beyond Intelligent Machines&quot;<p>A long time ago, you sent us (me, Brad Myers, Jack Callahan and Mark
Weiser) a preview of your IEEE Software article &quot;Beyond Intelligent
Machines&quot;, which I ran across and have re-read.<p>It&#x27;s still delightful, inspiring and relevant today.<p>Speech synthesis and recognition has come a long way, to the point where
the &quot;talking car&quot; scenario is quite common (TomToms that speak and
recognize street names and addresses).<p>But I think the development of user-customizable user interfaces has
been dreadfully stalled since HyperCard died.<p>An &quot;Interactive Learning Environment&quot; is a great description of what I&#x27;m
developing SimCity into.<p>Remember when you visited CMU and I showed you the version of SimCity
with the dynamic query feature, an &quot;homage&quot; to your Dynamic Home Finder?
You could dial a series of filters on spatial properties like population
density, pollution, traffic, land value, police coverage, etc.
That code is now open source, and I&#x27;m redeveloping it!<p>It&#x27;s now very easy to write Python code to dynamically query and filter
the map and data layers, and visualize with transparent colored tiles
and pixel overlays, depending on arbitrary Python functions over the
state of the map and its data layers.<p>And it&#x27;s also possible to script agents in Python!<p>Here&#x27;s a picture of SimCity with the traffic overlay enabled (showing
yellow&#x2F;orange&#x2F;red haze over high traffic areas), with some PacMan
agents, which are programmed to follow roads, go towards high traffic
and eat the cars! Notice the clear road behind each PacMan!<p><a href="http:&#x2F;&#x2F;www.donhopkins.com&#x2F;home&#x2F;images&#x2F;SimCityPacMan.png" rel="nofollow">http:&#x2F;&#x2F;www.donhopkins.com&#x2F;home&#x2F;images&#x2F;SimCityPacMan.png</a><p><pre><code>    -Don
</code></pre>
Micropolis Online (SimCity) Web Demo<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=8snnqQSI0GE" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=8snnqQSI0GE</a><p>A demo of the open source Micropolis Online game (based on the original SimCity Classic source code from Maxis), running on a web server, written in C++ and Python, and displaying in a web browser, written in OpenLaszlo and JavaScript, running in the Flash player. Developed by Don Hopkins.<p>Source Code: <a href="https:&#x2F;&#x2F;github.com&#x2F;SimHacker&#x2F;micropolis" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;SimHacker&#x2F;micropolis</a><p>HAR 2009 talk: Constructionist Educational Open Source<p><a href="https:&#x2F;&#x2F;medium.com&#x2F;@donhopkins&#x2F;har-2009-lightning-talk-transcript-constructionist-educational-open-source-simcity-by-don-3a9e010bf305" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@donhopkins&#x2F;har-2009-lightning-talk-trans...</a>