<?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>Kristo Vaher</title>
	<atom:link href="http://waher.net/feed" rel="self" type="application/rss+xml" />
	<link>http://waher.net</link>
	<description>inventas vitam iuvat excoluisse per artes</description>
	<lastBuildDate>Thu, 02 Feb 2012 12:13:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WWW &#8211; PHP micro-framework developer preview released!</title>
		<link>http://waher.net/archives/1042</link>
		<comments>http://waher.net/archives/1042#comments</comments>
		<pubDate>Wed, 01 Feb 2012 21:57:09 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://waher.net/?p=1042</guid>
		<description><![CDATA[I am happy to announce the first release of my open-source micro-framework. It has taken hours of evening-coding and frustrations, but it&#8217;s finally here and stable enough for early release. Simply called WWW, this framework is intended for websites and infosystems and is strongly driven by API principles. Software is developed with Factory and MVC [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy to announce the first release of my open-source micro-framework. It has taken hours of evening-coding and frustrations, but it&#8217;s finally here and stable enough for early release.</p>
<p>Simply called WWW, this framework is intended for websites and infosystems and is strongly driven by API principles. Software is developed with Factory and MVC principles in mind and is released as open-source, licensed under GNU Lesser General Public License Version 3.</p>
<p>Please note that this is only a developer-preview at the moment and only meant for developers. I will try to build tutorials, Wiki documentation and a sample bootstrap site within a few months.</p>
<p><a href="http://sourceforge.net/projects/www-php/" target="_blank">It is available on SourfeForge here</a></p>
<p>I shall be posting updates about WWW in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/1042/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Notepad++ theme and style for developers</title>
		<link>http://waher.net/archives/1013</link>
		<comments>http://waher.net/archives/1013#comments</comments>
		<pubDate>Thu, 29 Sep 2011 17:25:13 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://waher.net/?p=1013</guid>
		<description><![CDATA[If you are using Windows and use Notepad++ as one of your main source-code editors and happen to be a web developer then you might just love this.  I originally developed this for personal use for I was unhappy with other themes or found them a little inconsistent across different web development languages. By now [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1014" class="wp-caption alignright" style="width: 250px"><a href="http://www.waher.net/blog/waher-style.jpg"><img class="size-full wp-image-1014" title="Waher-style Theme" src="http://waher.net/wp-content/uploads/2011/09/theme.jpg" alt="Waher-style Theme" width="240" height="200" /></a><p class="wp-caption-text">Waher-style Theme</p></div>
<p>If you are using Windows and use <a href="http://notepad-plus-plus.org/" target="_blank">Notepad++</a> as one of your main source-code editors and happen to be a web developer then you might just love this.  I originally developed this for personal use for I was unhappy with other themes or found them a little inconsistent across different web development languages. By now I have used this theme in Notepad++ for more than a year now.</p>
<p><em>Thanks to this being shared in <a href="http://www.reddit.com/r/programming/comments/kvpld/reddit_encouraged_me_to_release_this/" target="_blank">reddit</a>, <a href="http://twitter.com/#!/search/%22http%3A%2F%2Fwaher.net%2Farchives%2F1013%22" target="_blank">Twitter</a> and Facebook, it has been downloaded more than ten thousand times in one day.</em></p>
<p><span id="more-1013"></span>It is recommended to use this theme with <a href="http://www.microsoft.com/download/en/details.aspx?id=17879" target="_blank">Consolas</a> font.</p>
<p>You can download the theme archive <a href="http://www.waher.net/blog/waher-style.rar" target="_blank">HERE</a> <em>(*.rar archive)</em> or the theme XML directly <a href="http://waher.net/blog/Waher-style.xml">HERE</a> <em>(right click and save-as)</em>. Preview is available <a href="http://www.waher.net/blog/waher-style.jpg" target="_blank">here</a>.</p>
<p><strong>Features:</strong></p>
<ul>
<li>Comfortable color scheme with a dark background and eye-friendly colors for working long hours</li>
<li>The styles used are intended for a web developer and cover most common files associated with web development</li>
<li>Supports Notepad++ styles for following languages and files: <strong>CSS</strong>, <strong>HTML</strong>, <strong>*.ini</strong> files, <strong>JavaScript</strong>, <strong>PHP</strong>, <strong>SQL</strong> and <strong>XML</strong>.</li>
<li>Covered by <a href="http://www.gnu.org/licenses/fdl.html" target="_blank">GNU Free License</a>, you can modify and redistribute it in however way you like.</li>
<li>Some support for Java and Python files <em>(recently added, might require some testing)</em></li>
</ul>
<p><strong>Install:</strong></p>
<ol>
<li>Unpack the *.rar archive into your <strong>Notepad++</strong> installation directory under subfolder <em>/themes/</em></li>
<li>Open <strong>Notepad++</strong></li>
<li>Go to <em>Settings -&gt; Style Configurator</em></li>
<li>Select <strong>Waher-style</strong> from <em>Select Theme</em> dropdown</li>
<li>Click <em>Save &amp; Close</em></li>
</ol>
<p>I hope this theme will serve you as well as it has served me!</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/1013/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Open source &#8216;WebViewApp v1.12&#8242; for Android released!</title>
		<link>http://waher.net/archives/989</link>
		<comments>http://waher.net/archives/989#comments</comments>
		<pubDate>Sun, 28 Aug 2011 11:48:17 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://waher.net/?p=989</guid>
		<description><![CDATA[I have only recently become curious about developing for Android phones. As a web developer the most important thing for me was to provide a way to bridge the gap between web applications and native applications. Free and open source WebViewApp application is a simple base setup for developing Android applications that communicate with web [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_990" class="wp-caption alignright" style="width: 250px"><a href="http://waher.net/wp-content/uploads/2011/08/primitive.jpg"><img class="size-full wp-image-990" title="WebViewApp" src="http://waher.net/wp-content/uploads/2011/08/primitive.jpg" alt="" width="240" height="241" /></a><p class="wp-caption-text">WebViewApp</p></div>
<p>I have only recently become curious about developing for Android phones. As a web developer the most important thing for me was to provide a way to bridge the gap between web applications and native applications.</p>
<p>Free and open source WebViewApp application is a simple base setup for developing Android applications that communicate with web services. WebViewApp is released as open source and developers can use this base application to build their own fully functional web applications in Android.</p>
<p><span id="more-989"></span>This application is as bare bones as possible and includes commented code and some examples.</p>
<p>Following features are included:</p>
<ul>
<li>Cookie management (application stores cookies)</li>
<li>Cache management (application stores cache based on web service cache lifetime and maintains it when user is not using the app)</li>
<li>Javascript interface (Web service can execute commands in Java and vice versa, such as for scripting hardware keys or executing alerts from web service, displayed in Android.)</li>
<li>Contained URL&#8217;s (Web service only opens its own URL&#8217;s in app, every other URL is launched in browser.)</li>
<li>Online Checks (App checks if user is online, if not then shows an offline page with an option to continue and reload where user left off once internet is back)</li>
<li>Sending custom user agent string to web service for testing if web service is used through Android app. Also includes a (possibly) unique device ID and application version for update checks.</li>
<li>Can load local HTML pages that uses local resources</li>
<li>Can be installed on SD card.</li>
<li>Can save settings and preferences</li>
<li>Can set background services and timed services</li>
<li>Can start a service at boot time</li>
<li>Can make HTTP connections to online API&#8217;s</li>
<li>Can use private and public file system, read and write files</li>
<li>Can use SQLite database</li>
</ul>
<p>This application shows that it is possible to create very extensive Android applications while relying mostly on HTML and JavaScript user interface, which makes it much easier to port to other systems or create a counterpart to browser version of a website.</p>
<p>Please note that there is no ‘guide’ on how to change the base application into your own new application, but source package does include a short overview of all the necessary modifications. Basic knowledge of Android and web development is recommended.</p>
<p>The bare-bones application can be downloaded from Android Market with its name &#8216;WebViewApp&#8217; or from <a href="https://market.android.com/details?id=com.webviewapp.app" target="_blank">Android Market</a>.</p>
<p>Source code can be downloaded from <a href="http://webviewapp.waher.net/webviewapp-source.rar" target="_blank">here</a>. This includes source code for both the Android app as well as the web service.</p>
<p>VERSION HISTORY:</p>
<blockquote><p>v1.12 Database and file system examples, HTTP request examples<br />
v1.11 Starting service at boot time<br />
v1.10 Background services and timed services<br />
v1.09 Notifications, settings and preferences<br />
v1.08 Local image test for local HTML<br />
v1.07 Activity checks and local file support<br />
v1.06 Better examples and descriptions<br />
v1.05 Possibility to keep previous scroll position<br />
v1.04 Back button now works with POST variables<br />
v1.03 Fix for back button in certain conditions<br />
v1.02 Reload page now uses Javascript interface<br />
v1.01 Fix for no-internet reload page<br />
v1.00 Release</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/989/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This is why Google+ matters, or &#8216;Hi there, Google+&#8217;</title>
		<link>http://waher.net/archives/975</link>
		<comments>http://waher.net/archives/975#comments</comments>
		<pubDate>Mon, 11 Jul 2011 16:57:16 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Web Business]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[web publishing]]></category>

		<guid isPermaLink="false">http://waher.net/?p=975</guid>
		<description><![CDATA[&#160; Google+ is a social networking service by Google that has been in development for a few years and was launched about a week ago. While still in invite-only testing phase, the interest in joining the site has been massive and the service quickly gathered over a million users. Feedback from early adopters has been [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div id="attachment_979" class="wp-caption alignright" style="width: 252px"><a href="http://waher.net/wp-content/uploads/2011/07/googleplus.jpg"><img class="size-full wp-image-979" title="Google+" src="http://waher.net/wp-content/uploads/2011/07/googleplus.jpg" alt="Google+" width="242" height="240" /></a><p class="wp-caption-text">Google+</p></div>
<p><a title="Google+" href="http://plus.google.com" target="_blank">Google+</a> is a social networking service by Google that has been in development for a few years and was launched about a week ago. While still in invite-only testing phase, the interest in joining the site has been massive and the service quickly gathered over a million users. Feedback from early adopters has been very positive, despite Google+ not really inventing a wheel here. Best achievement of Google+ is that it takes what is already there and improves on it while also closing one of the most relevant gaps between the four more notable social networking services of the last five years: Facebook, Twitter, Foursquare and LinkedIn. This post will point out the features that are relevant to Google+.</p>
<p><span id="more-975"></span><strong>More personal Twitter</strong></p>
<p>While the entire internet buzzed about Google+ taking on Facebook&#8217;s huge 750+ million userbase, reality is that the main feature of Google+ is really challenging Twitter, while dressed in Facebook-like user interface. Twitter is mainly used as releasing public information about your daily activities in a micro-blogging form while allowing for discussions on various relevant matters and allowing anyone follow whatever you post in public. And personally I have always been bothered by both the limited &#8216;text-message&#8217; length notices and very awkward public commenting on those posts.</p>
<p>Google+ takes the similar concept of anyone being allowed to follow anyone else without requiring confirmation of friends. As such, if the person you follow does not add you to their circles in return, they will not see your posts in their stream while you will see their public posts. This is very similar to how Twitter works.</p>
<p>At the same time Google+ remedies one of the biggest flaws of Twitter, which is public discussion that can be followed in Twitter through &#8216;hash tags&#8217; and retweets and so on. It is very awkward (and has been, in my opinion, ever since it was released). Google+ simply applies public commenting to public feed posts, so celebrities, companies, brands and whatnot can have all their discussion happen right under their own public posts. Already many little-known people use this for great effect, such as Apple-fanboy <a href="https://plus.google.com/107753428759636856492/posts" target="_blank">MG Siegler of Techcrunch</a> and <a href="https://plus.google.com/110286587261352351537/posts" target="_blank">Felicia Day</a>, the lovely actress of <a href="http://www.imdb.com/title/tt1227926/" target="_blank">Dr. Horrible</a> fame. This opens up such public discussions with a more personal touch than would ever be possible with Twitter.</p>
<p>And Google+ allows sharing information with only specific people (listed as Limited in feeds) in your specific circles, which is more similar to how Facebook works. This ability to balance information read and shared is what makes Google+ ultimately a better Twitter killer than it is Facebook killer, especially once mobile integration on Google+ becomes as common as it is on Twitter. As a sidenote, Google&#8217;s +1 buttons (which are essentially Facebook &#8216;Like&#8217; buttons, but across all Google services, including search) are already <a href="http://blogs.forbes.com/mashable/2011/07/08/googles-1-button-already-more-widespread-than-twitters-tweet-button-stats/" target="_blank">more common</a> than Twitter share buttons.</p>
<p>Google+ also implements a location-specific sharing for photos as well as posts. Location specific data has become important on social landscape ever since Foursquare capitalized on it. This is especially handy when using a mobile phone and checking out updates from near where you are. This is similar to Twitter&#8217;s location specific tweets, however I personally prefer Google+ implementation of this, which can easily be set per photo and post, instead of an account wide setting it is in Twitter.</p>
<p><strong>More public Facebook</strong></p>
<p>Everybody was talking about Google&#8217;s &#8216;social layer&#8217; attempting to challenge Facebook. And the first impression people got was that Google+ was indeed very similar to Facebook, but it is not &#8211; at least in the shape and form it is right now &#8211; a network where your parents might end up joining, just like they are unlikely to join Twitter. While Google+ includes all the usual features of a social network, from profiles to networking to photo sharing and discussions, it is not as personal as Facebook. While it includes relationship statuses, they are not linked to specific other user. It also has no families, no anniversaries and events (the latter two would likely be implemented through Google Calendar instead). Google+ is a network that suits better for professional networking, than personal networking, without neglecting the latter completely. And in a way, it does it better than LinkedIn which has always felt like a niche networking tool I rarely found any actual use for, despite being a user for more than three years.</p>
<p>The concept of circles is similar to Facebook friends lists, which majority of Facebook users do not use. Difference is that Google+ allows you to also filter out information based on this circle, not just share to specific circle, which makes this type of information networking more intuitive to me as a user. At work I am not much interested in what most friends post and share, but I would be interested in what people of my industry share and Google+ allows me to do it much better than both Facebook and Twitter.</p>
<p>One of the features Google+ could benefit from is the Groups aspect, where those shared circles can be created. It is possible with Google+, but would require everyone to create a same circle and follow everyone in that circle, which is a hassle. For social collaboration it would be better if such groups could be created, since I personally use them in Facebook rather frequently.</p>
<p>Google+ also intends to add business pages and apps into its midst in the future, challenging Facebook in those aspects as well, but as of right now it is only guesswork what might happen and thus I shall leave it at that for now.</p>
<p><strong>Google+ is everywhere</strong></p>
<p>Something that Facebook has tried for years has already been succeeded at by Google from day one. By having already millions of users of various Google services, from Google search to Gmail and Docs features, Google+ is integrated across all of those services seamlessly through the top black Google bar that includes links to all Google services as well as Google+ notifications. Seeing notifications pop up through various Google services will instantly make using Google+ more streamlined and natural since you do not need to visit Google+ main website to be notified of various activities.</p>
<p>Google also launched the service near-perfectly by making sure that it contained everything that people would expect such a service to have. This includes mobile interface &#8211; both web based and mobile applications &#8211; as well as introducing new design across these services prior to launch. This made for a very notable launch that felt less like an arrival of a new product and more like a corporate wide move by Google to take its services to next generation, double-dipped in social media.</p>
<p><strong>Google finally decided to hire designers</strong></p>
<p>While a minor point in comparison to previous three, Google decided to redesign all of it&#8217;s main services both on desktop<strong></strong> and mobile while developing Google+ and launching them just prior to Google+. While Google has experimented with minimalistic designs for years, it is only now that the new interface seems to have hit the right mark. New design is very sleek and minimalistic, with desaturated colors of red, black and gray being dominant, accompanied by blue and with minimalistic use of gradient transitions. Google+, as well as <a href="http://thenextweb.com/google/2011/07/01/gmails-got-a-brand-new-look-and-you-can-try-it-now/" target="_blank">new design of Gmail</a>, balances white space better than previous Google designs have ever done. All in all, this makes Google+ and their applications pretty to use, which is important, since how things look is <em>so very important</em> to shallow users that we are.</p>
<p><strong>Chinks in the armor</strong></p>
<p>Not all has been great, of course. Google did not anticipate Google+ to become as great a success from day one and the mass interest in the service caused problems even in its invite-only model of growing userbase. Patience is not something that is to be expected from people who live in this fast-paced industry and everybody wanted to be early adopters mainly due to this great word of mouth that Google+ has received. What happened was that very soon there were more people wanting an invite to Google+ than there were people who actually knew what Google+ is about and had read through Google&#8217;s <a href="http://googleblog.blogspot.com/2011/06/introducing-google-project-real-life.html" target="_blank">blog post</a> and watched the <a href="http://www.google.com/intl/en/+/demo/" target="_blank">demonstration</a>.</p>
<p>Google+ has also been underwhelming for early adopters due to once arriving there, not many people you know had joined yet, so once you managed to get in, the place looked sleek, but empty. Even if that was to be expected of a new service that demands large amount of users, it felt disappointing. Some of Google+ features have also been a little broken since launch, but that too is to be expected from this public invite-only testing phase that Google+ is going through (despite there not being a Beta sign anywhere to be seen). Google+ also needs to work on how public commenting can be read, since comments cannot be collapsed again once opened and it can be a problem with hundreds of comments on public threads, but that will surely be remedied soon.</p>
<p>Google+ also has similar issues related to account authenticity that Twitter and Facebook has faced. For example there are six different Mark Zuckerberg Google accounts. At least it is confirmed that one of them is <a href="http://techcrunch.com/2011/07/03/zuckerberg-surprised-that-people-are-surprised-hes-on-google/" target="_blank">authentic</a>. At the time being however, Google+ has no methods for verifying if the account belongs to the right person or not.</p>
<p>Google+ feature &#8216;Sparks&#8217;, which is a list of interests of sorts, also remains a bit strange to me and I have not been able to find a usable purpose for its existence, but since it is still in testing phase, I am sure it will expand and become more useful in time.</p>
<p><strong>Conclusions</strong></p>
<p>In this article I have mostly focused on the sharing and circle aspects of Google+. I did not touch chat and video calling functions since I have not tried them often enough.</p>
<p>Taking all of this into account it is perhaps surprising to realize that Google+ is perhaps the very best way Google could have entered the social networking arena. By combining the best of features of Facebook and Twitter and implementing a very clean layer of location based information sharing, Google+ is a serious entry on social market that will definitely make an impact in scale that cannot be predicted today. While it does not challenge Facebook as much as it challenges Twitter, all signs point that it is here to stay without having to battle over social market share the way people were expecting.</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/975/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Summary of selected chapters &#8211; About Face 3</title>
		<link>http://waher.net/archives/963</link>
		<comments>http://waher.net/archives/963#comments</comments>
		<pubDate>Sun, 05 Jun 2011 20:57:43 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Master's Studies]]></category>
		<category><![CDATA[IFI7103]]></category>

		<guid isPermaLink="false">http://waher.net/?p=963</guid>
		<description><![CDATA[Alan Cooper&#8217;s, Robert Reimann&#8217;s and David Cronin&#8217;s third edition of About Face, book about the essentials of interaction design, was released in 2007 (first edition was released in 1995) and is considered one of the must-read books for UI/UX designers. Alan Cooper spearheaded the books and is known for pioneering the use of personas as [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_966" class="wp-caption alignright" style="width: 193px"><a href="http://waher.net/wp-content/uploads/2011/06/about.jpg"><img class="size-full wp-image-966" title="About Face 3" src="http://waher.net/wp-content/uploads/2011/06/about.jpg" alt="About Face 3" width="183" height="240" /></a><p class="wp-caption-text">About Face 3</p></div>
<p>Alan Cooper&#8217;s, Robert Reimann&#8217;s and David Cronin&#8217;s third edition of About Face, book about the essentials of interaction design, was released in 2007 (first edition was released in 1995) and is considered one of the must-read books for UI/UX designers. Alan Cooper spearheaded the books and is known for pioneering the use of personas as practical interaction design.</p>
<p>This summary of selected chapters applies to the third edition of the book and may not apply to earlier editions. Summary is written for the course Interface and Interaction Design, taken in Tallinn University as part of masters studies.</p>
<p><span id="more-963"></span>The summary covers the third part of the book, about designing interaction details, as the attended course generally already covered the first two parts of the book. The third part (pages 321-564) focus mainly on in-depth use-cases of aforementioned techniques and how these principles apply to common problems.</p>
<p>The book opens with chapter about searching through data and finding what the user (hopefully) was looking for. Both categorizing and indexing get a lot of attention and authors mention that while modern storage system are a very good solution, it is the retrieval that is mostly the problem. Authors go over positional retrieval (where), identity retrieval (what) and associative retrieval (related to). Chapter ends with a concept of natural language retrieval that is tied to attribute based retrieval, but is accessed through &#8216;language&#8217;, dynamic sentences and queries which the software solves before returning data to the user.</p>
<p>Second chapter (Chapter 16 in the book) mostly covers the much-beloved command known as &#8216;Undo&#8217; and how it should be applied in modern software. While serving a specific need of correcting mistakes, it also enables exploration for the user in software, as users can learn features of software without fear of making a mistake they cannot revert. Sibling of the Undo command, Redo, is also mentioned as a reverse Undo. The chapter ends with sections about versioning and revision, two widely not used features of software that serve a purpose in specific instances.</p>
<p>Another chapter covers commands related to changing files (copies, renames, moving, reverting). One of the first unexpected issues covered is the idea that &#8216;Do you want to save?&#8217; dialog box should be eliminated from software, due to being one that majority of the time is used for saving. Authors propose better alternatives to this as well as File menu in general by changing the core mindset behind that dialog box and menu.</p>
<p>There is also a brief chapter on improving data entry, about data integrity especially. This chapter is surprisingly short, however the aspects here are mostly covered by other books more focused on software development, than interaction design.</p>
<p>Largest chapter in the third part is about using &#8216;pointing devices&#8217; for interaction and what has to be kept in mind when designing for. This chapter was missing an important note about touchpads and the aspects that features such as &#8216;mouse hover&#8217; may not necessarily exist on touch based interfaces (and today they definitely don&#8217;t).</p>
<p>Interesting section about the chapter discussed scrollbars and offers new alternatives to how scrollbars should be designed. While definitely an improvement, I personally believe that newer Linux style scrollbars (such as in Ubuntu 11 in Unity user interface) are a larger step forward.</p>
<p>Another chapter is about window behaviors and window based user interfaces. Of the chapters covered in the book, this might be the quickest one to become outdated with windows-based user interfaces slowly becoming outdated. There is also a chapter about controls, which includes usability of form fields, as well as links and buttons.</p>
<p>Most interesting chapter for me, as a developer, was about menu trees and usability in software and the concept of &#8216;Pedagogic Vector&#8217;. Authors mention that a good software design from interactivity standpoint should be friendly to all levels of users. Menus can be a way of simple and easy to follow introduction to aspects that the users will learn and start to use later on (such as shortcuts). Ignoring one or the other can cause usability problems not for a single user, but the perspective of users.</p>
<p>Another chapter covers issues related to toolbars, which it contrasts against menu&#8217;s and mentions them being speedy versions of a menu, a very relevant topic today with the dominance of context-sensitive toolbars on touch enabled devices, which will also influence desktop development. Authors mention that finding the balance between icons and text on toolbars is a difficult challenge and this is very relevant today, as my personal experience with software development includes examples where icons on toolbars are developed with little attention put on their context (the &#8216;just something that visualizes the command&#8217; approach, which is rarely even usability-tested). Chapter also covers one of the new redesigns of the classic toolbar from Microsoft Office suite (2007+). Authors disagree with how innovative Microsoft claims the toolbar to be.</p>
<p>There is also a chapter on dialogs (modal windows, commonly known as both pop ups and &#8216;lightbox&#8217; windows). This chapter goes hand in hand with chapter 25, about errors, alerts and confirmation boxes. Authors disagree with the classic use of &#8216;system modal&#8217; dialogs that halt the system, which is a well-known method of developing all modal windows in modern software development due to not requiring additional work by the developer team. Authors also go over process dialogs (dialogs launched by the application itself) that inform the user about what the software is doing (like being busy). Authors also mention the use (or abuse) or bulleting dialog boxes that only require the user to clikc &#8216;ok&#8217; to close it and can also be a system modal dialog that halts softwares other processes.</p>
<p>The third part ends with a more philosophical aspect of interaction design, about developing for different needs, how to educate users and deal with localization issues and relevant details such as help.</p>
<p>Reading these chapters as both a software designer and developer, it was interesting to see the authors keep the developer in mind, despite half the time using &#8216;developer mindset&#8217; as a negative example for software development (such as with the case of wizards, a well-known approach from 1990&#8242;s Microsoft operating systems and installers).</p>
<p>It is also important to note that the book itself is well designed from readability standpoint. Various &#8216;Design principles&#8217; throughout the book are useful notes worth remembering for both designers and developers alike. In time where digital materials and computer screens drive content delivery, well organized books (especially large handbooks and reference materials) are a welcome reminder that printed format still has its benefits.</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/963/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review of &#8216;Stephen Hawking and Leonard Mlodinow &#8211; The Grand Design&#8217;</title>
		<link>http://waher.net/archives/960</link>
		<comments>http://waher.net/archives/960#comments</comments>
		<pubDate>Thu, 02 Jun 2011 13:10:08 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Master's Studies]]></category>
		<category><![CDATA[IFI7038]]></category>

		<guid isPermaLink="false">http://waher.net/?p=960</guid>
		<description><![CDATA[Introduction The somewhat controversial book by world-renowned physicist Stephen Hawking and Leonard Mlodinow was published in September 2010 and is the latest popular-science book spearheaded by Hawking. Having read his previous works, I took the opportunity to read and review this latest book as part of the Tallinn University course &#8217;21st Century concepts in information [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong></p>
<p>The somewhat controversial book by world-renowned physicist Stephen Hawking and Leonard Mlodinow was published in September 2010 and is the latest popular-science book spearheaded by Hawking. Having read his previous works, I took the opportunity to read and review this latest book as part of the Tallinn University course &#8217;21st Century concepts in information and meaning&#8217; by Jaan Teng.<br />
<span id="more-960"></span>Stephen Hawking gained much attention in 1988 when his book, A Brief History of Time, was released and became one of the few bestsellers of its kind. A Brief History of Time, which I personally read for the first time three years ago, encapsulates many aspects of science written in form that a non-scientist is able to grasp the concepts. However, despite authors attempt, the book was still difficult to grasp for the mainstream reader and Hawking, in humour, often refers to his first popular-science book as the most sold book that no one has read. To make the book more reader friendly, an updated and illustrated version of the book was released in 1996.</p>
<p>In 2001, Stephen Hawking released a more reader-friendly book, The Universe in a Nutshell, which quickly became another popular-science bestseller. Dabbling in similar concepts as his first book and full of illustrations from cover to cover, this book is the one Hawkins is most known for by general audience.</p>
<p>After 2001, Hawkins and Mlodinow released a friendlier version of A Brief History of Time, called A Briefer History of Time, in 2005.</p>
<p>Throughout those books, Hawking has remained undecided on the matter of God and creator of the universe. He mentions in A Brief History of Time that he cannot disprove the existence of God, nor can he prove it. This has kept Stephen Hawking a fairly friendly-towards-religion scientist in his profession as opposed to another world-renowned popular-science authors, Richard Dawkins, whose work is often overshadowed by his media-titled status as a &#8216;worlds most famous atheist&#8217;.</p>
<p>The Grand Design, when released, became the first book which received strong critical reaction from some parts of media, as well as church in general. While Stephen Hawking does not make it a goal to disprove the existence of God (far from the way Dawkins did in his &#8216;A Good Delusion&#8217;), he aims to show that Universe &#8211; for what we know of it &#8211; can exist without the need of the universal creator, or God.</p>
<p><strong>The Grand Design</strong></p>
<p>Stephen Hawking has always loved &#8211; both in his books as well as his television series and presentations &#8211; the big questions of life. Where did universe begin and why are we here, what is reality and why is existence &#8211; like that of ourselves &#8211; possible. In a Brief History of Time he mentioned that we are who we are and we exist the way we do &#8216;because&#8217; we are able to ask these questions. If we were not here, we would not be asking.</p>
<p>Despite claiming very early on in the book that philosophy is dead, Hawking is often very philosophical, a quiet reminder that philosophy used to be &#8211; in ancient Egypt especially, before science became a field of it&#8217;s own – a study of being and study of universe more than collection of quotes by thinkers and oft-pretentious grandiose quest for the meaning of life. This makes Hawking a dreamer, as much as a scientist and perhaps a more valid philosopher than philosophers themselves.</p>
<p>The Grand Design is a book that, from the very beginning, approaches the subject with broad strokes. New answers to the ultimate questions of life is promised on the cover of the book and the first chapters are more philosophical and about the progress of science until modern times, to quickly get the user up to speed with the topics discussed.</p>
<p>I found it fascinating how Hawking was able to describe concepts of quantum mechanics in a non-technical way using simplistic, everyday terms, making it an easy read from a popular science standpoint.</p>
<p>After covering the basics and perhaps hoping that readers are up to speed, Hawking and Mlodinow take a decided turn towards the &#8216;grand design&#8217; of the book, how what we know today and observe today can be interpreted through science and applied to &#8211; often as theories &#8211; how universe began and why we are here.</p>
<p>Authors believe that such a multiverse is not just possible, but more logical than the single universe concept. By using string theory, where our four-dimensional (time and three phsyical dimensions) world consists of seven more curled up dimensions, each of them leading up to different laws of physics and through development of universes, to different universes. The idea that since particles have no specific position and exist in multple possible positions is extrapolated here. So if this is true with particles, it must be true with the universe. This is called particle superposition, a quantum mechanical property of solutions to the Schrödinger equation.</p>
<p>It is not a new theory, but it has not been covered often by renowned physicists in popular fiction and Hawking&#8217;s name closely applied to it now has gotten a lot of attention.</p>
<p>Main focus of the book is about Hawking bringing attention to this same, both critiqued and appreciated, belief that there is no single version of reality and that the concept of multiverse is where we exist. The thought of every reality being possible is frustratingly difficult for us to imagine, we already have trouble imagining how vast the universe itself is with its billions of stars and galaxies. Every sentence being written by me can be slightly different in each of those universes and in some of those I would not be writing this review to begin with. In most of these multiverse realities not I, nor anyone else I know, would even exist. In very many, life as we know it, would not exist either.</p>
<p>This theory becomes a large part of the books focus and is called an &#8216;M-theory&#8217; (Not multiverse-theory as expected, the M stands for master, miracle or mystery). Rooted strongly in string theory, it describes the universe existing of 11 spacetime dimensions. Hawking believes, or hopes, that this is what Einstein was looking for his entire life. It is not a new concept, but more of a new way looking at already existing concepts and theories in a way that would make sense for what we can observe in the world today.</p>
<p>The M-theory is largely about there existing infinite number of &#8216;versions&#8217; of the universe which lead to just as infinite number of different results. From the perspective of science fiction this would be a fascinating idea, but for fact and observation based science, it is a controversial idea not just for people who believe in God, but science in general.</p>
<p>While a fantastic read, this often feels like a hand-forced concept and this makes me, as an avid reader of popular fiction, look for potential irony here. Many often forget that Einstein came up with similarly &#8216;escapist&#8217; themed theories, like the idea of the universal constant which, when applied, makes the physics and math all fall properly in place. But that such a constant is required to make that science click, itself having no basis in science for existing (similarly to God that is supposed to exist, but cannot be proven), requires blind faith.</p>
<p>While Hawking discusses the M-theory and multiverse concepts in general, I found myself wondering if this is a similar grasp by a renowned physicist at a theory that makes all the physics fall in place, yet cannot really be proven other than by observation. But observation of a result, not a process, might mask the actual truth. And it might be affected by Hawking&#8217;s quest to find the theory of everything (or the Big TOE as he refers to it and is discussed in more detail in fifth chapter).</p>
<p>That aside, Hawking&#8217;s and Mlodinow&#8217;s descriptions of M-theory are compelling, albeit against my personal beliefs (or, in fact, hopes). However, as an open-minded reader, I found topics discussed fascinating.</p>
<p><strong>Conclusions</strong></p>
<p>It is somewhat discouraging that such a well written book has gotten more attention from media due to its controversial topics. Hawking himself has been asked more about the book being a statement against God, than the topics and theories discussed within the book, like M-theory or views against Einsteins unified field theory.</p>
<p>Hawkings himself has responded to wide criticism of the book by saying that one cannot prove that God doesn&#8217;t exist, but that science makes God unnecessary.</p>
<p>The Grand Design is one of the more important popular science books to be released in recent years, together with Richard Dawkins 2009 book &#8216;The Greatest Show on Earth&#8217; which proves evolution much the same way as Hawkins attempts to prove scientific concepts. Both books are similar, proving a world around us being possible to function without the need of a creator.</p>
<p>For one reason or another, I can recommend this book to any open minded reader interested in science and theories and concepts about the universe. The book is well written and reader-friendly and Hawking&#8217;s ability to coat even the more difficult concepts with subtle humour is welcome.</p>
<p>One can only wonder what a great lecturer he might have become hadn&#8217;t a paralyzing disease, amyotrophic lateral sclerosis, made it impossible. But Hawking proves that mind can, indeed, cross the boundries of our physical bodies and limits of our small blue world we call Earth and explore beyond, to the stars.</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/960/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cross-Referenced Review and Discussion on Ubiquitous Computing</title>
		<link>http://waher.net/archives/949</link>
		<comments>http://waher.net/archives/949#comments</comments>
		<pubDate>Sun, 29 May 2011 21:51:35 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Master's Studies]]></category>
		<category><![CDATA[IFI7114]]></category>

		<guid isPermaLink="false">http://waher.net/?p=949</guid>
		<description><![CDATA[Following is a cross-referenced review and discussion on Ubiquitous Computing (edited by Eduard Babkin) chapter #11 Case Study: The Condition of Ubiquitous Computing Application in Indonesia. It is written for Tallinn University course Experimental Input and Output. Abstract Ubiquitous Computing, or ‘ubicomp’ is a term coined by Mark Weiser in 1988 during his tenure as [...]]]></description>
			<content:encoded><![CDATA[<p><em>Following is a cross-referenced review and discussion on <strong>Ubiquitous Computing</strong> (edited by Eduard Babkin) chapter #11 <strong>Case Study: The Condition of Ubiquitous Computing Application in Indonesia</strong>. It is written for Tallinn University course Experimental Input and Output.</em></p>
<p><em><span id="more-949"></span></em><strong>Abstract</strong></p>
<p>Ubiquitous Computing, or ‘ubicomp’ is a term coined by Mark Weiser in 1988 during his tenure as Chief Technologist of the Xerox Palo Alto Research Center. As one of the dream concepts of computer science, Ubiquitous Computing has largely remained a concept without being realized twenty years later. Articles by Weiser, Genevieve Bell and Paul Dourish (Yesterday’s tomorrows: notes on ubiquitous computing’s dominant vision, 2006) take a different approach to describing the concept, but largely due to the articles written almost twenty years apart. Main subject of cross-review, an article, belongs to a collection of articles &#8216;Ubiquitous Computing&#8217; that is edited by Eduard Babkin, about practical applications in Indonesia. I shall view how it relates to the visions of Weiser, Bell and Dourish twenty years before and five years before that specific case study.</p>
<p>Case Study about Indonesia, written and researched by Dewi Agushinta R., Tb. Maulana Kusuma, Bismar Junatas and Deni Trihasta looks at Indonesia as a developing country in the era of ubiquitous computing. Case study is divided into three parts: mobile application, web application and payment system application, all considered ubiquitous by the authors. They further divide the article into parts describing what ubiquitous computing is, science and development behind it, application of ubiquitous computing and various issues related to it. Case study is written with a goal to bring more attention to ubiquitous computing solutions in Indonesia and perhaps assist in the future development of ubicomp applications.</p>
<p><strong>Weisers vision projected to case study</strong></p>
<p>According to Weiser, ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them &#8216;effective invisible&#8217; to the user (Weiser, 1993). This description is used as the basis by the authors of the Indonesia case study as well.</p>
<p>In an article, published in Scientific American in 1991 and titled ‘The Computer for the 21st Century’, Mark Weiser describes the principles of ubiqutous computing in a world that includes 50 million computers that ‘nonetheless remain largely in a world of their own’. Twenty years later, mobile phones &#8211; that are small computer devices &#8211; in the world have a total count more than half of the worlds global population (according to statistics by Informa in 2007), reach more than 3.3 billion.</p>
<p>These mobile phones are an advanced version of what Weiser described as ‘tabs’ in his article, small handheld sized ubiquitous computers. Another ubiquitous device described by Weiser, ‘pads’, have become prominent in recent years in the form of tablet computers. Weisers other descriptions about the futuristic room, populated by these tabs, pads and board sized devices (which can be equalled to both modern digital boards or modern television screens with networking access) are surprisingly close to modern world.</p>
<p>While Weiser described futuristic ubiquitous computing world populated by dozens of such devices in any given environment and most of these devices working in the background, serving their own purpose, the view is not quite what we are seeing today, but could be considered relatively close to where we are headed.</p>
<p>Many of Weiser’s ideas about the future are often restricted by the understanding of technology’s potential in 1991. The concept of globally networked devices with immediate access from opposite sides of the world was unknown back then, thus the devices described by Weiser are often very local in functionality. He does however point out that the need for artificial intelligence, as it was understood in 1991, is much lesser than expected. Users would still be in control of the technology and artificial intelligence &#8211; much like ubiquitous computing in general &#8211; works seamlessly in the background.</p>
<p>Weiser also described pads &#8211; equivalents of modern computer tablets &#8211; as functionally different from tabs &#8211; his equivalents of smartphones. Keeping these two computer systems apart was another narrow vision from twenty years ago, as modern technology developments have shown that all computer systems can work using the same functions and fundamentals and should a smaller system without hardware capabilities to do a certain task, it can utilize another system, seamlessly in a network, to do the task for itself &#8211; such as using a printer to print out documents through a laptop or smartphone.</p>
<p>It was only recently when Google announced that they plan to expand the  Android operating system platform for all devices in household, from  printers to refrigerators (Google I/O, 2011) and a unified operating  system is definitely a step closer to more unified ubiquitous computing. This need for standardization of technologies is necessary for true ubiquitous computing in a level that at least demands context sensitive and adaptable software. This becomes apparent in the case study as well as in the article by Bell and Dourish who believe that the messy state of ubicomp is not a failed example of our ubiquitous computing development, but reality of ubiquitous computing the only way it can be.</p>
<p><strong>Ubicomp in case study</strong></p>
<p>As a more modern perspective, Bell and Dourish mention in their article that Ubiquitous Computing has remained a relatively unusual field in Computer Science, different from most concepts since it deals with the vision of the future, without entirely being science fiction. Authors mention that Ubiquitous Computing as a concept has been strongly influenced by Weisers previous work that in itself focuses on futuristic aspects of ubicomp.</p>
<p>Bell and Dourish focus strongly on the proximate future of Ubiquitous Computing, which is relevant to chapters on the book, covering things just around the corner. For an article written five years ago, such a time should be right now. This is similar to Weiser &#8211; who technically was also describing of the proximate future of modern ubiquitous computing. These both articles create an interesting contrast as a background of Indonesia case study, in which it becomes apparent that either Bell and Dourish were correct in their assessment, or what we have cannot truly be considered ubicomp in the first place.</p>
<p>In the article of Indonesia Case study, the authors mention that in recent years, ubiquitous computing has been considered an &#8216;off the desktop&#8217; type of computing and computer science, tightly coupled with principles of networking and web communication as well as mobility. Authors mention that as an applied technology or as a branch of computer science, ubiquitous computing can not be separated from other computer science aspects. By those aspects they mostly mean natural interfaces, context aware computing and micro-nano technology.</p>
<p>Natural interfaces of ubiquitous computing is a concept of making an interface that is used to interact with a computer device, effectively invisible to its users and intuitive to use. Authors state that the word &#8216;natural&#8217; is used, since most computer interfaces use artificial control devices whose operation has to be learned. A natural interface would give the user the feeling that they are instantly and continuously successful. Authors however make it clear that main difficulty in natural interface development is that they are prone to errors, due to having wider area of form. This means that movements or voice could be interpreted differently without proper context.</p>
<p>Context aware computing is a branch of computer science who views a computing process by not focusing its attention on one object, but also all the surrounding aspects, putting an object of interest in &#8216;context&#8217;. Authors descibe this as an ubiquiotous computing that does not take just into account &#8216;who&#8217;, but also &#8216;when, what, where and why&#8217; and makes significant contribution to ubiquitous computing.</p>
<p>Micro-nano technology is an application of small size microchips becoming a major driving factor for development of ubicomp devices. The smaller the device is, the less user focuses on it and the more mobile and invisible it becomes. Case study mentiones specific RFID and T-Engine devices applied in everyday life in the form of smart cards or tags, which can be used as ubiquitous computing bus tickets and in some developed countries, such as Japan, this technology has been applied to everyday life through variety of sensors, with data processing tools remaining invisible to the general public.</p>
<p><strong>Ubiquitous computing in a developing country</strong></p>
<p>First aspect of the case study observes the use of mobile phones in Indonesia. Apparently 40 million people use mobile phones, according to authors and the trend is continuing to improve, since technology becomes cheaper and is not considered a luxury requirement, but mandatory one.</p>
<p>Second aspect of the case study observes an ubiquitous web application. Authors define an ubiquitous web application as an application that &#8216;suffers&#8217; from anytime/anywhere/any-media syndrome. In other words, an application that might be run on different platforms and accessed through different channels. Such an application must take into account different capabilities of devices and must be, in a way, context-aware depending on the environment it is running on. Authors also claimed that such an application must support personalization, though they did not make it clear if this personalization should be automated or not. According to their study they claim that Indonasia has implemented ubiquitous web application, however they do not go into specifics other than show an increasing trend of internet users in Indonesia.</p>
<p>As the third aspect, the authors studied about the application of ubiquitous computing in Indonesia for a payment system, which authors call &#8216;M-payment&#8217;. They make it clear that customers want both convenience and trustworthyness and for that purpose, the solution should be based on standardized architecture. Just like with ubiquitous web application, the customer should be able to choose his preferred device, be it phone or desktop computer. In Indonesia the technology system used for payment system is RFID technology and barcode technology based. Authors were unable to go into the specifics of origins of barcode system in Indonesia, but did give a brief overview of what it entails.</p>
<p>The need for RFID application was established by the need to enhance tracking and create new means of gathering and tracking information. Since then, RFID has become an established part of business processes in variety of markets in Indonesia with different technologies used and is utilized in supermarket, bus stations, gas stations and offices. It is very widely used in Indonesia and is planned to replace barcode based solutions entirely.</p>
<p>Problematic issues brought out by the authors of the case study is that ubiquitous computing has increased risks to security and wireless communication is less secure in comparison to wired networking. Authors do not go further in detail about security issues in Indonesia, but do mention that security is, in general, one of the main focuses of modern research of ubiquitous computing.</p>
<p>Regarding privacy the authors mention that the use of such devices has narrowed space on privacy. With more ubiquitous computing, individuals can be tracked more and risk both privacy and rights of a single individual due to being able to be monitored at all times. As with security, authors do not go in detail about privacy issues other than bringing a few examples.</p>
<p>Authors conclude that challenges to improve the use of ubiquitous computing in Indonesia is to provide infrastructure and environment of ubicomp so that the development of this technology would spread further. Authors end on a note of optimism, hoping that ubicomp is improved in Indonesia further, perhaps with the help of articles such as this, which discuss the topic.</p>
<p>Authors also mention wireless speed being a problem for ubiquitous solutions which can, depending on how good the connection is, cause slowdown or problems with various ubicomp devices. No examples are provided in the case of Indonesia.</p>
<p>In contrast, authors of Yesterday’s Tomorrow describe their own case study of Singapore (that has a close geographical proximity to Indonesia), which by 2006 was one of the most ‘wireless’ countries in the world. Singapore is a country that developed infrastructure for information from early 1990’s. As a small location, this is an ideal development ground for ubiquitous computing technologies. And by 2004, more than 90% of households own a cellphone and more than 70% own a desktop or laptop computer, with more than 60% being connected to the Internet. Singapore includes multiple Ubiquitous Computing technologies, such as electronic road payment system and a computer driven mass-transit system. Authors consider Singapore as a kind-of modern Ubiquitous Computing environment.</p>
<p>The other comparative case study by Bell and Dourish is that of Korea, another most connected country in the world, with 77% of Korea&#8217;s 16.9 million households having computers in them and average user using the computer 15 hours per week, majority of that online. 96% of Koreans aged 6-20 report using the internet regularly and 83% of Koreans have their own e-mail address, including 67% of those aged 60 years or older. Korea is also one of the leading countries in the world when it comes to popularity and activity of online gaming.</p>
<p>Bell and Dourish point out that case studies in western world are less common when it comes to ubiquitous computing research. They believe this to be the result of ubiquitous computing, as a futuristic concept, being too fictional to begin with and reality is that ubiquitous computing will develop based on needs &#8211; solving everyday mess. Because infrastructure is messy to begin with and hopes for unified Ubiquitous Computing may simply be out of reach because of this &#8211; or a version it may already be here, masked by the the messy state of infrastructure. Bell and Dourish believe that a seamless infrastructure that would be ideal for futuristic visions of ubiquitous computing are simply not possible and never will be. This is also very apparent in the Indonesia case study.</p>
<p><strong>Conclusions</strong></p>
<p>Observing ubiquitous computing through developing &#8211; rather than developed &#8211; countries points out various problems that could not have been predicted by Mark Weiser in the early 1990s. This idealistic view of ubiquitous computing has not realized itself and development has been obstructed by multiple factors, from non-standardized platforms to infrastructure problems due to slow development, especially in larger countries. Thus the concept of futuristic ubiquitous computing is irrelevant, despite how accurate Weiser was in his article.</p>
<p>Bell and Dourish recommend the concept for the &#8216;present&#8217; and not the future and that from this angle, Weisers vision has already established itself. They agree, much like I do, that Weisers concept of ubiquitous computing is strikingly accurately realized if one does not put literal meaning behind his futuristic vision. Bigger difference in Weisers vision is related to the field that is dominated by this &#8216;modern ubiquitous computing, mainly social and cultural aspects of it, which are front and center in modern world and drive technology today more than corporate needs. I had the same conclusion when I originally researched into matters of ubiquitous computing, ending up with a conclusion that social cohesiveness plays a large role when it comes to wide adoption of ubiquitous computing.</p>
<p>This is also apparent in the case study of Indonesia and in a way also the contrasting case studies in Korea and Singapore, where features of uniquitous computing are developing faster in areas that serve individual &#8211; albeit basic &#8211; everyday needs of the user.</p>
<p>However, taking everything into account, I would personally side with Mark Weiser and claim that what we have today is not necessarily the ubiquitous computing that our children will live in fifty years time. While standardization and infrastructure related problems will remain prominent, as is apparent in modern case studies, I consider it merely a stepping stone. Internet has already shown that cloud environments and API-enhanced web applications are adopted more widely than those more closed and with the first signs of Google&#8217;s Android with an intent to become a more standardized operating system for devices all around, this will enhance it further.</p>
<p>While I don&#8217;t believe either of the views &#8211; be it Weisers idealized future or Bell and Dourish idea that ubicomp is already here &#8211; being correct, I believe that the actual answer lies in the middle ground. As long as ubiquitous computing development attempts to follow Weisers idealistic view, the infrastructure and modern problems described by Bell and Dourish as well as apparent in case studies, will slowly adapt with a wave-like pattern. As a result, ubiquitous computing will never be the same all around for all users.</p>
<p>As an added note, an interesting point raised by Weiser was that the raise of ubiquitous computing might lead to a decrease of computer addicts. But looking around, it just may be that the opposite is true and as we look at the world around, driven by computer devices, we nod in approval, for we are just fine with it, addicts that we are.</p>
<p><strong>References</strong></p>
<p>Weiser, M. (1991). The Computer for the 21st Century. Scientific American.</p>
<p>Bell, G., Dourish, P. (2006). Yesterday&#8217;s Tomorrows: Notes on Ubiquitous Computing&#8217;s Dominant Vision.</p>
<p>Virki, T. (2007). Global cellphone penetration reaches 50 pct. Reuters.<br />
Retrieved on May 26, 2011 from http://www.reuters.com/article/2007/11/29/cellphones-world-idINL2917209520071129</p>
<p>Francese, R., Passero, I., Tortora, G. (2006) Current Challenges for Mobile Location-Based Pervasive Content Sharing Applications. Ubiquitous Computing.</p>
<p>Agushinta R. D., Maulana Kusuma. Tb., Junatas, B., Trihasta, D. (2006) Case Study: The Condition of Ubiquitous Computing Application in Indonesia. Ubiquitous Computing.</p>
<p>yourmobilesite.net (2011) Android to Communicate with Other Appliances Through Android@Home<br />
Retrieved on May 26, 2011 from http://yourmobilesite.net/android-to-communicate-with-other-appliances-through-android-home/</p>
<p>Vaher, K. (2010) Importance of social cohesiveness in reaching Ubiquitous Computing<br />
Retrieved on May 25, 2011 from http://waher.net/archives/517</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/949/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ontology as a Road to Better Relational Database Design</title>
		<link>http://waher.net/archives/932</link>
		<comments>http://waher.net/archives/932#comments</comments>
		<pubDate>Tue, 24 May 2011 16:49:15 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Master's Studies]]></category>
		<category><![CDATA[IFI7121]]></category>

		<guid isPermaLink="false">http://waher.net/?p=932</guid>
		<description><![CDATA[This essay is written as part of International Media and Knowledge Environments studies for the course Knowledge Representation and Reasoning. Essay looks at various methods how ontologies can improve typical database structures and why, taking into account both basic websites and complicated infosystem solutions. Introduction Philosophically, ontology, in its very basic form, is the study [...]]]></description>
			<content:encoded><![CDATA[<p><em>This essay is written as part of International Media and Knowledge Environments studies for the course Knowledge Representation and Reasoning. Essay looks at various methods how ontologies can improve typical database structures and why, taking into account both basic websites and complicated infosystem solutions.</em></p>
<p><em><span id="more-932"></span></em><strong>Introduction</strong></p>
<p>Philosophically, ontology, in its very basic form, is the study of the nature of being, existence or reality as such, as well as the basic categories of being and their relations. As such, it is also in the core of information science, representing knowledge as a set of concepts and describing relationships between those concepts.</p>
<p>From software development standpoint, ontology can be used to enhance both information storage, management and retrieval both within information systems internally as well as through methods of communication between different systems.</p>
<p>Contrasting what is common in modern software development and how ontology could improve, even in small ways, sofware development, patterns and database design is the main focus of this essay. Essay will also cover additional things to keep in mind when applying various theories into practice.</p>
<p>Essay also covers the practical aspect of the course Knowledge Representation and Reasoning and how the methods covered in this essay are being applied to an actual information system IMKEmonster (imkemonster.com)</p>
<p><strong>Brief overview of ontology</strong></p>
<p>In information science, ontology became more relevant since the mid-1970&#8242;s where researches recognized that capturing knowledge is a key component when it comes to building intelligent systems, even artificial intelligence. While storing information in database or even in a students notebook is as simple as it sounds, in order to make information meaningful to systems that do not know or have time to study the framework, certain logic has to be applied to information and how it is stored.</p>
<p>Another philosophical view, computational theory of mind, believes that it is possible for computers to act like a brain and process information like a brain does. And the way our brains store information is through links and connections that can be processed very quickly and efficiently. While ontology is not related to the way brains store information and link memories directly, the idea that an intelligent information system should be able to access information through streamlined set of methods is in the core of ontology.</p>
<p>In the early 1990s the term &#8216;ontology&#8217; became a technical term in computer science and was described as a &#8216;description of the concepts and relationships that can formally exist for an agent or community of agents&#8217;.</p>
<p>Ontologies share many common qualities with another computer science methodology, called object oriented programming. Object oriented programming, or OOP for short, defines &#8216;classes&#8217;, which are mini-frameworks to define an objects behavior. This is done through a class having defined properties, which are slots for information storage for variables, as well as methods, which are functions that the class can do with its variables to produce new information or complete a specific task. Classes can be extended and there can also be child classes that share qualities (like methods or properties) of their parent classes. An instance of a class is called an object, once defined an object has their own variables and function cycle until they have served their purpose.</p>
<p>Ontologies are very similar to that concept, but only from the angle of knowledge mapping and logical storage. A class, in ontology sense, means sets or collections of knowledge concepts. Such a class has attributes (similar to property slots in object oriented programming) as well as relations (such as parent classes, called superclasses) and various rules how information can be stored in those classes.</p>
<p>As such, ontologies play a large part in the concept of &#8216;semantic web&#8217;, which is a web of data that enables machines to understand the semantics and meaning of the information on the Internet. One of the more basic things added through the concept of semantic web is adding machine-readable metadata about pages and how they are related to one another, enabling automated agents, such as search engines, access information more intelligently and perform tasks more efficiently on behalf of users.</p>
<p>Similarly to problems of ontologies in software architecture and database design, it has also proven less effective in semantic web and has not revolutionalized the way information is accessed on the internet as much as was hoped ten years ago. As market and advertising have become so prominant in the internet and visibility in search engines has become one of major keys to success, various web semantics methods have been abused and metadata about pages simply stored incorrectly. This has resulted in large search engines, such as Google, to ignore most metadata information entirely and generate its own metadata from the websites. By today, no major search engine relies on semantic web metadata stored on websites.</p>
<p>This has left ontology, as a critical component of information science, on unreliable ground when it comes to modern information systems. But at the same time, it has become prominent in software architecture and database design, where the ontologies cannot be taken advantage of the way it has affected the semantic web.</p>
<p><strong>Common modern infosystem designs</strong></p>
<p>Majority of modern web is not designed by people experienced in information science, which means that both websites and even open source frameworks and systems for websites, such as WordPress, do not rely on ontology as basics for database design. These systems are designed based on needs of the software and not on the needs of information.</p>
<p>Majority of information systems and websites that have appeared since late 1990&#8242;s in the internet have been self-contained solutions that rarely shared information with outside sources. Company websites were closed, accessible through navigation on website or through an automated crawlers (much like those of search engines). While the logic of a website was similar, consisting of different URL&#8217;s, information storage within software that the website was built on, needed no attention.</p>
<p>With the advancements in internet and internet becoming the main source of information in modern world, the idea that different systems should share information has become very important. Many social networks, including Facebook, allow information to be fetched from its databases by other infosystems without having to rely on crawlers. This is done through API&#8217;s, or Application Programming Interfaces. An API with only information access and no actual &#8216;application programming&#8217; involved, is used these days by Facebook, Twitter and other major web networks to share information and make these platforms more useful for other systems in the internet.</p>
<p>One of the main problems of such API&#8217;s is that they are often built as layers and often have to convert information that software has access too into a usually non-standardized format for the API to present, if information is requested. Ontology and web semantics have not revolutionalized such information access today, which means that any information system that accesses Facebook or Twitter needs to have their own profiles or set of rules in order to understand the information provided.</p>
<p>It has not helped that one of the more known methods of storing information in modern information systems, in language called Extensible Markup Language or XML, has been largely shunned by API&#8217;s due to it&#8217;s heavy footprint. From semantic web standpoint, the best part of XML has been the introduction of semantically more correct HTML, called XHTML.</p>
<p>This means that today, most information systems store and share information in machine readable form, however in a way that requires hands-on development in majority of cases that are beyond simpler snippets of information, such as RSS feeds (that are a standardized format of XML to share news, called Really Simple Syndication).</p>
<p>While classes of ontologies and that of object oriented programming have many logical similiarities, the actual use of such concepts for information storage and database design is not common in most modern websites or information systems due to it being less time consuming and more productive from softwares standpoint to store information in the ways it needs to access it, without taking into account other systems. Should a need arise for other systems to access the information, a layer is built (usually together with the aforementioned API) that shares information in a certain way.<br />
<strong>Improving database design with ontology</strong></p>
<p>The first thing that software would benefit from, is to store information in multiple tables, even more so than it already does. Storing things like categories or, for example, dog breeds, in the same database table as the dogs themselves is inefficient from information management standpoint. Let&#8217;s take a look at this example of a database table, which can be looked at as a primitive ontology class:</p>
<p><em><strong>PETS</strong></em></p>
<ul>
<li>id (7 etc.)</li>
<li>name (Barky, Lassie etc.)</li>
<li>age (3 months, etc.)</li>
<li>breed (collie, golden retriever, siamese, etc)</li>
<li>category (dog, cat)</li>
</ul>
<p>From a software standpoint, this table is very easy to maintain as all the information is stored within the single table. Should breeds be required, a simple database query could fetch all the unique breed values in the table and display them to the user.</p>
<p>However, from an information system standpoint, this table is flawed. It is not possible to get the list of all breeds that can exist in the information system, but do not have instances in the database table, which means that these breeds have to be stored within software logic and not within database. Same applies to categories.</p>
<p>This table is also not easily extendable, what if more information needs to be displayed for dogs with specific breed? This too would, in that case, be stored within software logic and not within database. This leads very quickly to unmaintainable information system.</p>
<p>Relying on basic ontology, very simple methods could enhance this simple database design by separating breeds and categories, like this:</p>
<p><em><strong>PETS</strong></em></p>
<ul>
<li>id (7 etc.)</li>
<li>name (Barky, Lassie etc.)</li>
<li>age (3 months, etc.)</li>
<li>breed (BREEDS #id)</li>
<li>category (CATEGORIES #id)</li>
</ul>
<p><em><strong>CATEGORIES</strong></em></p>
<ul>
<li>id (3 etc.)</li>
<li>name (dog, cat, etc)</li>
</ul>
<p><em><strong>BREEDS</strong></em></p>
<ul>
<li>id (2 etc.)</li>
<li>name (collie, golden retriever, siamese, etc)</li>
</ul>
<p>This means that the various classes (pets, categories, breeds) can always be extended within their own domain and without affecting other aspects of the database design.</p>
<p>Another key reason why modern database design tends to ignore ontologies is that some of the software logic is stored within the database as well. This includes various data properties that otherwise serve no purpose outside the database. This is called database design pollution and is a known problem especially during database migration from one system to the other.</p>
<p>Relying on another software development pattern, known as MVC, or Model View Controller, information management, both storage and retrieval, would benefit from being managed through a separate part of software that maintains database integrity and separates database pollution from affecting information stored.</p>
<p>A separate software class should be developed for that specific use. If a new person is added to the system, then all the data of this person is handled by this class and stored in specific database table. Should this information affect other aspects of database logic, this class should also make sure that these settings are changed without affecting information directly.</p>
<p><strong>Pros and cons of ontology enhanced databases</strong></p>
<p>There are many things to keep in mind when it comes to making sure your software is a better information system through applying ontology logic to it.</p>
<p>Biggest benefit is a database that not only is easier to handle should information be migrated from one system to the other, but also the API layer can be more streamlined. Ontology-focused infosystems, especially systems that rely on information tagging, are becoming more common these days and API&#8217;s that provide specific information (such as the way Facebook Graph API does) about specific &#8216;class&#8217;, make the system better and more usable as an information source.</p>
<p>Well built information system should allow the user to, for example, get a list of all pet categories, then query the database for all the pets that belong to a certain category and then find a pet with a specific age. Such information traversal can work both ways and in the best cases should cover the entire database and all classes of information stored within the database.</p>
<p>Biggest drawback of such an approach is that while API solutions become more accessible and easy to use, the software itself has to do more work, since database is not designed anymore based on the needs of software, but the needs of information. In some ways this problem can be managed through the separate information retrieval and storage class as described before, however such an approach still makes the software do more work and is certainly slower in execution in comparison.</p>
<p>Being personally involved with developing an information software, a social intranet solution, which relies heavily on ontologies and tagging and entirely separates user interface logic from data logic while all commands are run directly through API and not through within internal software logic, effects of this approach are evident. With certain commands the system can be hundred times slower, requiring either better (and thus more costly) hardware or more internal caching and indexing (methods of storing request results without quering the original database tables again) in order to be effective. But the benefits of information friendly system design far exceed the drawbacks, allowing for dynamic user interfaces and much better information system integration on multiple platforms (on desktop and mobiles both, for example).</p>
<p><strong>Applying ontology methods to a project</strong></p>
<p>As part of the practical work of the course Knowledge Representation and Reasoning, my group (consisting of me, Valeria Gasik and Mehrnoosh Vahdat) developed an ontology to be used for database design for the project IMKEmonster.</p>
<p>IMKEmonster is a feed aggregator and crowdsourced information system for Interactive Media and Knowledge Environments course and its students. Independent from university, IMKEmonster plans to be entirely student-controlled, offering public course feedback, course information, projects and other studies related material.</p>
<p>Originally the database design was based on needs of software, but through the course we decided to apply ontology to database design, separating all the information classes from one another into separate databases. The following is a simple illustration of IMKEmonster information system database design (click for full size):</p>
<div id="attachment_939" class="wp-caption aligncenter" style="width: 310px"><a href="http://waher.net/wp-content/uploads/2011/05/imkemonster.jpg"><img class="size-medium wp-image-939" title="IMKEmonster Database" src="http://waher.net/wp-content/uploads/2011/05/imkemonster-300x276.jpg" alt="IMKEmonster Database" width="300" height="276" /></a><p class="wp-caption-text">IMKEmonster Database</p></div>
<p>IMKEmonster demonstration is currently viewable when visiting imkemonster.com website, which redirects to development website. While database is finalized, the system itself will be open to public starting from autumn 2011.</p>
<p><strong>Conclusion</strong></p>
<p>While ontologies are not similar to the ways our brains store information, they are by far the most logical method of storing information, which can strongly help improve modern database designs and software architecture.</p>
<p>Using ontology for IMKEmonster project both improved the existing solution as well as made sure the information can be easily extended in the future should new courses or project features and other information be added that requires new information slots or other features that were not originally planned. This extendable ability of ontologies is one of the bigger benefits for software development, as it is very similar to object oriented programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/932/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>From Computational Theory of Mind and Distributed Cognition &#8211; a Universal Cognition Theory</title>
		<link>http://waher.net/archives/920</link>
		<comments>http://waher.net/archives/920#comments</comments>
		<pubDate>Fri, 18 Mar 2011 19:37:15 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Master's Studies]]></category>
		<category><![CDATA[cognition]]></category>
		<category><![CDATA[IFI7153]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://waher.net/?p=920</guid>
		<description><![CDATA[The following is a final essay written for Emanuele Bardone&#8217;s course Philosophy of Cognition and mainly focuses on comparing Computational Theory of Mind with Distributed Cognition theory. When it comes to cognition and how mind works, or both how and why we tick the way we do as I like to call it, there are [...]]]></description>
			<content:encoded><![CDATA[<p><em></p>
<div id="attachment_928" class="wp-caption alignright" style="width: 260px"><img class="size-full wp-image-928" title="Hierarchy of a tree" src="http://waher.net/wp-content/uploads/2011/03/tree.jpg" alt="Hierarchy of a tree" width="250" height="291" /><p class="wp-caption-text">Hierarchy of a tree</p></div>
<p>The following is a final essay written for Emanuele Bardone&#8217;s course Philosophy of Cognition and mainly focuses on comparing Computational Theory of Mind with Distributed Cognition theory.</em></p>
<p>When it comes to cognition and how mind works, or both how and why we tick the way we do as I like to call it, there are two known theories that are more known and are subject of many debates: Computational Theory of Mind and Distributed Cognition Theory. Both of these theories are essential parts of modern cognitive sciences &#8211; studies of the process of thought &#8211; and how we make decisions in the environment that we exist in.</p>
<p><span id="more-920"></span>The first theory, strongly rooted in Computer Science, is the Computational Theory of Mind. This theory, by Hilary Putman in 1961 and developed further by Jerry Fodor, argues that the human mind should be considered as an information processing system and that a thought is simply a form of computation. Computational Theory of Mind plays a large part in modern cognitive psychology &#8211; exploring internal mental processes &#8211; and is presumed by theorists of evolutionary psychology &#8211; approach within psychology that defines our mental capabilities as developing similarly to evolutionary biology.</p>
<p>The second theory is Distributed Cognition Theory, a psychological theory developed in 1980s by Edwin Hutchins. This theory relies strongly on the concept that human knowledge and cognition are not confined to the individual and is instead distributed within our environment. One of the key aspects of this theory is that humans use the environment as part of their thought process in order to solve problems and reach various goals, such as scribbling on a piece of paper while solving a math puzzle or using a calculator instead.</p>
<p>In this article I shall be comparing and contrasting these two theories and will attempt, in a way, to argue that the two theories are in many ways similar, if not the same, should we change the scope, with only a couple of key differences of behavior that can be emulated in both of these theories. With this approach I believe I can at least find my own answers to what I believe would be a more unified theory of cognition which involves both of the aforementioned theories,</p>
<p><strong>The Stepping Stone</strong></p>
<p>As mentioned briefly before, Computational Theory of Mind explains that the way our brains work is similar to how computers work. A computer is a single device, be it your laptop or desktop computer or your expensive smartphone. We can manipulate the device through various input methods &#8211; from keyboards to touch screens to cameras &#8211; and it will give us new information or knowledge, or output, in short. Both input and output should be visible and accessible in this process.</p>
<p>The device itself however remains a mystery to its user, Computational Theory of Mind considers the device itself a Black Box. We can assume how it works and we can expect specific output based on known input that has already produced that output earlier &#8211; with same input expected to always produce the same output &#8211; but we do not really see into the device itself and how it operates.</p>
<p>There is a primitive device, originally described in 1937, called the Turing Machine that can also clarify the thoughts behind Computational Theory of Mind. Turing Machine is one of the foundations of Computer Science and it is a theoretical device that manipulates symbols on a strip of tape according to table of rules. In its simplicity, a Turing machine can be adapted to simulate the logic of any computer algorithm.</p>
<p>One of the important concepts of Turing Machine, from cognition standpoint, is that it is digital, working and producing data that consists of 0&#8242;s and 1&#8242;s, in other words, binary numbers. Binary numbers also lead to Boolean Logic, where the number 0 is considered &#8216;false&#8217; and number 1 is considered &#8216;true&#8217;. Storing and processing data in digital format gives it greatest integrity known in nature, since as long as signal exists &#8211; even if very weak &#8211; it can be considered true and if signal does not exist, it is considered false. This similiarity is important because of how brain functions, as it is very similar to firings of neural impulses. There either is a neural impulse, or there is not.</p>
<p>In such a case, Turing Machine and a device built on similar concept should be like a very primitive cognitive black box and argued to be a very primitive brain. It shares similar qualities, as both input and output are visible and accessible, without us really knowing (or having to know) how the brain itself reaches that specific result and outcome. It is very important to recognize the primitive nature of such a &#8216;computer&#8217; system from cognition standpoint, if we are to claim that a computer can work like a mind.</p>
<p>Computational Theory of Mind assumes that the black box includes all the necessary functions to operate in the world, getting all the necessary data from various input devices, going through specific set of functions within the black box and then producing the outcome. Something as complex as brain would go through millions of such processes in quick succession, creating process hierarchies, of sorts, where the more primitive processes feed the more complex ones in order to reach the desired outcome. A good example would be a long mathematical formula that has to be solved step by step before reaching the final answer.</p>
<p>Some of those little tasks are processes that gather information about the environment in order to create a representation of the world within the black box. Gathering clues from the environment, such as recording or analyzing camera video or audio track. Should this process be disturbed, the output will be different, similarly to how alcohol consumption in a human body can disturb sense of balance or vision, leading to unexpected results.</p>
<p>Creating representation of the environment is integral to the way Black Box works, because it needs the data to run the processes and reach the expected output. This type of approach is considered as one of the restrictions of Computational Theory of Mind, which assumes that cognitive capabilities are only stored within that black box and to create a computer that works like a brain, we would only require a sufficiently powerful computer. And while that may be true &#8211; recent research shows that the total computing power of computers in the world is only now reaching the equivalent processing power of a brain &#8211; it is difficult to prove.</p>
<p>Key point of Computational Theory of Mind is that studying the mind &#8211; or the Black Box &#8211; is about studying the rules that manipulate the input and produce the output. In that sense, in Computational Theory of Mind, the only processes that can be accomplished are the ones defined in that black box, which feels like unnecessarily limiting cognitive abilities and potential of the Black Box.</p>
<p><strong>The Staircase</strong></p>
<p>The second major theory is Distributed Cognition Theory. One of the bigger differences between Computational Theory of Mind and Distributed Cognition Theory is that in the latter there is really no concept of Black Box and that cognition is actually distributed and shared across the environment.</p>
<p>The big question put forth by Distributed Cogntition Theory is that if someone uses a calculator to calculate the sum of two numbers and someone else calculates that very same sum in their head, without using a calculator, then is there a difference from cognitive standpoint if the end result is exactly the same?</p>
<p>In Distributed Cognition the environment itself plays a large part of the whole thought process of the agents within that environment and that there is no need to represent the entire world in a black box, as with Computational Theory of Mind. Environment can be used to solve problems and reach the goal as effectively, if not better, than one would with Computational Theory of Mind.</p>
<p>But while Computational Theory of Mind claims that mind engages the environment by holding a complete representation of the world inside, this is one of the key points I personally disagree with. I believe that mind &#8211; or a computer &#8211; optimizes itself as it works to solve problems and it has all the necessary functions within the black box to optimize their input and filter out everything that is irrelevant for specific task. This is an important point to make, because I believe that the same thing happens in Distributed Cognition, except instead of optimizing the audiovisual clues within the environment, in Distributed Cognition the process is also optimized by using other cognitive devices within the environment to solve the same problems. Environment becomes something that Black Box expands their cognitive capabilities with through restricted processes within Black Box itself.</p>
<p>In that sense I see Distributed Cognition as nothing more than an expansion of Computational Theory of Mind.</p>
<p><strong>Universal Cognition Theory</strong></p>
<p>As mentioned earlier, I believe that Distributed Cognition Theory is nothing more than expanded Computational Theory of Mind and that Computational Theory of Mind is simply shortsighted Distributed Cognition Theory.</p>
<p>I shall now attempt to explain how I believe that both theories play a role in larger scale cognition theory that attempts to explain, in simpler terms, how the thought process works for that single Black Box and mankind in whole. In order to do so, I shall explain the concept of hierarchical problem-solving, which is integral to how a complicated system like a brain &#8211; and any device hoping to work like a brain &#8211; work.</p>
<p>The main reason behind every action is to solve problems. Everything we do is entirely about solving a specific problem, we are, by nature, goal-oriented beings. And every big problem, that we may face, can be broken down to multiple smaller problems. And every small problem can be broken down to hundreds of even smaller problems and so on. Each of those problems are being worked on by our brain at all times.</p>
<p>For example, if we wake up in the morning, our biggest goal is to go to work. But we don&#8217;t have a specific function stored in our brain that does this, so this process is broken down to smaller problems, such as putting on clothes, brushing teeth and remembering to pick your car keys with you. And each of those tasks can be broken down to those smaller pieces, such as putting on a single shoe. And even that action alone can be broken down to even smaller problems, such as loosening shoelaces, sliding in the foot and tying the shoelaces up again. This process goes further and further down the hierarchy until the most primitive of functions.</p>
<p>Our brains solve these problems nearly instantly, stacked on top of one another. And it&#8217;s important to mention that those smaller problems serve the purpose of solving the largest problem of all: a successful life, having children and providing for them until they become independent. This means that going to work &#8211; which seemed like a large goal at first &#8211; is minor in comparison.</p>
<p>Same would be true with storing information from the environment according to the problems which we are solving and filter out everything else. Thus we create the relevant representation of the environment according to specific tasks. The reason why this minimal relevant representation of the environment feels more complete than we might assume it is, is because very many smaller problems require certain information from the environment that the main problem we are facing does not, thus painting a more complete picture in our heads that we might assume.</p>
<p>And all this means that in a very primitive state, we can find that something similar to the Turing Machine, described earlier, could solve one of those very small problems, acting as a very primitive Black Box. And as long as we assume that every problem can be broken down to those small pieces, then this would mean that Computational Theory of Mind is, in fact, correct. And Distributed Cognition exists within the same system. What Distributed Cognition does, is give the environment that surrounds the Black Box cognitive capabilities as well, expanding the original concept of Black Box and breaking one of the supposed rules of Black Box &#8211; that it cannot be tinkered with.</p>
<p>But what I believe that Distributed Cognition does is that it takes away the assumed restriction of Computational Theory of Mind&#8217;s Black Box concept, allowing that black box to solve problems using other Black Boxes in the environment. If we face a problem of reaching specific location in city, we can use a map, ask a friend or use a smartphone to find the location and navigate there. Thus the larger problem of finding the location stays the same and the only thing that changes is the cognitive process used to solve the problem. From Black Box&#8217; standpoint, this means that the smaller problems that are being solved will be very different.</p>
<p>What Distributed Cognition really means is that if we step further up in the hierarchy of problems, then the problems in lower hierarchies can change and if it does not affect the final outcome, then it should not matter if the cognitive process is different at all, even if it is processed within a single Black Box or within the cooperation of multiple. While Computational Theory of Mind only really deals with specific set of problems that can be solved by a single black box and is thus restricted by it, a restriction that is removed by Distributed Cognition. In the large scale of cognitive processes the end just might justify the means.</p>
<p>The example of a single person using another device, such as a calculator, to solve a problem is however very miniscule example of what Distributed Cognition is really about. Assuming that the previous paragraph is true, it is easy to expand this concept and also expand the hierarchy of problems that are being solved through cognition. If we now take a step back and look at life from a perspective of more than single individual, perhaps looking at a family that lives together, then they too work as a Distributed Cognition entity. Each dealing with smaller and smaller problems, but all together working also on larger problems of having a happy family and safe future.</p>
<p>And we can step back even further, looking at a town of people as a Distributed Cognition entity who work in different locations, share houses on town streets or use the same supermarket. Or we can expand it further to an entire country of people full of millions of these bigger Black Boxes and billions of smaller Black Boxes, all working as a Distributed Cognition entity to solve problems both indirectly and directly relevant to the country. This can be expanded even further, since I believe that we can look at the planet in whole as a large Distributed Cognition system, where the hierarchy of problems is now in such a high level that existence of a single Black Box, or a human, is as insignificant to solution at that scale as how to tie a shoelace was to the man trying to go to work.</p>
<p>In a way I believe that such cognitive impulses are driven by nature and life in whole. The biggest goal of life is evident from the natures equivalent of a Turing Machine: various miniscule bacteria and smallest of creatures that serve the very specific and limited goals of life, even if they are not self-aware and don&#8217;t have cognition in the way we define it. Thus we also cannot assume that a problem is ever expected to be solved by a single Black Box. Life of a single human can be no more than just another complicated process with a beginning and an end within a much larger problem solving, large scale cognitive process of evolution of mankind.</p>
<p><strong>Conclusions</strong></p>
<p>Taking into account everything I&#8217;ve learned about Computational Theory of Mind and Distributed Cognition, I do believe that a device like a computer can effectively work like a mind, for I don&#8217;t believe that Distributed Cognition has invalidated what Computational Theory of Mind argues. While I found myself feeling somewhat restricted by the certain limits of Computational Theory of Mind, which I felt were invalid &#8211; such as the requirement for complete representation of the environment &#8211; I believe that the core idea of the theory is as valid as it has ever been.</p>
<p>I&#8217;ve found that Distributed Cognition is such a fascinating concept that is both flexible and useful when applied to finding solutions or explanations to various Cognitive Processes. While I was skeptical at first, strongly believing Computational Theory of Mind to be the only true answer, I now realize that Distributed Cognition plays perhaps as large a role to our cognitive processes, especially during the time where computers are used to solve problems more often than they have been ever before.</p>
<p>Because of Distributed Cognition, I believe that processes of cognition from a single entity, human or so-called Black Box up to the entire planet full of people can be explained by both the hierarchical problems, as well as hierarchical way a computer would solve those problems or gain information about the environment.</p>
<p>I also realized that the two concepts themselves cannot just be compared, for I believe that Distributed Cognition simply expands the Computational Theory of Mind by removing some of its restrictions and opening it to shared and networked world of problem-solving that I believe is integral part of life as a phenomenon in this universe. It is almost ironic that from the perspective of planet, what we consider as sign of intelligence and our idea of self-awareness, plays no role in such a large scale anymore. No bigger a role than how important a miniscule bacteria would consider their self-awareness.</p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/920/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hearts and Aliens and Seven Bananas</title>
		<link>http://waher.net/archives/904</link>
		<comments>http://waher.net/archives/904#comments</comments>
		<pubDate>Wed, 16 Mar 2011 22:37:15 +0000</pubDate>
		<dc:creator>Kristo Vaher</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://waher.net/?p=904</guid>
		<description><![CDATA[There&#8217;s this wonderful little snippet of information saying that if you eat seven bananas in succession, that&#8217;s it: you&#8217;re likely going to drop dead. This is because bananas include potassium, which can poison you, if consumed in large quantities. But as weird as that may sound, it makes you think about trying it out, doesn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_908" class="wp-caption alignright" style="width: 260px"><img class="size-full wp-image-908" title="Mmm" src="http://waher.net/wp-content/uploads/2011/03/deathtrap.jpg" alt="" width="250" height="168" /><p class="wp-caption-text">Tasty!</p></div>
<p>There&#8217;s this wonderful little snippet of information saying that if you eat seven bananas in succession, that&#8217;s it: <strong>you&#8217;re likely going to drop dead</strong>. This is because bananas include <a title="Wikipedia article about Potassium" href="http://en.wikipedia.org/wiki/Potassium" target="_blank">potassium</a>, which can poison you, if consumed in large quantities. But as weird as that may sound, it makes you think about trying it out, doesn&#8217;t it? As you are reading this, you are already thinking back in your head if you have eaten that many bananas in succession?</p>
<p><span id="more-904"></span>I recently saw an episode of Derren Brown which discussed the phenomena of negative suggestion that is behind those thoughts, about how a person, if told that they are not allowed to push a button, will still end up pushing it given enough time. This is especially prominent among children. If you take a box, even an empty box and take it to a room that includes a child and specifically tell them not to open the box, sooner or later they will open it.</p>
<p>Negative suggestion is driven by <em>&#8216;curiosity kills the cat</em>&#8216; phenomena, because as we are experiencing life, we interact with the environment at all times, solving problems and looking for clues to solve even more problems. However, there&#8217;s a reason why negative suggestion works far more with children, than it does with adults. You are thinking about perhaps trying to eat those seven bananas, but an average child, right now, would be on their second banana already. This is likely because we are all world conquerors by birthright, wanting to experience life and try out everything that we find interesting, especially if special attention is given to something like that. That&#8217;s why I put a fork into a socket when I was a kid, despite people telling me not to. I did not know what will happen, because I did not experience it myself. <em>Now I know.</em></p>
<p>And most people have not thought about it this way, but as the child grows older, they face a critical point of negative suggestion during their period of becoming an adult, their teen years, which are full of negative suggestions by their parents and teachers. <em>Do not stay out late! Don&#8217;t drink alcohol! Do not listen to that kind of music!</em> It&#8217;s all about negative suggestion and as a result, the young teen is simply more likely to do the opposite, because at that point they are still free, living in a world where they experience life with very few duties and constraints.</p>
<p>As those world conquerors, we don&#8217;t want to experience life through  people telling us what to do and what not to do. A life experienced is always more than a life read about and we don&#8217;t want to become aliens to our own human experience. We want to experience  it ourselves: deep inside we want to both <strong>succeed and fail at the same  time</strong>, because that builds character and makes us different. But as we break through that early teen period and face the life of independence, we become constrained by our work, our higher education and our duties, because failure is almost never considered beneficial in <em>real life</em>, it fails to pay the bills and fails to keep the food on the table.</p>
<p>Suddenly the negative suggestion that the everyone in the world was placing on our heads becomes something we do ourselves. And constraints happen even by our close friends or that sparkling girl or a guy you&#8217;re trying to impress, as we fear that making a mistake will make them disappointed in us. In a way, we become broken down by the world that is full of negative suggestion and begin channeling the same message &#8211; to our own children, friends and family. And to ourselves.</p>
<p>And then we end up <em>sharing life, </em>what&#8217;s left of it, with our friends and family to validate  who we are, talking about smaller and insignificant details of our lives  in great detail to make us feel better, while at the same time continuously finding  reasons and excuses to not do the things that would otherwise be an  experience. We are left with having a faint memory of our childhood freedom in moments we happen upon a simple quote, considering <a href="http://en.wikipedia.org/wiki/Ralph_Waldo_Emerson" target="_blank">Ralph Waldo Emerson</a> so wise a man, when he said that<em> &#8216;always do what you are afraid to do&#8217;.</em> But all he does is simply state the obvious.</p>
<p>It&#8217;s not just about our life, what it comes down to is that we are at risk of losing our heart and what drives us, while trying to protect it from life&#8217;s experiences in fear of getting hurt. But life is measured by the total sum of our emotions driven by these uncertain experiences &#8211; both good and bad. If you want to become an actor, stop talking about it and go and try. If you think it is great to try and jump out of an airplane someday, don&#8217;t postpone it, just go for it, I could even give you contacts if you&#8217;re in Estonia. If you want to find love, take the damn shields down and open your eyes. Only thing that will happen is an experience.</p>
<p>So I wish you a great day doing something that people tell you not to do  : )</p>
<p><em>PS! And just in case you are wondering, you can eat seven bananas and still  live, according to these white-coated smart guys the number is a bit higher  than seven bananas. But now that I said this, removing negative  suggestion, it suddenly became less exciting, did it not?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://waher.net/archives/904/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

