What I love about Unity
In light of a recent thread on this list, I thought I'd provide my
perspective of what Unity is, why I think it's important and why I actually came to love it. Just to eliminate any doubt, I'll start by saying that I'm not affiliated with Canonical and I'm not part of the Unity project. I have no stakes. I think the most important thing to understand about Unity is that it is not primarily a program or a desktop. It is primarily a set of specifications which are implemented in different ways. The two most prominent implementations are Unity and Unity 2D, but there are already several others. Since Unity is a set of specifications, it is possible to implement parts of it without that being considered an incomplete implementation. For instance, the indicators are supported on LXDE, Xfce, Windows, KDE and others. This is very important. For instance, people are complaining about not all Gnome Panel applets being ported to Gnome Panel 3 yet. This is because the applets become part of the panel itself, meaning that it has to be completely compatible or it won't work. This is not the case with indicators, which is why all indicators are already supported on Gnome Panel 3. The panel just needs to support the indicator specification and then all indicators automatically work. It is also an uncomplicated specification, so it's easy and quick to do. So an indicator actually connects to the indicator service and tells it what it wants to display. Then it's up to the service to display it properly according to its environment. This means that indicators will look native to the environment it is used in without any kind of extra work. For instance, an indicator that's primarily targeted at Ubuntu desktop, will look as if it was designed for KDE when that's your desktop or as if it was designed for Windows when you run it in that environment. It could also be displayed as text if you don't run a desktop at all. Further, since indicators are implemented using remote procedure calls, you could easily run an indicator on a website and have it integrate with the desktop -- regardless of operating system. Indicators and notifications are omnipresent across devices and operating systems. Having a uniform way of adding support for all operating systems without any kind of extra programming, is highly valuable. It's valuable to users as well, since it means that an indicator written in GTK will look and feel identical to an indicator written in Qt. This increases knowledge re-usability. Quicklists are also useful. These provides useful actions for an application. What useful means, is up to the application and how to access these tools is up to the environment. Unity launchers and Windows taskbar entries work mostly the same way in this regard. That's not necessary at all. Again, application developers decides what is available and the operating system says how to access it. Unity lenses and scopes are also interesting. Here too, there is a clear separation between user interface and background services, to an even higher degree. First, you have the scopes that provides data from a given source. This can be anything from your personal information, a corporate server or an online search engine. Then you have the lenses which chooses which data sources to use when searching, and finally you have the presentation. Since the scopes provide data in a uniform way, the lens developers doesn't have to know anything about the source. The lens developer then simply selects what data sources to search and retrieve data from, and how this should be laid out. It doesn't do the presentation itself, but only defines _what_ to do. Finally, you have an application that displays the lenses according to the definitions. This means that once an operating system or desktop supports lenses, all lenses will automatically work and will look native to that desktop. In summary, Unity is not about how things look. Indeed, we should have different ways of interacting with your computer and applications. Unity dash and other components should look and feel different in Lubuntu, Kubuntu, Windows and OS X. Users should not be expected to understand the difference between Qt, GTK, XUL or any other toolkit. What programming language was used to create the software is also not relevant to the user. Whether the primary focus of the developer is on Gnome or KDE, should not matter. If it's a browser application, it should still become part of your desktop like any other application. This is why the name is so fitting; it unites programming languages, toolkits, desktops, platforms and operating systems. In the upgrade from Gnome Panel 2 to Gnome Panel 3, we have "lost" some applets. Of course, applets can be upgraded as well, but all of them must be upgraded and there's reason to believe that not all of them will be. This is a problem, and something that we must actively try to avoid in all future. This is part of what Unity does, and is probably one of the things I love most about it. The implementations are not perfect, but the specifications are really good. I would much rather use a bumpy implementation of a good specification than to use a perfect implementation of a bad idea. Thanks for reading. Jo-Erlend Schinstad -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
What I love about Unity
On 12/29/2011 02:23 PM, Jo-Erlend Schinstad wrote:
In light of a recent thread on this list, I thought I'd provide my perspective of what Unity is, why I think it's important and why I actually came to love it. Just to eliminate any doubt, I'll start by saying that I'm not affiliated with Canonical and I'm not part of the Unity project. I have no stakes. I think the most important thing to understand about Unity is that it is not primarily a program or a desktop. It is primarily a set of specifications which are implemented in different ways. The two most prominent implementations are Unity and Unity 2D, but there are already several others. Since Unity is a set of specifications, it is possible to implement parts of it without that being considered an incomplete implementation. For instance, the indicators are supported on LXDE, It is really nice that you put effort in explaining what is all about Unity. From your description I could understand that motivating reason is an architectural change how applications interact with underlying data providers, services and APIs underlying operating system provides. A story about indicators, etc. sounds as really good set of architectural choices. Having said that, architectural cleanup should not negatively affect existing user base by removing some workflows. Backward compatibility might slow down overall progress but green field development results in own set of problems. Ironically, technical people who would otherwise support architectural changes introduced with Unity are resistant to these changes because of some user interface shortcomings. Xfce, Windows, KDE and others. This is very important. For instance, people are complaining about not all Gnome Panel applets being ported to Gnome Panel 3 yet. This is because the applets become part of the panel itself, meaning that it has to be completely compatible or it won't work. This is not the case with indicators, which is why all indicators are already supported on Gnome Panel 3. The panel just needs to support the indicator specification and then all indicators automatically work. It is also an uncomplicated specification, so it's easy and quick to do. This about simplicity of specification is very nice. Simple specs have chance to survive reality checks across releases (and get more complicated later). According to your description these specs are easy to implement for remaining panels, then why support for look & feel of Gnome Panel was marginalized remains unclear. So an indicator actually connects to the indicator service and tells it what it wants to display. Then it's up to the service to display it properly according to its environment. This means that indicators will look native to the environment it is used in without any kind of extra work. For instance, an indicator that's primarily targeted at Ubuntu desktop, will look as if it was designed for KDE when that's your desktop or as if it was designed for Windows when you run it in that environment. It could also be displayed as text if you don't run a desktop at all. Further, since indicators are implemented using remote procedure calls, you could easily run an indicator on a website and have it integrate with the desktop -- regardless of operating system. From your description, data providers are cleanly separated from application logic and application presentation layers and this is also very reasonable. Indicators and notifications are omnipresent across devices and operating systems. Having a uniform way of adding support for all operating systems without any kind of extra programming, is highly valuable. It's valuable to users as well, since it means that an indicator written in GTK will look and feel identical to an indicator written in Qt. This increases knowledge re-usability. Quicklists are also useful. These provides useful actions for an application. What useful means, is up to the application and how to access these tools is up to the environment. Unity launchers and Windows taskbar entries work mostly the same way in this regard. That's not necessary at all. Again, application developers decides what is available and the operating system says how to access it. Unity lenses and scopes are also interesting. Here too, there is a clear separation between user interface and background services, to an even higher degree. First, you have the scopes that provides data from a given source. This can be anything from your personal information, a corporate server or an online search engine. Then you have the lenses which chooses which data sources to use when searching, and finally you have the presentation. Since the scopes provide data in a uniform way, Looks like some variant of Model-View-Controller. Also fine. the lens developers doesn't have to know anything about the source. The lens developer then simply selects what data sources to search and retrieve data from, and how this should be laid out. It doesn't do the presentation itself, but only defines _what_ to do. Finally, you have an application that displays the lenses according to the definitions. This means that once an operating system or desktop supports lenses, all lenses will automatically work and will look native to that desktop. In summary, Unity is not about how things look. Indeed, we should have different ways of interacting with your computer and applications. Unity dash and other components should look and feel different in Lubuntu, Kubuntu, Windows and OS X. Users should not be expected to understand the difference between Qt, GTK, XUL or any other toolkit. What programming language was used to create the software is also not relevant to the user. Whether the primary focus of the developer is on Gnome or KDE, should not matter. If it's a browser application, it should still become part of your desktop like any other application. This is why the name is so fitting; it unites programming languages, toolkits, desktops, platforms and operating systems. Similar attempts in past decade or two: with multi platform libraries and frameworks (e.g. Qt, ACE, boost, Apache libs, ...) and of course with VM such as Java, .Net etc. All of them contributed in serving some user groups, and none of them fulfilled "One size fits all" promises. The same will happen to Unity I guess. In the upgrade from Gnome Panel 2 to Gnome Panel 3, we have "lost" some applets. Of course, applets can be upgraded as well, but all of them must be upgraded and there's reason to believe that not all of them will be. This is a problem, and something that we must actively try to avoid in all future. This is part of what Unity does, and is probably one of True. the things I love most about it. The implementations are not perfect, but the specifications are really good. I would much rather use a bumpy implementation of a good specification than to use a perfect implementation of a bad idea. True, clean architecture is often a good investment. Just is needed to take care more about transition from old to new in a way that existing users are seeing benefits and are not left with feeling of being marginalized. I think that your post provides good, high level overview of Unity. Thank you. Thanks for reading. Jo-Erlend Schinstad -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
What I love about Unity
Den 30. des. 2011 20:30, skrev Ted Gould:
Hey, Thanks for writing this up. I appreciate it. We're never perfect, but it's nice to see some positive reviews every once in a while :-) Thanks again, Ted It was not meant as a positive review and I don't want it to be understood as such. The point was to separate between what users see and what programs see and why that's important. The ultimate goal for me, is to teach everyone that there are no fundamental differences between 10.04 and 12.04. Obviously, it's still Ubuntu, but it's also still GNU with Linux, it's still X. It's still Compiz. Gnome Panel is still available for those who may want it, and there's no radical difference in that either. There are no radical differences at all and all competent participants know it, but they're tired of trying to revert the bad communication of these last cycles. So we're left with those who blog more than they explore. Some people have said that I'm tilting against windmills. I see the giants in the horizon. I know exactly what they are. They are what I call "misconceptions". I will fight them. What I cannot do, is to fight continuously bad communication from community leaders, such as Canonical and Gnome. In this specific case, it's been bad all over. Gnome has been horrible. It's like they _want_ to loose. Canonical has done _nothing_ to rectify this. This is assumption and speculation. I believe that Gnome wanted to hype the Gnome 3 desktop by reducing the value of the old one. That was a poor choice. They should instead hype the benefits, that have been completely forgotten in the shadow of the pale benefits of Gnome Shell. We _must_ make everyone aware that there are no radical changes. This is continuity. We have all the software we've always had. There is no Mark Shuttleworth who can remove software from our society. Well, there is a Mark Shuttleworth who can add to it, and maybe even overshadow others, but not even he could ever take away from it. This is the core of Free Software. Even if he could, it's highly unlikely that he would ever even try. We know this. We've spent time. We've read. But we are preparing for a different kind of community, when millions of people suddenly join. How do we react? We need to react with strong and clear communication. In essence, what I perceive is that Gnome has felt threatened by Unity and that Unitys followers have felt as if they were under attack by Gnome Shells followers. Mark Shuttleworth warned against this kind of tribalism a long time ago. This is a classical example of a false dilemma. You're either with Unity or with Gnome Shell. Reality falls victim. The simple truth is that Unity 2D uses the same Window Manager that Gnome Panel primarily used, which is called Metacity. So does Unity, except that it uses Compiz, which has also been a vital part of our desktop for a long time. Canonical should've made it obvious to everyone what the differences really mean. It is still my perception that supporting Gnome Shell actively and giving people a smooth transition will eliminate all doubt and help people focus on real issues. There are no radical differences between Gnome 2 and Gnome 3 from any users point of view. Any other belief is a misconception, unless someone enlightens me. And I am certainly willing to learn. What we must do is to keep the fog away and remember that this has been the primary reason why we have not succeeded in the past. We will win by providing good software and lucid documentation. Now, we are going to provide Precise software and Precise documentation. For that to happen, we must eliminate this crap before it ruins the entire GNU with Linux community. We who are confident, understand the situation. There is no loss if people want to progress onto Fedora, Debian or anything else. We are the ones who make things easy to understand. If people want to delve deeper into the system, that's a good thing. Ubuntu is not so much about software as it is about users. Ubuntu is still the small kid. We are not in any way ready to dictate to anyone and everyone knows it. There is a growing misconception that we're now taking things way. It's not true. We who are very interested, know that. But it really doesn't matter what we do if people misunderstand our intentions. This used to be crystal clear; We are the ones who do not ever tell people to RTFM. We are the ones who explain. We are the ones who will never give users the impression that we are taking things away from them when we're not. This is very important to me. Ubuntu is not something I adapted to or adopted. It is my core belief of how we should do things. All this nonsense with MATE and that crap, and I don't apologize because I've read the code. It is crap in relation to its hype. It doesn't _do anything_. Canonical have neglected its role as a supporter of Ubuntu. This is obvious. As a provider of software, it's done a great work. It's not enough. Now, people blame Canonical for everything, because it is somehow regarded as the "creator of Ubuntu". That would never have happened before, because it is obvious that Canonical does not have the position of Apple or Microsoft. Should never want to, either. Canonical should be the beacon of knowledge that makes it easy to learn and become part of the community. The moment that Ubuntu depends on Canonical, we have lost. Even the perception is destructive. We desperately need to improve Ubuntus communication. If we do not, then we _will_ fail. If you want me to, I'll be happy to spend any amount of time helping Canonical in private, but everyone must always know that they are different things at all times. Otherwise, Ubuntu becomes an ideological product instead of societal effort. The difference is radical. Oh, I seriously didn't intend for this to become so long winded. Thanks for your patience. :) Jo-Erlend Schinstad -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
What I love about Unity
Den 30. des. 2011 15:28, skrev Nenad:
A story about indicators, etc. sounds as really good set of architectural choices. Having said that, architectural cleanup should not negatively affect existing user base by removing some workflows. Backward compatibility might slow down overall progress but green field development results in own set of problems. Ironically, technical people who would otherwise support architectural changes introduced with Unity are resistant to these changes because of some user interface shortcomings. I completely agree with that in some senses. Unity does not take anything away. Nothing is lost because of Unity. I often compare desktop shells to the web browsers. They can be considered "web shells". They're not technically comparable, but from a users point of view, they do the same thing. When Google entered the scene with Chromium and Chrome, they added to our choices. Some distros use it by default, and that's fine. I think it's a good browser. My preference is still Firefox and I would always install it as quickly as possible. Unity adds to the number of desktops you can choose from and does not remove any choices. However, I disagree with the notion that Unity should depend on the workflow from Gnome Panel. I would much rather that Gnome Panel continues to be developed with respect to itself and that Unity is developed with completely different goals. The world has changed a lot since the mid nineties. I think Unity reflects that, Gnome Panel not so much. But that's fine. We don't all have to be modern and walk in lines. Nobody has the legal power to remove any free software. But if software should be kept, it must be maintained, or it must be deemed to be perfect. That's difficult. If you want it to evolve, then you also need someone to actively develop it. If you want that to happen, then you need to give it attention. You should not focus on why you think Unity or Gnome Shell is bad, but on why you think Gnome Panel is good. Because that's what counts. According to your description these specs are easy to implement for remaining panels, then why support for look & feel of Gnome Panel was marginalized remains unclear. It's not unclear to me. Someone is paying the bills. Those someone have a different view of what the future should look like. The only thing they agree upon, is that it should not look like the past. Nothing wrong with that. Gnome wants to focus on the future of Gnome Shell and Canonical wants to focus on its vision, which is Unity. We cannot expect any of them to focus much on Gnome Panel, because that is not their vision of the future. So, if we want to keep Gnome Panel around, then we need to find some developers who are willing to keep maintaining and developing it. Perhaps people like Vincent Untz can be persuaded. If not, then we either need to find new developers, or let the old software die in peace. Just keep in mind that _anyone_ can start developing Gnome Panel. If all the anyones on the entire planet choose not to do so, then users should begin to wonder why. All of them contributed in serving some user groups, and none of them fulfilled "One size fits all" promises. The same will happen to Unity I guess. It's not comparable. You can use any programming language to interact with Unity and it's very high level. Literally. If you wanted to, you could write it by hand and not require a programming language at all. It's DBus. By the way, Gnome Panel switched to that from Bonobo a few versions back. I think maybe in 10.04 or something. It was a radical switch then, too. Most people didn't notice it, though. I didn't, even if I knew it was going to happen. That's how it should be. We should do these things from time to time, but we should do them because it needs to be done, not because of hype. Whenever something dramatic happens, we must always have a large number of users who can explain why it is so. Otherwise, we get massive amounts of speculation, conspiracy theories and general disarray. It's not a matter of who's right and who's wrong. We just have to learn from this and never repeat this mistake. Proper communication would have ensured that all the nonsense would've never happened. Users should never be expected to understand the difference between Bonobo and DBus, GTK2 or GTK3, GConf and Dconf...As a consequence, they shouldn't care about Gnome 2 or Gnome 3. It's Gnome. It really isn't that much different. And I think that concludes todays pontification. :) Happy new year, everyone! Jo-Erlend Schinstad -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
What I love about Unity
On Fri, 2011-12-30 at 23:03 +0100, Jo-Erlend Schinstad wrote:
> Den 30. des. 2011 20:30, skrev Ted Gould: > > Thanks for writing this up. I appreciate it. We're never perfect, but > > it's nice to see some positive reviews every once in a while :-) > > It was not meant as a positive review and I don't want it to be > understood as such. Sure, it wasn't a review really. I guess it should have read "noting some of the positive aspects." Though, in general, I was less careful with my words since I wasn't replying to the mailing list ;-) > The point was to separate between what users see and > what programs see and why that's important. The ultimate goal for me, is > to teach everyone that there are no fundamental differences between > 10.04 and 12.04. <snip> In general, you are correct, but I think your language there might hurt your argument. I think that, for most people, it seems drastically different because the data is presented in a different way, but it is fundamentally the same data. So instead of saying "nothing changed" it might be easier to say "only the emphasis changed." As an example we could look at the use case of finding applications. You can still browse for the applications in groups like you could in the Applications menu of 10.04. But, it's not as handy. On the flip side searching them is much, much, easier. So we've switched the emphasis from browsing to searching. --Ted -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
What I love about Unity
On Sat, Dec 31, 2011 at 11:58 AM, Ted Gould <ted@ubuntu.com> wrote:
> On Fri, 2011-12-30 at 23:03 +0100, Jo-Erlend Schinstad wrote: >> Den 30. des. 2011 20:30, skrev Ted Gould: >> > Thanks for writing this up. *I appreciate it. *We're never perfect, but >> > it's nice to see some positive reviews every once in a while :-) >> >> It was not meant as a positive review and I don't want it to be >> understood as such. > > Sure, it wasn't a review really. *I guess it should have read "noting > some of the positive aspects." *Though, in general, I was less careful > with my words since I wasn't replying to the mailing list ;-) > >> The point was to separate between what users see and >> what programs see and why that's important. The ultimate goal for me, is >> to teach everyone that there are no fundamental differences between >> 10.04 and 12.04. > <snip> > > In general, you are correct, but I think your language there might hurt > your argument. *I think that, for most people, it seems drastically > different because the data is presented in a different way, but it is > fundamentally the same data. *So instead of saying "nothing changed" it > might be easier to say "only the emphasis changed." > > As an example we could look at the use case of finding applications. > You can still browse for the applications in groups like you could in > the Applications menu of 10.04. *But, it's not as handy. *On the flip > side searching them is much, much, easier. *So we've switched the > emphasis from browsing to searching. Switched the emphasis? You mean to say that there is actually a way to browse applications by category in Unity, similar to how the menus were structured in Gnome2-panel? Well, that's news to me, and I've used Unity on 11.10 for tens of hours in a virtual machine while testing my software for Ubuntu compatibility. I would sometimes get pretty fed up with having to type in the name of the application I wanted to launch, instead of just clicking through a few menus. And scrolling through the huge list of applications (I accrued many, many of them because of all the development packages etc) is not convenient, either; nor is it particularly snappy. If this is in fact an explicit feature of Unity, I'd like to know how to access it! I think one of the biggest flaws of Unity isn't a flaw of the software at all, but of the human beings who use it (remember, Linux for human beings?) -- 80% of the users don't know about 80% of the hidden nugget features of Unity, because it's new, different, and likes to "hide" a lot of stuff behind the obvious veneer. So yeah, your attempts to "emphasize" one thing over another have essentially produced a piece of software where the vast majority of the people will only see the obvious features that you stick right under their nose; and if they happen to desire a feature that's in any way occluded or hidden behind a hotkey or whatever, they simply will never ever use that feature because it's not apparent to them. Again, probably not a software flaw as much as a human flaw, but that's how it is. Imagine shipping Ubuntu with a Unity tutorial video on the CD, or (if that makes the CD spinners cringe at the file size of such) a video player that pops up and streams the video from the internet.... Or even, a *series* of videos: one for beginners that just enumerates the most obvious, basic stuff, and two or three more that go more and more in-depth with hotkeys and things that most people don't know about. Your biggest challenge for Unity is similar to what others before you (PulseAudio, systemd, etc) have faced: user education. So educate the users, in an accessible, highly-visible manner! Nobody's going to read the manual; I'm sorry but that just doesn't happen. A video is probably the best way. -Sean > > * * * * * * * *--Ted > > > -- > ubuntu-desktop mailing list > ubuntu-desktop@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop > -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
What I love about Unity
Den 31. des. 2011 21:16, skrev Sean McNamara:
Switched the emphasis? You mean to say that there is actually a way to browse applications by category in Unity, similar to how the menus were structured in Gnome2-panel? Well, that's news to me, and I've used Unity on 11.10 for tens of hours in a virtual machine while testing my software for Ubuntu compatibility. Just click Filters in the applications lens. Screenshot: http://ubuntuone.com/2zjemTsrtnehofubbOYOlv Imagine shipping Ubuntu with a Unity tutorial video on the CD, or (if that makes the CD spinners cringe at the file size of such) a video player that pops up and streams the video from the internet.... Stuff like that would be nice. It'll probably be easier to make things like that when things calm down. Jo-Erlend Schinstad -- ubuntu-desktop mailing list ubuntu-desktop@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-desktop |
| All times are GMT. The time now is 06:59 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.