elementary has been known for its focus on design and ease of use; that’s the primary reason people are so attracted to our apps and OS. Lately, there’s been a stricter focus on also innovating while still keeping that excellent design and improving ease of use. We’re finding more ways to give users the best experience in elementary.
First, let's look at GTK3 and the status of apps we ship. I’m proud to say it looks like all but possibly one shipped app will utilize GTK3, the next-generation toolkit, instead of GTK2. This means elementary will be prettier and faster as a whole. This is great for the users and developers alike, as it means both more consistency and easier development.
One result of this push for more consistency in interfaces and focus on improving user experience is that we’ve decided to drop a few apps from Luna. We shipped both AbiWord and Gnumeric in Jupiter simply because we felt we should include some GTK-native office apps, but they were not well-accepted and simply don’t perform up to elementary standards. In addition, they have been poorly-developed with infrequent updates, and they have no obvious plans regarding GTK3. We’ve also decided to drop Transmission as it’s more of a power user tool; average users won’t use it and those who know what it is will be the type of user who knows how to download it. These apps will continue to be available for installation in elementary, but we will no longer include them in the default install.
Following up the announcement of Switchboard, we decided to undergo a plug sprint to get the essential plugs developed and tested. We put our team of designers to work on providing mockups, and many developers helped pump out some code. This sprint was another win for users and developers, as it gave developers who are starting out something small and manageable to work on, and users will get all of the wonderful plugs.
Next, let's look at the elementary widget library, Granite, and some ways we’re looking to improve it. For those who are unfamiliar with Granite, it’s what brings consistency and ease of development to elementary apps; it is a widget library that includes all the elementary-style bits you’re probably familiar with (but aren’t in GTK by default): AppMenu, the Search field, Contractor, and much more. Instead of developers recreating the wheel each time, they simply use Granite’s wheel.
We’re now looking at possibly expanding Granite to cover two more important widgets: the “file picker” dialog and the “about” dialog. The file picker is what you see whenever you open or save a file, and is a widget hard-coded into GTK itself. Unfortunately, the GTK widget is extremely lacking and confusing, especially when compared to Marlin. The about dialog is a similar story; it’s hardcoded into GTK and is not very nice to use. By including the file picker and about dialogs in Granite, we’re making it easy for developers to make beautiful apps that fit right into the elementary desktop. Also, there’s nothing keeping developers who make their apps for other GTK-based platforms from using Granite; it will still make using the wonderful elementary widgets simple, even if it’s not on elementary.
![]()
Above: A mockup of the file picker from Daniel Foré's deviantArt
By tackling these issues of consistency, we’re making elementary rock even more. Critics may point out that we’re recreating things instead of collaborating with upstream--which is an understandable concern--but there are many valid reasons to do so. First of all, our approach is to first work with upstream if possible, and to revert to doing it ourselves if we’re not able to get it upstream. Second, our goal is consistency with the rest of the desktop, and our vision of a perfect desktop oftentimes differs from that of upstream. And lastly, our apps already use the Granite widget library for many widgets, and including these improved dialogs in Granite makes sense since they themselves will be utilizing Granite widgets.
We continue striving to be the best open desktop platform, and it’s times like these I get excited and am reminded that we really can make a difference through our work. How else can we improve consistency and ease of use? Let us know what you think in the comments!
Any plans for a Login Sound or a sound theme?
http://elementaryos.org/support/answers/558
Finally! The file chooser dialog always bugged me and I'm glad the elementary team is addressing this! It is kind of a shame that the GNOME people didn't improve the dialog for GNOME 3, especially since it is an essential part of almost every application.
I also have some feature which I alway missed in a file chooser:
- zeitgeist and search integration.
- "Save" the current folder for the current application and open it again when the same application opens the file chooser. Also persist this state between application executions.
- global and application specific bookmarks.
I don't know how this could be implemented, but it would be nice if the file chooser implementation in Granite could be swapped, unlike the hard-coded GTK version. Kind of like a file chooser "plug".
Actually, GNOME addressed some of these issues in GTK 3.2
The only HUGE problem I have with Midori is the massive lag on web pages like Instructables and OMGUbuntu. Also, as I am sure you know, it needs a new speed dial. Postler would benefit from *a few* more options, as it is the application people will use for email, a personally customised process. BeatBox needs iPod support and support for online music, and there needs to be a cool wingpanel addon that runs gnome-panel applets inside itself, allowing for backwards compatibility. Other than those things, I have no gripes with the OS.
The problems you're experiencing with those sites is in WebKit, not Midori. This should be fixed in the latest versions of WebKit.
Recent work has been done on Speed Dial and we've discussed further changes.
BeatBox is as-of-yet unreleased software. When it's released it's expected that it will have more features than it's current state.
The decision not to support gnome panel applets is purposeful. Backwards compatibility is not desired. Instead, encourage developers to move to the indicator spec.
I really hope that eventually an office suit, somewhat based on citrus ui, would find its way to users.
I think it's a great idea. This is going to be the next "nautilus-elementary" as far as I'm concerned. I can't stand the file picker that's currently implemented. You guys rock, keep it up!
What´s the app that will be gtk2 instead of gtk3?
Most likely Midori, though it's possible that it could be moved to GTK3 before the release.
I wonder if Granite will ever replace GTK entirely. Also, wonder if Midori will get the Abiword/Gnumeric treatment since it's also not a elementary application.
The thing I like about the elementary project is that it wont include anything that's not a guaranteed part of their product. Nothing will make it into the OS that they aren't willing to take responsibility for.
That responsibility for the experience is whats lacking in all other Linux OS's. Usually just about everything except for the installer and package manager is made by a completely separate project with it's own goals and promises. This is fine for things like backends/frameworks but not for user-facing things such as the desktop and applications.
Midori won't get dropped; we're committed to collaborating with its developer and making it even better. Hence why it fits in so well! It's also improving at a rapid pace. And lastly, it's probably the one type of app that nearly every single person that uses the OS will use, so we obviously need to ship it.
I love Midori's ambitious spirit, but I have to admit: I don't use it. Load times are too long, and many of the web-pages I like to frequent render strangely. I want to pull for Midori. If they could bring it within a stone's throw of Firefox's functionality, I'd make a lateral.
Hmmm. I understand your decision not to include Abiword with Luna, but I'm surprised to hear it's evidently gotten such negative feedback. Abiword has been nothing but great to me over the years. I use Libre Office at work (as a high school teacher), but for home use, it's Abiword all the way for this nerd. What's not to like?
This is a problem with an outdated WebKitGTK+ version in Jupiter, not with Midori itself.
That's good to know. I hope it keeps improving with the rest of the OS.
I like elementary so far :) and i so much like Luna! is there a beta w/in this year or a release?
There aren't any concrete dates for a beta/preview release, but I do think there will be a preview version of Pantheon to install on Ubuntu 11.10 at some point before 12.04 is released.
I honestly think elementary is the distro with the best philosophy in the Linux universe. Hope you guys are the next Ubuntu (in terms of influence) because I truly think they way you're handling this is how Linux should progress.
Thanks! Hopefully we can help shift the focus of open software in general to be more focused on end users and less on "by developers, for developers."
Great news. The file picker is very frustrating. I lost a lot of time for very basic and common operations.
Can you replace the current GTK File chooser default by your file picker ?
Yeah, my frustration with the actual file picker is the lack of network transparency... I hope this one will support pick-from/save-to any .gvfs mounted device... Is it really that hard??? (I'm not a developer)
It's more or less what xapantu is doing with the about dialog so I think it is possible.
I actually started writing this entry before xapatnu had worked the About diaolog into GTK... that'd be so awesome if the Granite one could replace the stock GTK one everywhere!
Good news! Would be even better if there was a way for other apps to use it (as that "open file" dialog rocks) despite them not using granite. Maybe once it lands people from GTK will agree that it looks pretty darn good and implement it.
As for suggestions for further consistency and ease of use, there is one I would love to see and I believe this was discussed (but I'm not 100%):
Custom directory structure. Ah, here, found it https://blueprints.launchpad.net/elementaryos/+spec/logical-filesystem-o...
I don't know the status on this but it has my vote to "please implement this". :)
Perhaps even automatically installing any .deb that gets thrown in the /Applications folder. I know, I'm thinking OSX packages but that is a nice system.
A few suggestions - some might already be in, I haven't had a chance to try Luna:
If possible, when changing a folder's icon (or any icon, for that matter), the file browser should automatically go to the default icons folder and present it in miniature mode.
Have marlin show the thumbnail for .ora files automatically. Currently one must install a plugin for nautilus to show the miniatures for those images.
Have the unrar plugin installed by default (I'd rather go with unarchiver but that is missing a gui still).
Make it easy for an advanced user to add an "Open as admin" to the right-click menu.
Icons. Make it easy for those that like icons next to things to have them on (buttons, right click menus...) and, for those that have the icons off, have the boxes, menus, etc... take that into account. In other words - no blank spaces for those without icons, no missing icons for those who do want them.
Have mount/unmount .iso/.cue by default available on Marlin's right click menu.
Now, I have yet to try marlin so this might be moot but, when moving files into a window in list view, have an easier way to know what will happen - current nautilus iteration flashes blue for a split-second and that is it. Also, it doesn't really allow drag and dropping into a folder that has many sub-folders, unless you drop it at the breadcrumb. So make the hint for when dropping at a breadcrumb nice. Right now in Jupiter it is a black 1px outline, doesn't fit with the rest.
I also don't know how emblems are handled in Marlin but the current dialog in Nautilus is highly inconsistent. Having the icons automatically resize so that you are not left with blank columns would be nice.
"Out there" ideas:
Allow "linking" files together and for some, do it automatically. For example, an "Incredible_movie.avi" in the same folder as a "Incredible_movie.srt" would create a link between them. What the link would do *exactly* I'm not sure. Maybe when you move one, both are moved or perhaps if you move the .avi it still knows where the subtitle is. Would be nice for those, that backup their movies and tv shows in an organized manner. You could have a folder solely for subtitles or... something. Or maybe attach the subtitle file to the .avi.
It would show a small emblem on the file icon. Hmm I like the idea of attaching! Man, so many mockups I want to make.
Allow files on the desktop. But! And this is important, have the files fade from view, effectively hiding them until the user clicks the desktop. Perhaps another click slowly hides them back. Or maybe a drawer or command to show them or... hmm... gonna see if I can make a mockup of this too.
I know I talk a lot and I apologize if I'm inconvenient. Really like elementary OS and wanna see it go as far as it can. :)
@Kekun Kudos mate :D
Linux has a great symbolic links feature, good as any shortcut. It's built in and no messy .lnks like in Windows. .desktop is still needed because it has metadata though.
You have some really good ideas!
I really think that linux on the *Desktop* should have some more logical file system hierarchy. I really like the GoboLinux approach!
I also agree about the idea of app packages like in OSX. But it should be done the "linux way" and not copied from OSX. The app packages in OSX may be easy to install and distribute, but they also lack the power of linux package management:
- waste of disk space (every app package contains the libraries)
- security issues. say, when several applications use libssl and there is a severe security hole in this library, only the package libssl gets updated and every application profits from the update.
I don't know if there are existing projects that are trying something similar (please tell me if there are :-)), but my idea is this:
A new package format like in OSX that contains all the necessary libraries to execute the application. You could just double-click the file and the application starts. This way you could easily test applications before installing them or take them with you on an USB stick (portable). But you CAN install the application on the system too. An installer would then extract the package to an application folder, like /Applications/Postler, the libraries from /Applications/Postler/Libraries are copied to the global /Libraries folder and symlinked. And finally the new libraries and the application are registered with the package management system (if they are available in a repository).
This is just an idea I had, it is not very though-out and I don't know if this would work. But I think this would really be huge since it combines the strengths of both worlds.
Have you tried Appimage by any chance??
http://portablelinuxapps.org/
I think the issue is the current hierarchical filesystem paradigm and the files themselves. What's a file? What should interpret it? An application or the OS itself or a helper? And how? I have dreaming a filesystem for ages which should just have one global FS (out of root). So, does not matter how many devices/filesystems are attached to it there will be just one global FS, where any devices/FSs like USB stick, external drive, partitions, cloud etc. can be easily attached (mounted) and detached (unmounted) to/from that FS. The users can mount it as a folder (like home) and would be just able to see the objects (files) she/he has got the right to see. It's has similar feature like the GoboHide, but much more as if two users mount it, they should see completely different objects in their mounted folder. The FS should be able to store any entertainment objects (audio, video, pictures, apps). Why I say object instead of files? Because they wont be files anymore, but entities of that FS. A movie, or a song album will be just one object /w some meta and normal data (like metadata(s) and payload). The metadatas could be a CD/DVD cover, subtitle, some sample and the payload the video itself and these all packed in just one object. So, imagine if one user using a tablet and just attach a USB stick in her/his tablet and all the files which are public will be available for everybody who using that global FS (cloud or local). So, attach that USB to a tablet and you could start to watch a movie stored on tha USB on a TV (of course if it's playable on that device). Same, /w the app, if someone add an app to a that FS anybody could use it who using the same OS and or architecture. I saw a lot of people fallen when tried to get rid of the hierarchical filesystems and files, but who knows maybe someone will success.:)
Thanks!
I've submitted a blueprint for the .deb install. https://blueprints.launchpad.net/elementaryos/+spec/install-deb-by-drag-...
It would be not entirely like OSX because it would, just like a regular .deb install, look for libraries and see if everything is there. It would only install libraries if they were missing, therefore it would not have the extra weight. :D
I very much like the idea of a self contained package - I'm doing a mockup on a similar feature that actually is a way to package things when you think about it. But it goes further than packaging only ;D. Gonna expand my idea thanks to yours :D I'll be sure to bookmark this conversation as you are things that match my concerns. Good idea Hornet :)
why dont you report such bugs, or register blueprints?
Oh, but I will ;) It is just that Cassidy said "How else can we improve consistency and ease of use? Let us know what you think in the comments!"
EDIT: Reported/checked everything, now only missing work on the "Out there" ideas. ;)
Uhhh. I honestly think you shouldn't have taken out Transmission... not everybody who uses this OS is completely incompetent
That's the point; those who are familiar with torrents are perfectly competent and can easily install the torrent client of their choice. Everyone else has one less app to be installed (and collecting dust) by default.
Is it possible for you guys to tweak deluge and integrate it with elementary?
Like make it more compact, sleek and light looking.
That would totally be awesome!
elementary doesn't fork existing apps, but maybe designs could be submitted to deluge developers and see what they think. ;)
About the "About dialog" (about-ception?) I wanted to let you know that it is going on pretty well, I'm trying to include it into granite right now. Plus, apps coded using Granite Application will have nothing to change to benefit of the new about dialog !
Let's make dialog boxes rock hard !
Will it use the ne white style of the mockups?
Hopefully. The only issue right now is getting the window title/border to match; it's something that I don't think is yet implemented in Compiz/Metacity.
That's great! Keep up the awesome development. :D