<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>eval.nu blog &#187; GUI</title>
	<atom:link href="http://eval.nu/blog/tag/gui/feed/" rel="self" type="application/rss+xml" />
	<link>http://eval.nu/blog</link>
	<description></description>
	<lastBuildDate>Tue, 20 Jul 2010 10:08:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Bortom kakrecepten och vägbeskrivningarna</title>
		<link>http://eval.nu/blog/2010/01/29/bortom-kakrecepten-och-vagbeskrivningarna/</link>
		<comments>http://eval.nu/blog/2010/01/29/bortom-kakrecepten-och-vagbeskrivningarna/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 11:06:50 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://eval.nu/blog/2010/01/29/bortom-kakrecepten-och-vagbeskrivningarna/">Albin</span></dc:creator>
				<category><![CDATA[på svenska]]></category>
		<category><![CDATA[framtiden]]></category>
		<category><![CDATA[gränssnitt]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[kryptolisp]]></category>
		<category><![CDATA[operativsystem]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://eval.nu/blog/?p=178</guid>
		<description><![CDATA[De flesta filsystem och användargränssnitt idag är s [...]]]></description>
			<content:encoded><![CDATA[<p>De flesta filsystem och användargränssnitt idag är starkt baserade på hierarkier; bilderna på katter ligger i mappen »katter«, som ligger i mappen »bilder«, som ligger i mappen »Mina dokument«, som &#8212; ja och så vidare. Samma sak gäller för många menysystem.</p>

<p>Detta uppmuntrar till ett tänkande som är mycket likt vägbeskrivningar eller kakrecept; »jag går hit och så går jag dit och så gör jag så och då händer det där«. Datoranvändningen ritualiseras helt enkelt, användaren tvingas in i ett tänkande som är väldigt konstlat, vilket knappast förbättrar datorernas dåliga rykte som lådor fulla av svart magi.</p>

<p>En bättre utplockning av data skulle fungera mer som musikspelaren xmms2 hanterar sitt musikbibliotek. Till exempel skulle jag kunna säga »add artist:&#8221;Sopor Aeternus &amp; The Ensemble of Shadows&#8221; AND timesplayed&lt;1« för att hitta hittills ospelade låtar av artisten Sopor Aeternus &amp; The Ensemble of Shadows. Syntaxen är förvisso lite klumpig, men det är mycket närmare hur jag faktiskt tänker än det tidigare exemplet med katterna.</p>

<p>Det hela kunde dessutom underlättas med att mitt inmatningsprogram hjälpte till att fylla i eller komplettera, och kanske genom att samtidigt demonstrera vad min nuvarande fråga matchade runtom. T.ex skulle jag kunna skriva, i exemplet med katten, »search type:images depicts:cat described-as:cute«, för att få en lista (eller ett galleri!) av alla bilder föreställande söta katter.</p>

<p>Men det här är knappast tillräckligt. Tänk om jag skulle vilja redigera bilderna istället? Tänk om jag ville göra ett galleri av dem och skicka till en vän? Eller, för all del, eposta dem?</p>

<p>För detta behövs sätt att definiera ett språk för att tala om vad som ska göras med bilderna. Jag måste få en metod att tala om för min dator vad jag menar när jag säger att jag vill göra ett »galleri« av bilderna.</p>

<p>När jag sen väl har gjort det så vill jag kunna fortsätta tala om dessa gallerier, kanske i andra sammanhang. Kanske vill jag säga att ett »semesterkollage« är ett galleri med alla bilder för en given tidsperiod som beskrivs av »semesterbilder«, plus en hälsning.</p>

<p>Om något av detta ska fungera måste vi släppa Unix, åtminstone på en hög nivå. Och, i synnerhet, vi måste släppa textfobin. Båda dessa tendenser finns; GNU/Linux-distributioner som Ubuntu bygger på lager efter lager av abstraktioner (även om många av dem är kassa!), och vi ser kommandoraden återvända i sökmotorer, både Google och Wolfram Alpha, i adressfält i webläsaren och i snabbfunktionsprogram i t.ex. OS X.</p>
 <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://eval.nu/blog/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://eval.nu/blog/2010/01/29/bortom-kakrecepten-och-vagbeskrivningarna/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Thoughts on software and desktop interface design (from a design hater&#8217;s perspective)</title>
		<link>http://eval.nu/blog/2009/11/28/thoughts-on-software-and-desktop-interface-design-from-a-design-haters-perspective/</link>
		<comments>http://eval.nu/blog/2009/11/28/thoughts-on-software-and-desktop-interface-design-from-a-design-haters-perspective/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 16:35:01 +0000</pubDate>
		<dc:creator><span property="dc:creator" resource="http://eval.nu/blog/2009/11/28/thoughts-on-software-and-desktop-interface-design-from-a-design-haters-perspective/">Albin</span></dc:creator>
				<category><![CDATA[in English]]></category>
		<category><![CDATA[Clipboard]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[Conkeror]]></category>
		<category><![CDATA[Desktop environment]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[human-computer interaction]]></category>
		<category><![CDATA[Semantic desktop]]></category>

		<guid isPermaLink="false">http://eval.nu/blog/?p=105</guid>
		<description><![CDATA[I previously wrote about website design. Now I'd like t [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://eval.nu/blog/2009/10/31/thoughts-on-blog-design-from-a-design-haters-perspective/">previously wrote about website design</a>. Now I&#8217;d like to continue my argument and move it to the desktop in stead. I&#8217;m going to begin by explaining my motives and approach to computing, continue by pointing out some important problems of most modern desktop environments, give some examples of what is being done about this and finish by very loosely sketching the work flow of an example application.</p>

<p>Computers are all about data. Somehow this has been lost in much of the modern design practices of graphical user interfaces. In stead, they all seem to employ <a href="http://www.cabinetmagazine.org/issues/1/i_moglen_1.php">Eben Moglen&#8217;s &#8220;caveman&#8221; principle</a>; you point and you grunt. This type of design is very efficient for some tasks, drawing for example, when you only <em>want</em> to point out a position.</p>

<p>This is one of the main reasons why I have kept as far as possible away from GUI applications. Not because they employ a GUI, there&#8217;s really nothing wrong in that, but because they do it poorly. Ridiculously poorly.</p>

<p>Another problem with most modern desktops is all the micro-management necessary to optimize your screen usage. This has become especially important with the advent of the wide screen. As a solution, many desktops either implement work spaces, <a href="http://en.wikipedia.org/wiki/Tiling_window_manager">tiling window management</a> or both. The latter can for example be seen in Apple&#8217;s &#8220;Active Corners&#8221;.</p>

<p>The final fundamental problem of modern desktop environments is one they share with the Web; it is difficult and inflexible to move data between programs. Of course, there&#8217;s typically a clipboard with some cut-and-paste function, but it&#8217;s often unbuffered (i.e. can only contain only a limited amount of data at a time), and don&#8217;t keep the semantics of the transmitted data. For example, say I&#8217;d like to tell my music player to transmit my currently playing track data to the letter I&#8217;m currently writing.</p>

<p>Of course, this could be done by copying and pasting the data, but that would mean unnecessary plumbing. I wouldn&#8217;t be transmitting data, I would be copying a string, switching workspace or program and then pasting it in. What if, say, I wanted a different representation of the track/artist/album data than the music player used?</p>

<p>There are multiple examples of interface designs that try to go beyond the norm. <a href="http://en.wikipedia.org/wiki/Emacs">Emacs</a> is one; most Emacs users end up doing a lot of hacks to the way Emacs works. Still, most new modules respect these modifications and fit in nicely (or at least can be convinced to do so). Information can be, and typically is, passed between different Emacs modules and components through function calls and shared data structures. This, of course, is a potential source of errors and would be a nightmare to debug, but it&#8217;s a rather good illustration of what I&#8217;m talking about.</p>

<p>Another example is the web browser <a href="http://en.wikipedia.org/wiki/Conkeror">Conkeror</a>, ironically an Emacs-work-alike, which employs rudimentary facilities to move data between programs by allowing external programs to be run on embedded objects or their URL:s. And apparently, the Semantic Web has a sibling project on the desktop called the &#8220;<a href="http://en.wikipedia.org/wiki/Semantic_desktop">Semantic Desktop</a>&#8220;. I have heard very little about this though, but it might be something to look forward to.</p>

<p>I&#8217;d say that the desktop needs a major overhaul. First of all, the concept of fixed and separate applications should be discarded, and different concepts should be separated. For example, the same text input program could be used to supply both a web browser, an email and a word processor with input data. I hear <a href="http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs">Plan 9</a> is doing something similar to this, but its UI is horribly caveman-ish.</p>

<p>An example of how language can be used could be, say, a music library browser driven by an input box where the user enters either an expression (using some syntax) or a simple text string, which is fuzzily matched in the spirit of Emacs&#8217; ido-mode. This box could then be surrounded with context data, such as for example the covers of the matched albums or further search suggestions.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '10996';
var flattr_url = 'http://eval.nu/blog';
var flattr_lng = 'sv_SE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'eval.nu blog';
var flattr_dsc = '';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://eval.nu/blog/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://eval.nu/blog/2009/11/28/thoughts-on-software-and-desktop-interface-design-from-a-design-haters-perspective/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.488 seconds -->
