<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7024454949672391798</id><updated>2012-01-27T00:48:29.892+01:00</updated><category term='linux'/><category term='steering'/><category term='Visualization'/><category term='law'/><category term='Xorg'/><category term='Tech'/><category term='graphics'/><category term='wayland'/><category term='sfd'/><category term='input'/><category term='open source'/><category term='algorithms'/><category term='StreamInput'/><category term='street view'/><category term='chrome'/><category term='suse'/><category term='ad'/><category term='interface'/><category term='sorting algorithms'/><category term='CHI'/><category term='free software'/><category term='human computer interaction'/><category term='interaction'/><category term='fitts'/><category term='sensors'/><category term='browser'/><category term='kernel'/><category term='computer'/><category term='mental models'/><category term='adverts'/><category term='informatiq'/><category term='openSUSE'/><category term='Khronos'/><category term='monopole'/><category term='OS'/><category term='google'/><category term='human'/><title type='text'>HCI Research &amp; Tech.</title><subtitle type='html'>Human-Computer Interaction is a very interesting domain. Everyone using a computer is surely facing some of the concepts. Most of times without detecting it.
In this blog I present some technologies and reviews in this area and about my work.
(The blog is from 2007, first articles were off-topic)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-7592399925661171994</id><published>2011-12-13T17:38:00.000+01:00</published><updated>2011-12-13T21:38:00.966+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='StreamInput'/><category scheme='http://www.blogger.com/atom/ns#' term='CHI'/><category scheme='http://www.blogger.com/atom/ns#' term='input'/><category scheme='http://www.blogger.com/atom/ns#' term='sensors'/><category scheme='http://www.blogger.com/atom/ns#' term='Khronos'/><category scheme='http://www.blogger.com/atom/ns#' term='human computer interaction'/><title type='text'>Input Pipelines and Sensors Flow Soup</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-R1pL09mxd-Q/TuYJHkEtCDI/AAAAAAAAB-w/7AYzqyuuu5k/s1600/problem.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-R1pL09mxd-Q/TuYJHkEtCDI/AAAAAAAAB-w/7AYzqyuuu5k/s400/problem.png" width="218" /&gt;&lt;/a&gt;&lt;/div&gt;Fig 1. Input Layer Abstraction&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;By convention, Input devices are the&amp;nbsp;peripherals&amp;nbsp;which detect a human user input.&amp;nbsp;And sensors are those which detect the&amp;nbsp;environmental&amp;nbsp;variation, related or not to the human.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Despite the&amp;nbsp;existence&amp;nbsp;of other definitions, both Input devices and sensors are needed to provide rich interaction with the user and allowing him to accomplish the tasks he want in less time.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Input devices can be the keyboard and the mouse and almost every application supports them but the definition also include touch and multitouch screens, touchpad, joysticks, etc.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;From a wider point of view, keyboard and mouse seems to be two constant: K1, K2. They are modeled in operating systems using &lt;a href="http://www.billbuxton.com/3state.html" target="_blank"&gt;Finite State Machines&lt;/a&gt; and they are routed to the application without too much alteration of their original content. (Except the transformation of raw codes to ascii or unicode ones for example)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;The "Why"&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Operating systems, and I'll take Linux as an example, have abstraction layers to handle the input. Every peripherals generating key clicks is seen as a keyboard. For touchpads, mice, touchscreens, pen, etc they are attached to a virtual pointer device, and are handled as a conventional mouse.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Device drivers may generate other information (finger blob size, blob orientation, etc.) but they are all eliminated and don't reach the application.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Last years, we have faced the emergence of an 1.&lt;u&gt;unlimited number of input devices and sensors, each of them provide very different information&lt;/u&gt;. And in the other side, 2.&lt;u&gt;rich application, exposing a lot of features&lt;/u&gt;, or which have more dimensional variables than ones found in a single input device (3d object control in 3d environment).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;With these 2 poles, the problem becomes obvious:&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;Why is the operating system preventing us from using all devices capabilities inside our rich applications ?&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ok, let's fix this and answer the question with another :&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;Do you have another solution for &lt;b&gt;mapping&lt;/b&gt;&amp;nbsp;input events to application &lt;b&gt;features&lt;/b&gt; ?&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Mapping Input events&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Before speaking about mapping, we should study the input itself even taking few examples.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Touchpads have their input considered as a compatible&amp;nbsp;form&lt;span class="Apple-style-span" style="text-align: center;"&gt;&amp;nbsp;of mouse input. But their brute information comes very noisy. When using direct input your pointer moves in a similar way of a Parkinson disease patient. The developers of X.org have added a "&lt;b&gt;filter"&amp;nbsp;&lt;/b&gt;which smooths the movement (named&amp;nbsp;&lt;/span&gt;"Response-augmented Exponentially Weighted Moving Average Filter").&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Speaking about mouse input, the X.org add also another "&lt;b&gt;filter"&lt;/b&gt; that alter the smoothed input to &lt;a href="http://www.x.org/wiki/Development/Documentation/PointerAcceleration" target="_blank"&gt;accelerate its movement&lt;/a&gt;, so you a user don't need to slide a lot of times to move the pointer in bigger screens.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And let's imagine that this flow represented in Fig 2. finishes as an input to control the camera in a 3D scene:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="http://3.bp.blogspot.com/-PnMKGYhogDI/TucnhXQ966I/AAAAAAAAB-4/ArNJJD6ZW3k/s1600/flow.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://3.bp.blogspot.com/-PnMKGYhogDI/TucnhXQ966I/AAAAAAAAB-4/ArNJJD6ZW3k/s640/flow.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Fig 2.&amp;nbsp;Input Flow to control a 3D scene&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;From the last representation, the input system can be seen as a flow and in each point, the input got transformed before being routed to the application. The 3D scene itself takes that input and maps it internally to control the camera view.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The problem in this case is that, what if you want that your management meets the standard and won't be considered as a hack? You can't avoid the virtual pointer, and you can't avoid this predefined set of filters. You can't also select the manner of which the input can be mapped inside the application ( mouse(x,y) → scene(x,y)&amp;nbsp;or → scene(y,z) etc.)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Another problem is that, some filters are inside the input device driver, other are inside the Input layer, and the rest belongs to the application. And all of them are hardly written and can't be changed or remapped without recompilation of the full stack.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Any time we have a new device or new events to support in the system, we keep asking this question:&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;How we will fit the new device input inside this flow with minimum effort and the least loss of information ?&amp;nbsp;&amp;nbsp;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Rethinking All the Stack&lt;/b&gt;&lt;br /&gt;In 2009, I have discovered all of this and I have found some efforts to simplify input management. Just having the ability to imagine a possible change is a lot of bravery... For a system developer who only use a keyboard, why he should think about rewriting everything ? That's a lot of work man !&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;From the last figures, we can imagine that filters should be extracted outside of device drivers, and from any predefined flow in a system, and we can play with them to modify and transform raw input to any useful form.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The flow becomes a general graph, where a sensor input can control how much a filter transforms a device stream to another. For real-time and other needs we may add also a universal timing to master how much each filter takes time for his computation.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-mJBIjhaKD8A/TudVGSzN22I/AAAAAAAAB_I/pAqbuQwwrpA/s320/2011-streaminput.jpg" width="271" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Fig 3. Input Flow as represented by &lt;a href="http://www.khronos.org/streaminput/" target="_blank"&gt;StreamInput&lt;/a&gt; Khronos Model.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;b&gt;What about applications ?&lt;/b&gt;&lt;br /&gt;Legacy applications takes only two sort of input : Keyboard and Mouse. These two inputs still very limited to what is possible to do. But We have already have filters which route information through them including keyboard mapping transformers (possibility to write in Arabic/French/Chinese with the same keyboard), mutlitouch injectors in legacy apps like &lt;a href="https://launchpad.net/ginn" target="_blank"&gt;Ginn&lt;/a&gt;&amp;nbsp;(included in ubuntu), or whatever else.&lt;br /&gt;&lt;br /&gt;But wait, shouldn't we rethink the application itself ? Why they don't expose their&amp;nbsp;functionalities through a Software Bus, where we have the freedom to connect filters' input&amp;nbsp;to the specific action to be performed?&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--nXtD3aNjbQ/TudMCPEgGjI/AAAAAAAAB_A/7hvsX8k6mkc/s1600/app.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="140" src="http://2.bp.blogspot.com/--nXtD3aNjbQ/TudMCPEgGjI/AAAAAAAAB_A/7hvsX8k6mkc/s320/app.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Fig 4. Rethinking application input&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;By doing this the biggest work will become the mapping. And we will need to search best ways to do it to perform user goals in better ways.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Scientifi&lt;/b&gt;&lt;b&gt;c background ?&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A lot of scientific research have studied these problems. But each of them tried to fix either the input flow, or the best mapping. But not all the cycle from and to the user.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For the Input configuration you can see the work of Pierre Dragicevic : &lt;a href="http://inputconf.sourceforge.net/" target="_blank"&gt;iCon&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Another interesting thesis is the one by Rami Ajaj (&lt;a href="http://archives.limsi.fr/Individu/ajaj/publications/these.pdf" target="_blank"&gt;PhD&lt;/a&gt; in French)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;Theoretical and architectural support&amp;nbsp;for input device adaptation &lt;a href="http://theoretical%20and%20architectural%20support%20for%20input%20device%20adaptatio/" target="_blank"&gt;paper&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A lot of other notable exist but I can't cite it all.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;And for a deep study of mapping and to understand the need of filters, it is mandatory to study what is an input device, a sensor, do some&amp;nbsp;&lt;a href="http://www2.parc.com/istl/groups/uir/publications/items/UIR-1991-02-Card-TOIS-Morphological.pdf" style="text-align: center;" target="_blank"&gt;morphological analysis of their design space&lt;/a&gt;, study actual&amp;nbsp;&lt;a href="http://www.usb.org/developers/devclass_docs/HID1_11.pdf" target="_blank"&gt;standards implemented&lt;/a&gt; in operating systems and describing a large spectrum of devices and &lt;a href="http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf" target="_blank"&gt;usages&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;(I have skipped many research areas related to this subject to keep this post clear and simple.)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-7592399925661171994?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/7592399925661171994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=7592399925661171994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/7592399925661171994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/7592399925661171994'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2011/12/input-pipelines-and-sensors-flow-soup.html' title='Input Pipelines and Sensors Flow Soup'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-R1pL09mxd-Q/TuYJHkEtCDI/AAAAAAAAB-w/7AYzqyuuu5k/s72-c/problem.png' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Rond-point Pierre Aigrain, 29280 Plouzané, France</georss:featurename><georss:point>48.35914343490456 -4.570634365081787</georss:point><georss:box>48.35782443490456 -4.573101865081787 48.36046243490456 -4.568166865081787</georss:box></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-7721707819013021683</id><published>2011-12-07T17:29:00.001+01:00</published><updated>2011-12-13T14:33:29.973+01:00</updated><title type='text'>Knowledge Grows When Shared</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Long Time !&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Many things happened and I haven't blogged about them !&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Let's see if I can fill the gap...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-7721707819013021683?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/7721707819013021683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=7721707819013021683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/7721707819013021683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/7721707819013021683'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2011/12/knowledge-grows-when-shared.html' title='Knowledge Grows When Shared'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-5706338144047334946</id><published>2010-01-16T15:16:00.002+01:00</published><updated>2011-09-17T15:50:47.081+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CHI'/><category scheme='http://www.blogger.com/atom/ns#' term='chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='human computer interaction'/><category scheme='http://www.blogger.com/atom/ns#' term='fitts'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Reviewing the Google Chrome</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Google has invested a huge quantity of money and marketing for its Chrome browser. Sometimes people install it then use it without knowing that they changed their browser, by having only followed the link in the top right.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zsF4khvOR6o/Tm_Ibx9TuYI/AAAAAAAABn4/dl2VWiAM4qs/s1600/GoogChrome-704135.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://4.bp.blogspot.com/-zsF4khvOR6o/Tm_Ibx9TuYI/AAAAAAAABn4/dl2VWiAM4qs/s320/GoogChrome-704135.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;People install Chrome by clicking the link in Google page.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;Many computer engineers know that this navigator has many advantages and technological power as being the fastest browser (for its Javascript interpreter/PseudoCompiler, and also from a usability PoV), the use of the best html/CSS engine (webkit), the SKIA library for showing graphics (few people know about this library now being called/integrated as chromium, firefox itself use cairo for rendering).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;So, after all of this, is it only a bunch of technology assembled in disorder ?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif;"&gt;From my point of view, and after having some human computer interaction courses, I started to view things in a different ways. And I have detected these points :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;The application of Fitts Law&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0scXdzmXh74/Tm_SACfyTaI/AAAAAAAABpE/YyOUNEklW9c/s1600/fittsTabs-785675.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="61" src="http://1.bp.blogspot.com/-0scXdzmXh74/Tm_SACfyTaI/AAAAAAAABpE/YyOUNEklW9c/s320/fittsTabs-785675.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Tabs are placed in the top of the screen, so the virtual growth of buttons are bigger, and we can switch tabs a lot easier than the traditional way.&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Apple use the same law from ages having always the menu in the top of the screen)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Reducing human errors&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-8ulTUTovUiA/Tm_S0fYKexI/AAAAAAAABpI/D4Z-ULGhBsw/s1600/closingTabs1-736549.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="17" src="http://1.bp.blogspot.com/-8ulTUTovUiA/Tm_S0fYKexI/AAAAAAAABpI/D4Z-ULGhBsw/s320/closingTabs1-736549.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;People can make errors easily when trying to switch from one tab to another, when the width of the tab is too small, the probability of making the mistake of closing the tab rather than switching to it.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Google removes the close button when the tabs width is too small.&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Better feedback&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-mK6BGtc5SVs/Tm_TNmECpaI/AAAAAAAABpU/TZYFAuzGzhw/s1600/searching-774650.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" src="http://4.bp.blogspot.com/-mK6BGtc5SVs/Tm_TNmECpaI/AAAAAAAABpU/TZYFAuzGzhw/s320/searching-774650.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;I really enjoyed the search function, when I search Google tries to indicate the word positions inside the document but also in the right and exactly in the sliding bar.&amp;nbsp;Every small yellow line indicates the word position.&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Better use of the screen&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nOVwJxCvaGw/Tm_TTriY0yI/AAAAAAAABpY/bDGTrbaCp2Y/s1600/screen-702988.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://2.bp.blogspot.com/-nOVwJxCvaGw/Tm_TTriY0yI/AAAAAAAABpY/bDGTrbaCp2Y/s320/screen-702988.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;In Chrome, all the screen is used, no status bars, when there is a need to show something, it is shown using the needed place.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Better interaction :&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GQNVF12FbDE/Tm_TEfLxPOI/AAAAAAAABpM/pNMaTEjyXPA/s1600/closingTabs2-783160.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="17" src="http://4.bp.blogspot.com/-GQNVF12FbDE/Tm_TEfLxPOI/AAAAAAAABpM/pNMaTEjyXPA/s320/closingTabs2-783160.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-GfQXwJmcf4E/Tm_TEn70D_I/AAAAAAAABpQ/30H1zk-41D0/s1600/closingTabs3-798569.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="17" src="http://1.bp.blogspot.com/-GfQXwJmcf4E/Tm_TEn70D_I/AAAAAAAABpQ/30H1zk-41D0/s320/closingTabs3-798569.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: auto;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;When closing a tab, the next close button comes to the current mouse cursor to facilitate closing others. (closing tab is contagious ?)&lt;/div&gt;&lt;div style="text-align: center;"&gt;The tabs are redrawn only when you move your mouse outside the tabs.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-gAz0DZibj_0/Tm_TZYB84xI/AAAAAAAABpc/81L0X46ffN0/s1600/input-714299.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="26" src="http://2.bp.blogspot.com/-gAz0DZibj_0/Tm_TZYB84xI/AAAAAAAABpc/81L0X46ffN0/s320/input-714299.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Being different form Firefox, Chrome have only one place to enter urls, text search and every things.&lt;/div&gt;&lt;div style="text-align: center;"&gt;The browser is intelligent enough to know what the user wants.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;&lt;b&gt;Better usability :&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DWysWkeeenY/Tm_TdK_b8gI/AAAAAAAABpg/e9Eh6XfnnDI/s1600/inputText-704695.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-DWysWkeeenY/Tm_TdK_b8gI/AAAAAAAABpg/e9Eh6XfnnDI/s320/inputText-704695.png" width="304" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;In Chrome, every text input is resizable. When it is not wide as you need, just make it bigger.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Many other details exist (I speak about "Chrome only" features) and needs to be cited here, but these are the most important one.&lt;/div&gt;&lt;div style="text-align: left;"&gt;This doesn't mean that Chrome is perfect. It has some problems dealing with RTL texts like Arabic sites that aren't shown correctly.&lt;/div&gt;&lt;div style="text-align: left;"&gt;And the recovering of a crashed/closed browser (it exists but I feel it very bad). Some times I can't see the recovering button but in Firefox it is always present after a crash.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-5706338144047334946?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/5706338144047334946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=5706338144047334946' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/5706338144047334946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/5706338144047334946'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2010/01/reviewing-google-chrome.html' title='Reviewing the Google Chrome'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zsF4khvOR6o/Tm_Ibx9TuYI/AAAAAAAABn4/dl2VWiAM4qs/s72-c/GoogChrome-704135.PNG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-1924932185577786276</id><published>2010-01-16T14:02:00.000+01:00</published><updated>2011-09-14T00:09:45.923+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='CHI'/><category scheme='http://www.blogger.com/atom/ns#' term='sorting algorithms'/><category scheme='http://www.blogger.com/atom/ns#' term='Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='mental models'/><category scheme='http://www.blogger.com/atom/ns#' term='human computer interaction'/><title type='text'>Visualization of Algorithms, how should it be ?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Last days, while I was teaching a student some sorting algorithms. I asked myself how can I explain it the easiest way. The evident solution was to use some visualization tips.&lt;br /&gt;OK OK, I say some "InfoViz", but then, the big question would stay the same : HOW ?&lt;br /&gt;&lt;br /&gt;According to the human-computer interaction course I have got, Humans don't react like machine, they should have "Mental Models" to manipulate information and resolve problems. We don't have one Human mental model but we are sure about some reactions.&lt;br /&gt;According to (&lt;a href="http://www.blogger.com/goog_1263642477220"&gt;Philip&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; font-weight: normal; line-height: normal;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Philip_Johnson-Laird"&gt;&amp;nbsp;Johnson-Laird&lt;/a&gt;, 1983), humans need examples to how a mathematical functions work (hmmm, we don't speak about math nerds here...), so when we see a formula, we need to play it on some examples in order to construct our mental model.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; font-weight: normal; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.nihilogic.dk/labs/sorting_visualization/"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-O_9kmptOdaI/Tm_Ukh-5KmI/AAAAAAAABpw/3GDolAwggIw/s1600/BubbleSort-779378.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Visualization of BubbleSort algorithm on a sample data.&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; font-weight: normal; line-height: normal;"&gt;So, to understand an algorithm, we should see it running on a sample data step by step, and then we should select the best data to not fall in a trivial example and this is another problem...&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; font-weight: normal; line-height: normal;"&gt;But, why we don't add a step in between ?&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;We have the algorithm coded in some language in one side, and the algorithm running in the other side.&lt;br /&gt;Maybe adding the visualization of the algorithm itself can help the reader constructing quickly his mental model and reducing the time needed to see the algorithm running on data.&lt;br /&gt;&lt;br /&gt;Some people tried to visualize algorithms by translating loops directly using schematics like these :&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.cise.ufl.edu/~mssz/CompOrg/CDA-arith.html"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-MxoBVc9W3xw/Tm_UU0WyG_I/AAAAAAAABps/9yk78hPSCgU/s320/PencilPaper-720435.gif" width="285" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Explaining the multiplication µAlgorithm inside the µProcessor and introducing the Booth Algorithm.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0nwf9UwA_9c/Tm_UBdVG_PI/AAAAAAAABpk/rdB898iZ7HQ/s1600/bubble2-705263.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-0nwf9UwA_9c/Tm_UBdVG_PI/AAAAAAAABpk/rdB898iZ7HQ/s1600/bubble2-705263.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Another almost useless technique for visualization I have seen in a site&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;But can we mix the algorithm itself and the data manipulation in the same place ? I have produced this figure from my own thoughts but really, we should think in a new way than everybody is following.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-k7yMtUtlmnc/Tm_UGxZFnUI/AAAAAAAABpo/HmdCzZ6UVVc/s1600/bubbleViz-727386.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-k7yMtUtlmnc/Tm_UGxZFnUI/AAAAAAAABpo/HmdCzZ6UVVc/s1600/bubbleViz-727386.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Searching for a new and better figures to help construct quickly the mental model.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;In the last figure, arrows explain movement, the limits are nicely seen and understood, and it is clear that the second variable start its position from i and not from zero.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Can we ameliorate this figure and prove this way of representation scientifically ?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Maybe it can be a good point to start from.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;:)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-1924932185577786276?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/1924932185577786276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=1924932185577786276' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/1924932185577786276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/1924932185577786276'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2010/01/visualization-of-algorithms-how-should.html' title='Visualization of Algorithms, how should it be ?'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-O_9kmptOdaI/Tm_Ukh-5KmI/AAAAAAAABpw/3GDolAwggIw/s72-c/BubbleSort-779378.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-189971333366506434</id><published>2009-12-26T09:43:00.001+01:00</published><updated>2011-09-14T00:12:21.241+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='steering'/><category scheme='http://www.blogger.com/atom/ns#' term='law'/><category scheme='http://www.blogger.com/atom/ns#' term='openSUSE'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='interaction'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><category scheme='http://www.blogger.com/atom/ns#' term='suse'/><category scheme='http://www.blogger.com/atom/ns#' term='human'/><category scheme='http://www.blogger.com/atom/ns#' term='fitts'/><title type='text'>Fitts' Law, a small presentation</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;One of the most known and applied laws of Human-Computer Interaction is the Fitts' law. A good interface should optimize and reduce the time presented by this formula :&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Fitts's_law"&gt;&lt;img border="0" src="http://upload.wikimedia.org/math/e/7/e/e7e6cee6e7664d150f8db606c7f6fc02.png" /&gt;&lt;/a&gt;&lt;/div&gt;"a" and "b" are only two constants, defined by the used hardware properties like a mouse. D is the distance from the object and W is the object width.&lt;br /&gt;I want only to say that this is only the first formula, many other derviate ones exist.&lt;br /&gt;&lt;br /&gt;The most important is how to design interfaces to optimize the time to select an object. I want to present the openSUSE menu where the developers have applied this :&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/-71vl5dx9YNc/Tm_VKyY-beI/AAAAAAAABp4/M-VkTTuFqFc/s1600/suseMenu-748313.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-71vl5dx9YNc/Tm_VKyY-beI/AAAAAAAABp4/M-VkTTuFqFc/s320/suseMenu-748313.png" width="205" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-0MeqiW-NUls/Tm_VJxGcQLI/AAAAAAAABp0/ngUYx1_XjL0/s1600/suseMenu1-768914.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-0MeqiW-NUls/Tm_VJxGcQLI/AAAAAAAABp0/ngUYx1_XjL0/s320/suseMenu1-768914.png" width="203" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I've clicked in Developpement option, all the menu has changed.&lt;/div&gt;&lt;div&gt;Being different from a "standard" menu, the user haven't to move his mouse by width, but only up and down and no new menu windows are created. So less mouse movement.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this precise example, not only the Fitts' law is applied, but also the Steering Law (&lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;a class="mw-redirect" href="http://en.wikipedia.org/wiki/Accot-Zhai_steering_law" style="background-attachment: initial; background-clip: initial; background-color: initial; background-image: none; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #002bb8; text-decoration: none;" title="Accot-Zhai steering law"&gt;Accot-Zhai&lt;/a&gt;&lt;span style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: medium; line-height: normal;"&gt;This is just an introduction, and presentation for a small example, but I will to show interface features in other projects.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-189971333366506434?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/189971333366506434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=189971333366506434' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/189971333366506434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/189971333366506434'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2009/12/fitts-law-small-presentation.html' title='Fitts&apos; Law, a small presentation'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-71vl5dx9YNc/Tm_VKyY-beI/AAAAAAAABp4/M-VkTTuFqFc/s72-c/suseMenu-748313.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-6440409032100730453</id><published>2009-11-14T04:23:00.001+01:00</published><updated>2011-09-14T00:13:27.869+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS'/><category scheme='http://www.blogger.com/atom/ns#' term='Xorg'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='wayland'/><title type='text'>Linux Graphics, Part one</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;In this small post, I will speak about the Linux Graphic Stack and changes being addressed to it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;It is very clear, that the most thing that should change in Unix systems are the graphics. Most Unix systems use Xorg to handle all their graphics. I really think that is a very bad and old solution that should be changed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif; font-size: x-large;"&gt;The Past&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;To make things looking clear, lets compare the architecture of the current implementations :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zFKYYLDPkZo/Tm_VcpuReAI/AAAAAAAABp8/8iAKeP4XEMo/s1600/current-757957.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="258" src="http://4.bp.blogspot.com/-zFKYYLDPkZo/Tm_VcpuReAI/AAAAAAAABp8/8iAKeP4XEMo/s320/current-757957.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;In almost any Unix-like system, if we use Xorg it will be the layer responsible from low level graphics to some more advanced features. So it is doing a job which &lt;b&gt;only&lt;/b&gt; the kernel should be responsible for.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Even graphics card drivers, they are made for every Xorg release and not for a Linux release.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;If we add to this that X releases are not as frequent as the two other layers, we can conclude that the Linux graphics mechanism is the&amp;nbsp;Achilles' heel of all the system.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif;"&gt;Future&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;The future may be a lot better. With the include of the Kernel Mode Setting [1] in last Linux kernels (from 2.6.29) and specially in the 2.6.31, the kernel start getting his real role of the only thing accessing low level hardware.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;The KMS allow less flicker, quicker terminal switching (with Ctrl-Alt-F1 to F7) and more.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Another feature is the ability to run Xserver itself as a normal application without root privileges. And allowing more security.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-8k_dmrs65SU/Tm_VgdgEUAI/AAAAAAAABqA/ePtjq0M2zjA/s1600/next-795306.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-8k_dmrs65SU/Tm_VgdgEUAI/AAAAAAAABqA/ePtjq0M2zjA/s1600/next-795306.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;This start to let the Kernel do his job, is only the start. The Linux kernel 2.6.33 will include more work done to provide more low level handling : a KMS page-flipping ioctl [2] to optimize more and more time, and simplify management for other systems.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;The page-flipping is a necessary thing for other projects like the Wayland Server, which is a lightweight&amp;nbsp;replacement&amp;nbsp;of X (and not a rewrite of it).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Xorg has become very old, new models of graphics and inputs come and its becoming more and more complex to make X supports them all.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Multi-touch input is a main area where X can't provide a good solution for that. Even Multi-pointer-X still doesn't answer all questions.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Wayland can become a solution if we design it having all new today problems in mind. It should be lightweight and easy to develop. After that, libraries like Nokia Qt could be easily ported to it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;The thing that everybody should know is that when a project becomes very old, with code that can't be understood, and huge, then it should be rewritten from scratch.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;KDE developers faced many critics when they started rewriting KDE to release KDE4. But in the end, we now after releasing a "clean" desktop environment, we start seeing differences.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;The design of Wayland, shouldn't be addressed without proposing a model being a skeleton of all manners of view surfaces and abstraction behind that. A recent paper [3] collected most of problems and it need to be applied on a real world implementation like Wayland.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;&lt;b&gt;&lt;i&gt;To be continued...&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: right;"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial; font-size: 13px;"&gt;&lt;b&gt;Links :&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: Arial; font-size: 13px;"&gt;[1] &lt;a href="http://en.wikipedia.org/wiki/Mode-setting"&gt;http://en.wikipedia.org/wiki/Mode-setting&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;[2] &lt;a href="http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NzY5OA"&gt;http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NzY5OA&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;[3] &lt;a href="http://portal.acm.org/citation.cfm?id=1629826.1629828&amp;amp;coll=Portal&amp;amp;dl=GUIDE&amp;amp;CFID=61492784&amp;amp;CFTOKEN=12278186"&gt;http://portal.acm.org/citation.cfm?id=1629826.1629828&amp;amp;coll=Portal&amp;amp;dl=GUIDE&amp;amp;CFID=61492784&amp;amp;CFTOKEN=12278186&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-6440409032100730453?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/6440409032100730453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=6440409032100730453' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/6440409032100730453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/6440409032100730453'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2009/11/linux-graphics-part-one.html' title='Linux Graphics, Part one'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zFKYYLDPkZo/Tm_VcpuReAI/AAAAAAAABp8/8iAKeP4XEMo/s72-c/current-757957.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-4999509523748404393</id><published>2009-06-13T23:56:00.000+02:00</published><updated>2009-06-14T00:57:27.117+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='street view'/><category scheme='http://www.blogger.com/atom/ns#' term='monopole'/><category scheme='http://www.blogger.com/atom/ns#' term='ad'/><category scheme='http://www.blogger.com/atom/ns#' term='adverts'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Google, THE monopole</title><content type='html'>The main goal of Google is to hold the maximum of viewed  adverts on the net, and gain huge amount of money. Till now, ads are only shown as small links with some text. And the context intelligently matches user interests.&lt;br /&gt;&lt;br /&gt;But, will google in the future, only rely on such type of incoming ?&lt;br /&gt;My answer is simply :  NO !&lt;br /&gt;&lt;br /&gt;First step after acquiring Youtube is to play video ads before launching mostly viewed sequences, also put some intelligent context matching text ads somewhere. There is dailymotion and he already doing that.&lt;br /&gt;&lt;br /&gt;But if we rethink another service that only google holds its sources, the GoogleStreetView !&lt;br /&gt;Google Street View is a very helpful service provided by Google for free and for everybody.&lt;br /&gt;Google can simply use some algorithms to detect the ad places in a street view, the orientation the deformation, and replace these zones with Google related stuff.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zqyLIWe9cy4/SjQj34GtU9I/AAAAAAAAA6w/jncyfBYhL7s/s1600-h/googleAd.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://3.bp.blogspot.com/_zqyLIWe9cy4/SjQj34GtU9I/AAAAAAAAA6w/jncyfBYhL7s/s400/googleAd.png" alt="" id="BLOGGER_PHOTO_ID_5346938100455920594" border="0" /&gt;&lt;/a&gt;Goole StreetView, the next...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;As explained in the photo, it won't be a difficult thing to be coded by the Mountain View team, and it will be a "Google only" stuff difficult to be reproduced in resonable time by other competitors. And of course, it will be a colossal source of money.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;I really wish you "&lt;b&gt;Don't be evil&lt;/b&gt;" Google !&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-4999509523748404393?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/4999509523748404393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=4999509523748404393' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/4999509523748404393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/4999509523748404393'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2009/06/google-monopole.html' title='Google, THE monopole'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zqyLIWe9cy4/SjQj34GtU9I/AAAAAAAAA6w/jncyfBYhL7s/s72-c/googleAd.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-3252144080851263169</id><published>2008-03-16T10:32:00.001+01:00</published><updated>2009-10-25T22:45:46.575+01:00</updated><title type='text'>Nanotechnologies &amp; Nanostructured Materials workshop</title><content type='html'>From yesterday (15 March) and until 21~22 I will be in Hammamet.&lt;br /&gt;&lt;br /&gt;I am proud to be member of the technical staff of a workshop that speaks about nanostructred materials and nanotechnology.&lt;br /&gt;&lt;br /&gt;This is the first time in Tunisia and it is with collaboration with many US universities.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will attach photos later ! Please wait !!! ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-3252144080851263169?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/3252144080851263169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=3252144080851263169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/3252144080851263169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/3252144080851263169'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2008/03/nanostructred-materials-workshop.html' title='Nanotechnologies &amp; Nanostructured Materials workshop'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-6989907447852473866</id><published>2008-02-13T19:42:00.001+01:00</published><updated>2008-02-13T19:52:11.091+01:00</updated><title type='text'>Journée Texas Instruments</title><content type='html'>&lt;div style="text-align: center;"&gt;J'ai pas raté bien sûr le séminaire organisé par Texas Instruments le 7 Février à la Faculté des Sciences de Tunis&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_zqyLIWe9cy4/R7M6mfEXddI/AAAAAAAAACM/VObSUpNGWJc/s1600-h/TiTechDays.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_zqyLIWe9cy4/R7M6mfEXddI/AAAAAAAAACM/VObSUpNGWJc/s320/TiTechDays.jpg" alt="" id="BLOGGER_PHOTO_ID_5166537630373344722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Voici une image du public présent !&lt;br /&gt;(A ne pas oublier le grand nombre de la communauté open source qui a été présente)&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_zqyLIWe9cy4/R7M6ivEXdZI/AAAAAAAAABs/_I9JaqAvK6Y/s1600-h/inActionMathias.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_zqyLIWe9cy4/R7M6ivEXdZI/AAAAAAAAABs/_I9JaqAvK6Y/s320/inActionMathias.jpg" alt="" id="BLOGGER_PHOTO_ID_5166537565948835218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Me voici avec mon Classmate Zied&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_zqyLIWe9cy4/R7M6l_EXdbI/AAAAAAAAAB8/9PD-QblCdJo/s1600-h/MeZied.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_zqyLIWe9cy4/R7M6l_EXdbI/AAAAAAAAAB8/9PD-QblCdJo/s320/MeZied.jpg" alt="" id="BLOGGER_PHOTO_ID_5166537621783410098" border="0" /&gt;&lt;/a&gt;Encore une fois&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_zqyLIWe9cy4/R7M6mPEXdcI/AAAAAAAAACE/x5-1OkC8jLs/s1600-h/TiMeZied.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_zqyLIWe9cy4/R7M6mPEXdcI/AAAAAAAAACE/x5-1OkC8jLs/s320/TiMeZied.jpg" alt="" id="BLOGGER_PHOTO_ID_5166537626078377410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Et bien sûr nous n'avons pas oublié de prendre des photos avec Mathias le représentant de TI dans cette journée ainsi que mon ami Nizar !&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_zqyLIWe9cy4/R7M6lfEXdaI/AAAAAAAAAB0/p9rSiIbDjF0/s1600-h/MeMathias.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_zqyLIWe9cy4/R7M6lfEXdaI/AAAAAAAAAB0/p9rSiIbDjF0/s320/MeMathias.jpg" alt="" id="BLOGGER_PHOTO_ID_5166537613193475490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-6989907447852473866?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/6989907447852473866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=6989907447852473866' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/6989907447852473866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/6989907447852473866'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2008/02/journe-texas-instruments.html' title='Journée Texas Instruments'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_zqyLIWe9cy4/R7M6mfEXddI/AAAAAAAAACM/VObSUpNGWJc/s72-c/TiTechDays.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-7201552797315746881</id><published>2007-10-30T14:52:00.000+01:00</published><updated>2007-12-23T03:17:20.961+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='sfd'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>SFD 2007 !</title><content type='html'>Software Freedom day 2007 !&lt;br /&gt;It was a very exciting event ! I discovered many things and I have met many persons that I had known only by mail.&lt;br /&gt;&lt;br /&gt;I got many photos and I am proud to show some in my blog !&lt;br /&gt;This is a photo with Mr. Hatem Zidi  one of the best IT engineers in Tunisia !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_zqyLIWe9cy4/Ryc66TRA4uI/AAAAAAAAAA8/5zj0B-jQzKI/s1600-h/MeHatem.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_zqyLIWe9cy4/Ryc66TRA4uI/AAAAAAAAAA8/5zj0B-jQzKI/s320/MeHatem.jpg" alt="" id="BLOGGER_PHOTO_ID_5127131474063057634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Other photos are coming soon ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-7201552797315746881?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/7201552797315746881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=7201552797315746881' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/7201552797315746881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/7201552797315746881'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2007/10/sfd-2007.html' title='SFD 2007 !'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_zqyLIWe9cy4/Ryc66TRA4uI/AAAAAAAAAA8/5zj0B-jQzKI/s72-c/MeHatem.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-4227733274112912428</id><published>2007-07-20T12:30:00.000+02:00</published><updated>2007-07-20T13:00:23.906+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tech'/><category scheme='http://www.blogger.com/atom/ns#' term='informatiq'/><title type='text'>Novell Hack Week</title><content type='html'>J'ai entendu parler ces jours du Novell Hack week, c'est un événement qui a lancé Novell fin juin pour que ses ingénieurs et développeurs  font ce qu'ils veulent faire !&lt;br /&gt;&lt;br /&gt;Vraiment c'est très magnifique d'être payé pour faire ce qu'on veux ! et pendant toute une semaine ! De ce fait les développeurs ont pris un bon souffle et ont contribué à plusieurs projets.&lt;br /&gt;&lt;br /&gt;Le résultat était en totalité bon mais il y a quand même des projets qui ont échoués !&lt;br /&gt;En tout cas même pour ceux qui rien n'a marché pour eux, ils ont un prix de "Best Failure"&lt;br /&gt;&lt;br /&gt;je ne pense pas avoir ce genre de chose dans les sociétés tunisiennes !&lt;br /&gt;&lt;br /&gt;&lt;a href="http://arstechnica.com/articles/culture/novell-hack-week-an-experiment-in-innovation.ars/1"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-4227733274112912428?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/4227733274112912428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=4227733274112912428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/4227733274112912428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/4227733274112912428'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2007/07/novell-hack-week.html' title='Novell Hack Week'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7024454949672391798.post-719090994293502705</id><published>2007-07-07T16:00:00.000+02:00</published><updated>2007-07-07T16:39:38.390+02:00</updated><title type='text'>Je google, Tu google, Il goog...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_zqyLIWe9cy4/Ro-emArBjqI/AAAAAAAAAAc/2OKzUVTzORc/s1600-h/google.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_zqyLIWe9cy4/Ro-emArBjqI/AAAAAAAAAAc/2OKzUVTzORc/s320/google.jpg" alt="" id="BLOGGER_PHOTO_ID_5084456880177254050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Je pose parfois quelques questions sur mon utilisation de l'Internet. Et je trouve parfois des résultats magnifiques !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;J'utilise dans 99% des cas le moteur de rechercher Google pour trouver quelque chose du Net,&lt;/li&gt;&lt;li&gt;Mon mail estsur Gmail,&lt;/li&gt;&lt;li&gt;j'utilise ce blog qui est un service de la société de Google,&lt;/li&gt;&lt;li&gt;Je suis inscrit à beaucoup de groupes hébergés par GoogleGroups,&lt;/li&gt;&lt;li&gt;Parfois je lis quelques pages des livres de la base Google Books,&lt;/li&gt;&lt;li&gt;J'utilise GoogleMaps ou GoogleEarth pour explorer les villes que je voulais les visiter,&lt;/li&gt;&lt;li&gt;J'utilise GoogleTalk pour le chat,&lt;/li&gt;&lt;li&gt;J'ai essayé GoogleDesktopSearch et il m'a plus beaucoup contrairement à celui de M$ qui m'a généré une base de donnée des références des fichiers plus grande qu'eux mêmes réunis,&lt;/li&gt;&lt;li&gt;J'ai utilisé GoogleAgenda pour une fois quand j'ai voulu voir le calendrier et que le PC que j'utilise ne m'a pas permi de faire ça (question de droit sous WinNT),&lt;/li&gt;&lt;li&gt;j'ai utilisé GoogleDocs pour ouvrir un document .odf dans un PC ne contenant pas OpenOffice,&lt;/li&gt;&lt;li&gt;j'utilise parfois GoogleTrends pour les statistiques,&lt;/li&gt;&lt;li&gt;J'utilise beaucoup YouTube ou GoogleVideo pour regarder les vidéos&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Je pense que j'ai utilisé Google pour la traduction d'une page en autre langue&lt;br /&gt;&lt;/li&gt;&lt;li&gt;....&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Je suis donc très relié à Google et très dépondant ! Et je pense que je ne suis pas le seul à être comme ça ! Mais à long terme Google va devenir le seul monopôle au monde, il va avoir tous les documents des utilisateurs entre ses mains que ce soit dans Gmail ou dans les documents des utilisateurs de GoogleDocument (tableur, éditeur de texte...),&lt;br /&gt;Il aura aussi tous les statistiques de recherches,&lt;br /&gt;Tous les puublicités,&lt;br /&gt;Tous les livres numérisés,&lt;br /&gt;Des Disques durs en totalité sauvegardés dans ses serveurs (un nouveau services encore Alpha...),&lt;br /&gt;En deux mots : il aura Tous ! (ce sont 3 mots ?)&lt;br /&gt;&lt;br /&gt;Ce jour la Google va il rester tranquille ? Ne va-il pas changer ses objectifs ? Ne va-il devenir méchant ??&lt;br /&gt;&lt;br /&gt;Hey Google ! Don't be Evil !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7024454949672391798-719090994293502705?l=blog.boulabiar.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.boulabiar.net/feeds/719090994293502705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7024454949672391798&amp;postID=719090994293502705' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/719090994293502705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7024454949672391798/posts/default/719090994293502705'/><link rel='alternate' type='text/html' href='http://blog.boulabiar.net/2007/07/je-google-tu-google-il-goog.html' title='Je google, Tu google, Il goog...'/><author><name>boulabiar</name><uri>http://www.blogger.com/profile/05025726494374405899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/-HiAilps7wOM/TgfG7SgIhiI/AAAAAAAABZY/mFFB4dQxGAk/s220/meTwitter.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_zqyLIWe9cy4/Ro-emArBjqI/AAAAAAAAAAc/2OKzUVTzORc/s72-c/google.jpg' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
