{"id":7,"date":"2007-03-17T08:23:10","date_gmt":"2007-03-17T16:23:10","guid":{"rendered":"http:\/\/www.installaware.com\/blog\/?p=7"},"modified":"2007-04-08T12:55:53","modified_gmt":"2007-04-08T20:55:53","slug":"elephants-and-user-interface-design","status":"publish","type":"post","link":"https:\/\/www.installaware.com\/blog\/?p=7","title":{"rendered":"Elephants and User Interface Design"},"content":{"rendered":"<p>I&#8217;ve always had a fascination for <strong>antique software<\/strong>. Perhaps its because I miss the simplicity of the <strong>Windows 3.1<\/strong> days&#8230;and its incredibly simple WinAPI, which could be mastered in its entirety by a single developer. That was when I first started Windows programming. My tool of choice back then was <strong>Borland Pascal with Objects 7.0<\/strong>, which is still available today in incarnations as <strong><a target=\"_blank\" href=\"http:\/\/www.codegear.com\/\">CodeGear<\/a> Delphi<\/strong>. Even though Install<strong>Aware<\/strong> also uses C++ and C# for some of our projects, <strong>Delphi<\/strong> is still my personal tool of choice today. But in <strong>1992<\/strong> we didn&#8217;t have even Delphi 1.0. So software was written the hard way&#8230;lack of visual designers, no matter how simple the API, is always a pain.<\/p>\n<p>But why the fascination for antique software then? To be honest, I&#8217;m not really sure. <strong>Maybe I&#8217;m just into antiques after all<\/strong> \ud83d\ude42 I must admit I get a huge kick out of building and maintaining antique Windows boxes. Around 2001 (wow!, even the turn of the century is now almost a decade old), I had to collect real antique hardware to build an antique Windows box. An ISA video card, ISA sound card, ISA modem, PS\/2 keyboard and mouse, along with an old processor were necessary. Otherwise, Windows wouldn&#8217;t recognize your devices, plain and simple. Today, thanks to the &#8220;virtues of virtualization&#8221;, one doesn&#8217;t need to shop around for old (and hard to find) hardware anymore. Of course, <strong>VMware<\/strong> has been around for a while&#8230;delivering near-native performance for virtual machines. VMware owes most of this performance to its native drivers for guest operating systems&#8230;which provide high performance video display, for instance. However the one drawback of this approach (which really doesn&#8217;t matter in the real world anyways) is that if VMware doesn&#8217;t have drivers for your operating system, you&#8217;re stuck. So even though one of the first things I tried on VMware was to build a Windows 3.1 virtual machine (on top of good old <strong>DOS 6.0<\/strong>), it had no sound, 16 color graphics, and 640&#215;480 resolution only.<\/p>\n<p><strong>Virtual PC<\/strong> to the rescue! Virtual PC takes a different approach &#8211; instead of implementing custom drivers for video, sound, and so on &#8211; it emulates old cards, cards that are old enough that Windows 3.1 recognizes them. The real-world drawback is that Virtual PC can be slower because its emulating old hardware, instead of passing calls directly to the underlying hardware. However with Virtual PC, I was able to build a Windows 3.1 virtual machine that had high color display, sound, networking &#8211; practically everything! I was even able to play old DOS games like <strong>Flight Simulator 5<\/strong> (the first version of the family to support textured graphics and digitized\/synthesized sound). It was antique software heaven \ud83d\ude42<\/p>\n<p>Even today, I maintain a fully-configured Windows 3.1 virtual machine, ready for usage at a moments notice. I&#8217;ve installed a full set of browsers, email clients, FTP clients, compilers, IDEs, Office programs, games, and what not. I&#8217;ve also got some real gems that my contemporaries from that era will recognize &#8211; <strong>After Dark<\/strong> screensaver (can anybody really forget those flying toasters?), <strong>Stacker<\/strong> disk compression (the first company that *I* know of to win a patent infringement lawsuit against Microsoft), Norton Utilities and <strong>PC Tools<\/strong>, just to name a few. Watching PC Tools or Norton defrag the hard disk in native DOS mode&#8230;moving all those character-drawn blocks around&#8230;still looks more convincing to me than my native Windows defrag tool \ud83d\ude09 You *know* the thing has direct access to hardware and is *making full use* of that privilege \ud83d\ude09<\/p>\n<p>Working in this virtual machine is very refreshing in many ways, and contains invaluable lessons for software development from a historical perspective &#8211; you get a broad overview of ideas that survived, and those that failed. And maybe the ultimate lesson is the realization that <strong>nothing has fundamentally changed<\/strong> since those days in the computing world. Sure, we now have fancy graphics cards, jazzy on-screen effects, way more processing power &#8211; but ultimately, in your day-to-day use, you still have the same email client, the same word processor, and the same spreadsheet; which require direct keyboard input, learning the program, and regular crashes. Sure, Windows 3.1 did crash a *little* more frequently at the kernel level, but most real-world software seems to be equally unstable these days. About 30% of the time I open <strong>Internet Explorer 7<\/strong>, it hangs. <strong>Vista<\/strong>, despite dramatically multiplying resource requirements and reducing performance thanks to its DRM focus, is even buggier &#8211; every time I view an MSN video in the browser, the <strong>Desktop Window Manager<\/strong> (DWM) crashes! Makes you really wonder if we&#8217;d all be better off reverting to Windows 3.1 &#8211; at least, it would run at lightning speed on today&#8217;s machines \ud83d\ude09<\/p>\n<p>But what about the place of elephants in user interface design? Enter <strong>OS\/2<\/strong>. After perfecting the Windows 3.1 antique VM, I decided to take the challenge to the next level &#8211; another contemporary of the Windows 3.1 times, OS\/2. I had never actually used OS\/2 in the real world &#8211; my only memory of it was drooling at a high-school demo of it (I lacked the hardware capable of running it at the time). So I soon found out that OS\/2 also ran just great under Virtual PC&#8230;and had several versions of OS\/2 virtualized \ud83d\ude42 <strong>This is where the elephants come in.<\/strong> OS\/2 had some &#8220;artistic&#8221; elements in its user interface, namely <strong>elephants in wizard screens<\/strong>:<\/p>\n<p align=\"center\"><img decoding=\"async\" src=\"http:\/\/www.installaware.com\/elephant.jpg\" \/><\/p>\n<p>Yes, IBM indeed built a product with this sort of &#8220;artistic&#8221; license \ud83d\ude42 The elephant even changes its pose on the different screens! How&#8217;s that for a user interface concept?<\/p>\n<p>In retrospect, its interesting to note that OS\/2 didn&#8217;t survive, and Windows 3.1 did (although, we&#8217;ll never know how much of that owes to Stacker-esque <strong>business tactics<\/strong> on Microsoft&#8217;s part, and how much to the elephants). Its more interesting to note that despite dramatic improvements in hardware performance, the way you use the computer today hasn&#8217;t really changed &#8211; and nor has its reliability. The user interface still employs the same metaphors from the Windows 3.1 era &#8211; <strong>windows (doh!)<\/strong>, menus, context menus, buttons, more menus, keyboard input, and so on. I even find myself craving the ugly Windows 3.1 &#8220;window themes&#8221; &#8211; if I could find a skin like that for my current Windows, I&#8217;d use it in a heartbeat! I&#8217;m not so sure Vista&#8217;s maximize\/minimize buttons are all that better. Ultimately, what&#8217;s the *most* fasctinating to me is, while people debate whether Vista is worth the upgrade from Windows XP or not, they don&#8217;t even realize that in their day-to-day usage, even XP isn&#8217;t all that different from trusty old Windows 3.1 \ud83d\ude00<\/p>\n<p>Well, I just got my hands on a copy of <strong>Borland C++ 3.1 for OS\/2<\/strong>. Its time for some more antique software fun! I was actually thinking of taking the LearJet on a spin in the latest <strong>Flight Simulator 10<\/strong>&#8230;but seeing that it runs even slower than how fast Flight Simulator 5 ran on its *original introduction*, I&#8217;m really thinking older might be better \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve always had a fascination for antique software. Perhaps its because I miss the simplicity of the Windows 3.1 days&#8230;and its incredibly simple WinAPI, which could be mastered in its entirety by a single developer. That was when I first started Windows programming. My tool of choice back then was Borland Pascal with Objects 7.0, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.installaware.com\/blog\/?p=7\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Elephants and User Interface Design&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-antiques"],"_links":{"self":[{"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":0,"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.installaware.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}