Let’s the user getting access to the functionalities

février 21, 2007

Currently GNOME is flamed about printing dialog, not enough functionalities. Maybe one better has to uncouple the back-end from the front-end.
Let’s say a driver, its functionalities are accessible through a set of keys which differents kind of values (boolean, integer…), something like Gconf. Then, with a GUI-toolkit, the user picks the keys that he needs and figure out graphicaly their values as he wants. By this means, everything being equal, people from GNOME can make their desktop environment as they think it ought to be; if the user disagree, he just has to change it.
No more flames about the printing dialog, just maybe that GNOME requires from the user some extra-works. Even not. If people can also share their customizations, the desktop environment developement will become a matter of back-end. Hence the front-end could be let to the user or to some communities of users.
Sure, my opinion is quite simple, but the technologies developement is better when they are uncoupled.

uncoupling

The GUI-toolkit

février 17, 2007

It could be a good thing if the GUI-toolkit used by the developers was shared with the user. Standardized GUIs are well conceived, nonetheless that doesn’t mean that they fit to the user needs and so on. Try every theme avialable on your desktop, let aside the look and feel, the structure doesn’t change but is more or less clear depending the theme.
So, having a lot of themes is great as well as to customize a toolbar, but that doesn’t touch really to the layout structure nor to its behaviours. That seems to be the same thing to have a lateral pane instead of a drawer, but not for the user because this is a subjective preference which corresponds to a reality at use. Last but not least, only the user knows what could be the best for him.

toolkit

Of course, I let aside the kind of GUI-toolkit requiered for this purpose, obviously, it should be WYSIWYG, easy to use and so on; it could be a front-end able to struggle with GTK, Qt and Co°, or whatever. But, at least, there will be something in common between the developers and the users, that seems to be a win-win deal. Excepted for the consulting buisness in GUI design.

Contextual menu

février 17, 2007

What could be said about that ? Certainly, the philosophy there, is to give an access by a right-click to some functions that the target don’t present or offer itself. It’s not true under GNOME: the contextual menu of a launcher offers to launch the launcher, action which can be done by a simple click (is it not the function of a launcher?)
Now, what does one put in this utility? The choice could be completely arbitrary indeed. In other words, what is the context here? Well, in fact, there’s nothing really contextual, it’s just a remote control with a selection of functions.
So, one could let the user editing the contextual menu but, since it’s just a remote control, it seems better to provide a personal area like this one:

contextual-menu

One puts there what one needs or used to use. Depending the task or the job to do, one gets directly the relevant tools of the software. Not really useful on 15″ screen monitor, but very useful on a 20″ and more. Ok, I’m not sure, but it’s not very new.

In Between

février 3, 2007

This category is created to list the utilities, programs and whatever which could stand between the user and a operating system, or a information system. Some third terms upon which one could enable an user interface a little more closed to the communication scheme.

Calendar, bookmarks, contact and tags these things are the easiest. This is mainly about content and its management, so a content managment system could be this third term.

Well, calendar is different since it is about event through the time but not primarly about content. Nonetheless, when one considers a mailer one has in this case some contents which are tied to some events: awaiting or giving a answer, for example. Further, the event is also an action, more exactly its output, hence, one retrieves here the cybernetic scheme: people have a common goal, they transmit and receive some content, perform some action upon it accordingly to the goal. This implies that content isn’t just a set of data, but can be a call to some action through the time just because there is a common finality. Maybe this is why some mail client present a task manager but this function doesn’t have to belong to the client only because most of these tasks involve somebody else. In this regard the mail notification scheme is more relevant since it gives a feedback about an event/action.

So far, one imagines the user as the person in front of a computer, though one can consequently include the developer as an indirect user. This is the case each time one does a bug report, either through the web or through a bugtracking program. Of course, this purpose is really complexe but it’s just to give the idea: the user is a broad notion.

If one sticks only to the solely user then, some other functions could be stand as a third term. For example the window manager. It’s primarly a service to the programs which are a set of service to the user. The window manager could be a service for the both, a common service. At use there is no difference between a window and an icon, in appearance one does more or less the same things. Maybe each object of a GUI could be a window. Certainly too much work for a single window manager and a poor graphics card, but let’s that aside. The main idea is that the system has to cope with the pixels meanwhile the user has to manage the limited space of the screen. Hence there is here again a common concern.

If you have a look at this post, feel free to comment the kind of thing which could be in between.

Web services -follow up

novembre 5, 2006

When I considered the web services, I thought that something was missing: a terminal instead of a client, or just a modem. The trend seems to keep the client, though, either reduced to the minimum, either packed with a modem-router.
The first is Linutop. the idea is to provide a tiny and cheap central unit with the mostly used softwares (browser, wordprocessor and viewer). In its concept, the user with such a product could rely on web services to extend its abilities and capacities (storage and additional web applications). Moreover, the product is opened to some other usage (point sale,…etc)
The second, Easy Gate, is rather a rich client, though it is remotely maintained. It’s like the former with more softwares but combined with a dsl router. And yes, it is offered by a ISP included in the subscription fee. Don’t know yet if that runs well, but, despite the client solution, the whole unit is by this way a service.

I would rather like a slave device, something like a network storage, and a remote desktop somewhere.

Communicate with the computer

novembre 3, 2006

Information technologies enhance the communication, though, their model comes from the theory of the information and that differs from the communication. It’s the model of the transmitter and the receiver, respectively the input and the output in a computing or information device. This model transcends as well the programs, it is a function indeed.

Transmitter –> Receiver
Input –> Output

I/O aren’t yet some data, they’re just gates. How can one build something with such a single thing? Simply, the data as an output will be considered as an input, and then one can goes on. This principle implies that there’s nothing by itself in a computing device, one has to fill an input, hence, « garbage in, garbage out ». It implies also that the information technologies, from the hardware componments to the Internet, are networks. This is why the network can be ubiquitous, not because there’s a lot of hot-spots everywhere, because ITs are network in their principle. And since one uses them, one becomes a gear of the overall network. Last but not least, the transmitter and the receiver or the input and the ouput has to speak the same language, that is to say that in its nature this model implies a standard. So one understands that it is not just an agreement between everybody indeed, but a key part.

Nonetheless, this is not communication, but just transmission. Academics in the 70’s presented the human communication under the model of the information to finally discover that it’s a mutual interpretation. At a first glance one could say that it is like a transmission between Self and the Other, respectively the transmitter and the receiver; however the Other is a relative notion to Self, hence that don’t fit with the model since communication is between Selfs

Self –><– Self

How can one define the communication? Certainly the keyword is « share ». What’s the basis for a mutual interpretation? Something which is shared, and in first the body which is the same for everybody. The communication fails when there’s nothing to share or sharable and that’s the case with a computer. So, if the user can share something with the computer and the latter can takes that into account, one can get something like a communication.

As far as I know, this was already the case with MacOS 8, simply because the user can add some note upon the files or the folders and because the Finder can optionally display these notes as a row in the list. Hence, one can sort the list through the notes; it’s not really powerful but by this mean the user can related the data to his context and thus, something more meaningful for the user is shared. Now Spotlight can search in these notes and it’s more powerful than to archiving with filename and foldername. Though, using tags just for this purpose isn’t enough, the next step is to correlate these tags with the system and the applications, in such a way that the user can tell to the system what it has to do with these tags. Something like: « this tag…do this ».

Nothing new here, this is certainly the trend. But there are a lot of other things which can be shared between the user and the device. Contact list and bookmarks doesn’t have to belong to a specific application, afterall only the user knows the meaning of these data. A given browser or mailer will just have to look at it and fill it, whatever the storage. Of course one can say the same about every document, that would not be a problem if the interoperability was warranted indeed. Last but not least, among the other things which could be shared, there’s the GUI itself and the functions of the application. The former seems to imply a kind of polymorphism, the latter is already applied in its principle through the libraries, but one cannot still request the function of a given application to use it with an other one. Obviously, this kind of ideas are anti-monopolistic in themselve.

Web services

octobre 29, 2006

Thanks to the asynchronous technics, one can enjoy a lot of web services: office services, storage services, content services and even web services of web services. However all that needs the power of the client, running a browser isn’t enough, one also needs all the support related to the different kind of format providing through the internet, and the hardware has to follow.
Hence, I wonder where is the real benefit for the end-user ? Beside the fact that it’s a service, that is to say, somebody do it for me and so there’s less to do for me, I still have to cope with a computer and its operating system. Worst, relying on a browser has always been the big avenue to some sureptitious annoyances. So, I can understand that a gamer would be really satisfied with these web services. Since he or she is mainly interested in games only, he or she has a consequent computer which fits likely to these services. But for an everyday life usage, that don’t really lift the burden, and having a computer seems consequently to be disproportionate.

The real point here isn’t the end-user, rather the principle of the client-server relation. Through the history this relation looks like a balance and as an antagonism between the client and the server. As the capacities grown up, the shift moved from the server to the client; nowaday as the bandwidth grows up the server side gains a renewal, but the previous antagonism has gone, it’s now an option among some other.

client-server pendulum

Hence, the real question now is to know what’s the most efficient relation as a whole ? The client against the server, something which could be a pure peer to peer network; the server against the client downsized to a terminal or the both ? Of course this question depends from the current state of art and at a first view, one can argue that sharing the capacities will be always the best way to share the overall cost, the client and the server should better has to work in a complementary way. That sounds good, though, this can be achieved without necessarly implied a personnal computer. In this regard, the mobile phones present an interesting situation, simply because the device enables an usage completely different from those of a computer and mainly because it can’t really fit to this PC-like usage. Moreover the computing capacities are constrained while the bandwidth capacity has far much room, hence, in such condition the mobile phone will be more likely a terminal concerning the office and the internet. Of course, the pricing scheme will or won’t support the move, but that was the question since the most efficient relation as a whole will certainly enable the most affordable cost.

So, between the web services’ asynchronous technics and a remote desktop on a sessions server, what is the most efficient ? Assuming that the former is the best, would it be odd and counterproductive to consider a remote browser ? Obviously, I got a preference for the server against the client, more exactly it is about the end-user by having the choice between a PC or a simple box which just give the access. This could be the ISP’s box as well, included in the subscription cost. Will the consumers take the grip ? As far as the service is reliable, they will, simply because the majority doesn’t buy IT for the sake of IT but just for the usage and the related necessities of the everyday life without the technical implications.

Independent Website

septembre 11, 2006

Nowadays, web-browsers are commodities. The browser is packaged with the OS and one has some alternative browsers at no charge. It’s hard to sustain a buisness in such condition. Moreover, despite the W3C recommendations, each browser renders a given web-page in its own way, as well as each website don’t treat them equally. Hence, I wonder if there’s still a necessity to render a web page completely by the browser? In the principle of the client/server the browser would just have to make the request, though, what will render the HTML page and so on? Well, since the browser market is no more fruitfull and since the webdesigners can’t satisfy every browsers, the client should come from the website accordingly.

Nothing new here, this the way of the remoted application, though, in my mind that should use the current user’s browser without requiring any further installation. I’m thinking here about 0Install and its way to load an application in the system cache. Same thing here with the use of the browser cache; the browser is just a receptacle for some micro-engines which render the web pages. To get the idea, considers that each HTML tag, each JavaScript function, each embedded object is one of these tiny engines; one can’t do less but one could organize more and that could work asynchronously, like AJAX. Certainly the hardiest task will be to correlate all these engines between them.

Anyway, if that could be achieved the economic would be renewed on the server side. Here again, nothing new in regard to Flash or Shockwave, their economic is based on the developer side, not on the user side. Same thing here, webdesigners could have the tools of their choice, Open source or proprietary, with a better control upon their websites, relatively to the client. In the end, the user won’t have to bother about his browser, excepted for some security issue.

In other words, since there’s nothing to earn anymore in the web-browser buisness, let’s the webdesigners controlling the browser. Sure, as any application, these micro-engines should be developed for the most current platforms, but that is what the Open source community can afford to do. So, it could be good.

Reflecting the principles of the operating system.

septembre 10, 2006

I’ve stressed earlier the frustration to discover that an user interface is dependent on an other one. It was about changing the keyboard layout from the preferences panel, I considered several things but, after some searchs it appears that the X11 config. file has a section devoted to input devices, and yes, it was unchanged and determinant.
At this stage the point is not about interfaces more or less correlated, because the desktop environment stands in the user space while X11, which drives the display, stands in the kernel space and so under the root privilege. That raises the following question: should a GUI hide the principles of an OS or should it reflect theirs ?

I’ve suggested the latter earlier by splitting the GUI accordingly to the multi-users scheme, like this: root | user. Though, the question examines the motivation to provide a graphical environment. It’s nice to have a desktop, but what can be the benefit if it is done despite the principles of the system ? Depending the design of the OS, the development of the environment cannot be the same. More exactly, one can obtain the same results, or acheived the same goals but not through the same ways.

As far as I know, there are not a lot of designs in this matter. By definition, a mono-user system is out of the scope, and there are at least two kind of multi-user system: the macrokernel and the microkernel. Relatively to the user, the former retains almost everything in its space while the latter let almost everything in the user space.

macro-microkernel

In the illustration above, the dotted arrows represent the mediation or the dependency to the kernel space and the size of the block represents its degree as well as the ability allowed to the user.Concerning a macrokernel, shown at the left side, I guess that some solutions exist for a usable mediation between the two spaces, though, the figure simply indicates that a graphical environment for the kernel space should be developed as well. That the case indeed, graphical administrative tools exist, but the main point here is to provide the means to the user when he or she has to cope with the system since it is its design. Concerning a microkernel, figured at the right side, albeit an OS can be really designed like that, most of the time several services are upon the kernel, with their own privilege not granted to the user. Though, these services won’t probably interfer with the needs of the user, more exactly, even if one cannot assume anything about him or her, this probability is lower with a microkernel than a macrokernel. Hence, the need of a GUI related to the administrative tasks is lower, though, that doesn’t prevent to develop it.

I would conclude that the user environment should not cross or pretend to do more than its assigned limit by the system, thus, the point is rather to organize two environments at least than to merge them with some missing mediations. Moreover, there is an objective reason to develope an UI reflecting the system. As far as this latter is a commodity, one can’t assume anything about the user. Since the GUI is the main environment for the user and the most current thing that the user will experiment, his or her understanding of the system as a whole will mostly rely on the GUI because it’s the first information and data that the user has about the system. So, what’s the best? A graphical environment which misleads the user understanding or an environment which provides the right premiss?

Keyboard layout and deceptive GUI

août 19, 2006

I have buyed a PC in Germany with a QWERTZU keyboard, though I rather like the AZERTY keyboard. And since this PC was a refund from a German school, his keyboard wasn’t in a good state. Unfortunately I didn’t have found an AZERTY keyboard until today, so I had installed Ubuntu with the original keyboard, hence, the German layout is the default setting.

Today, I wanted that Ubuntu catches my new keyboard. I was in the same situation with my Fedora Core 1 some time ago, but Fedora had detected the change itself. So I expected the same magic with Ubuntu but it wasn’t. Hopefully the preferences setting has everything for that, as shown below (in French)

preferences

I’ve tried almost everything: removing the German layout, setting as default my layout, keeping the both and playing with their order. I’ve restarted several times, I’ve even put the corresponding applet in the menu bar. Nothing until I look in Gconf. There, I unchecked the OverrideSetting key’s box and everything works. So, why an interface for a set of purposes is provided if it depends to an other interface ? May be it’s a bug, that wasn’t the intention of the Gnome’s developers, I don’t know. But it could be an undocumented point as well, something which would better have been mentionned in the GUI. Sure, that gives the feeling of a slapdash work, but it’s better than letting the user disappointed. Otherwise, the GUI is deceptive. The things go in the same way with the applet. As shown below, the « Fra » means that the French layout is selected and active.
select

Well, not exactly. Once again that depends to the layout order as one can see in the first picture. One changes the order with the up and down arrows but what’s the logic here ? is it to set a kind of priority ? If yes, does it start at the top or the bottom ? I’ve just noticed that if one puts the French layout at top, the applet works wrong side up: « Fra » actives the German layout indeed.

What I See Is What I Get, I know that this concept is about printing and output but one can extend it about GUI: I see or select « Fra » and I « get » the French keyboard layout. And that doesn’t even work if the OverrideSetting key is turn on, of course.