#GNOME desktop to the next level Version of the document 0.1 ## About GNOME GNOME is probably the best open source desktop environment with touch experience and a powerful community of users and developers around. But is not just a desktop environment, GNOME provides a complete platform and user experience, by adding also many native apps, framework to develop, guidelines and many other helps. The methodology of development is so good that other projects like Ubuntu just took the idea from it. Stability and continuity is the main goal, releasing a new version every six months, and with a very strict roadmap in order to keep the quality of the project. Also it has its own guidelines (GNOME Human Interface Guidelines), and a very talented design team. GNOME Shell is a modular environment, which means it is extensible with third parties software (extensions, available online). Also it's developed together from its own frameworks and libraries, GTK+ The organization of ruled by a non-profit foundation, which makes sure that the goals of the GNOME Project are accomplished. ## What GNOME provides ### Some of the apps Some of the apps are: - Web: web browser - Maps: offers an open-source alternative to Google Maps - Boxes: virtualization for other systems (kvm frontend) - Eye of GNOME: image viewer - Totem: video viewer - Music/Photos: provide a touch experience apps for own music and pics - Evince: document viewer - Filleroller, Gedit, Nautilus, Disks, Tracker... (*) Complete list is here: https://wiki.gnome.org/Apps/ So GNOME provides itself a complete user experience for most of the users "out of the box" ## What GNOME has partially (code & apps) - Online sync - GNOME provides sync to different cloud services, but it doesn't come with a cloud experience itself (like files sync and share and backups). Can do through third parties apps, but is not native. - Launcher: although GNOME Shell is a great launcher, is lack of personalization and also just can run on fullscreen. Just by adding a simplified (smaller on screen) interface (by pressing Super+Space or Ctrl+Space) which could look like Synapse or Ulauncher with possibility of community plugins would make unnecessary all of the external launchers. Also customization like "search by default in local files instead using "Web" (why is "Web" always if the user chooses as the default browser other one?) - Providing more themes (adwaita is great, but there are so many community awesome themes). Ability to change theme should come by default without the need of installing an extension. - **Welcome wizard** (after first user login) to choose basic stuff, like default apps, theme, wallpaper, shortcuts, bars and dock and disposition (that can be done by available extensions already). And also a little introduction about the system and some recommended apps with the link to be installed (if they're not yet). - Dock always visible, "Plank" style, simple with some animations and plugins too. - Extensions should be able to be install through a native app, and descriptions and names of the extensions translated to other languages. - For advance users: dropdown terminal option just like Terminix does, and even create more terminals in the same window (that's awesome!). - Multi touch experience (mouse & touchscreens): although there are programs like Touchegg to do the job done, should be something native and included in the system. Also would be useful to have the possibility of handle many mice and their configuration (mouse + touchpad? - several buttons) natively. - Multi monitor support: there are some extensions that can improve GNOME Shell multi screen experience, but again, not native and there's still space for lots of improvements. - DLNA server / client: easy software to manage connection with other devices at home using DLNA. - Small options like: Wallpaper change desktop (Variety is a great program, maybe too many options, Deskchanger extension with some options would be more than enough) - Web (epiphany): switching to Web for me is just far away to steps, search box and sticky tabs. Also enter domain+ctrl+intro should complete the .com as the others do. Compatibility with Firefox/Chrome plugins would be just amazing but difficult to develop I guess. - PDF Mod: do the work, but is not active anymore - Shutter: same. Taking an advance screenshot has never been better than using Shutter. - Android-iPhone integration: program with wizard to be able to connect the phones and sync information (WiFi or cable) ### Special apps Most of users just care about - **Photos**: there are two great options for viewing, basic editing and organizing collection of photos. While Shotwell has importing, label and many options to organize, gThumb has an extraordinary editor. My question ¿Why have two teams working in apps almost equal? Wouldn't be great to have all these talented guys rowing in one same direction (not to mention about user experience of having just one killer app here). - For Importing pics and rename them, as well as other options, exiftool has proven his abilities. I don't use the "day/month/year" folder system anymore, instead I rename the pics according to exif like IMG_%Y%m%d_%H%M%S%%-c.%%e (as many phones do by default). The "DSC001.jpg" or whatever the camera wants to name it can result in many duplicate name files as well as not relevant information. With this system you can storage the pics of different cameras/cellphones in a folder and they'll be well organized. - Simple edition: Google already understood what the basics are, and put it into their Android app, named Snapseed. - **Video edition**: as a user I don't have many experience here, but cropping, basic edition to share with social networks should do the work. - **Music**: import files from devices or other folders, rename them (custom), help to make the library organized (without external apps such as EasyTag), friendly interface, playlist... Most of apps seem to be made to manage a small collection. Lollypop interface with Exaile features would be the killer app here. Banshee was a great one, but seems to be deprecated. - **Notes**: most important should be the ability to sycnronize to mobile app, such as OmniNotes or WriterP. - **Passwords**: something to store not system but user's passwords easily (and other private stuff). Enpass is so far the best combination of mobile+desktop app that I found. Buttercup is quite good reference, Revelation even deprecated still working fine, GTK UI for Keypass (compatible files) would do the job also. As Notes, sync should be a priority here. ### Integration As not everything can be native GTK 100%, try to adapt third parties software to GNOME experience by adapting the UI, to provide a full and satisfactory experience. Some options could be LibreOffice, Thunderbird, Firefox/Chrome... (survey?). ## What Gnome does not have (code & apps) - Advanced configuration: some options are really missed (Can't decide what my laptop does when I close it, really?), going to dconf or config files is not an option for 99% of the users in the world. No need options for everything, but sometimes is so lack of options. User's survey here would be useful. - Fingerprint reader: all my laptops come with fingerprint reader. I understand there's a need of drivers and make the hardware works, but there's not even an app to manage fingerprints if the hardware would be compatible. - **Powerful editor**: something really easy to implement, powerful text editor (markdown should be my suggestion), in which users could do easy documents as Wordpad in Windows before without the need of a Office Suite. Typora has an amazing UI, uText, Abricotine and GhostWriter are quite good references. - Self Cloud: although there are many (not so) options, GNOME should be able to offer a native cloud experience, not by developing a whole software itself, but dealing with other open source plattforms such as Nextcloud or Seafile and adapting Linux clients to GTK. - User friendly Backups: DejaDup was a good idea, Grsync is for advanced users, something in the middle with Cloud option would be what most of users demand. ## What could be improved IMHO - **Spread it** GNOME is already great the way it is now. Most of Windows users would be pleased to change. Why they don't? Because is not many massively well known neither extended. - **Native apps** - most are simply, brilliant and very useful but most of distros don't install them by default with GNOME desktop. Why? - **Too many "forks"** or alternative desktops - Open Source community is more interested in "create different options than collaborate in one solid path. I can bet that all the alternative's styles such as Mint, Elementary, Budgie and others can be done with GNOME and his extensions (Extensions/themes hackaton?). - **Lack of documentation**: some developers (newbies and advanced) find difficult the way to start to develop. Good, updated and well organized documentation will attract more developers. - **Lack of marketing**: noise in social networks, videos, tutorials, blogs (for users), visibility on media, more languages than English... Have people doing this instead of developers which time is precious doing what they know better. - **Hardware support**: well, I guess this is Linux issue. - Beta for users: use testing repo (together with some distros) and wizards so some advanced users can test, and give feedback in many different hardware about new developments. See beta program below. - **Themes!**: users love to customize their system. Themes portal and community together with a native app (as for the extensions) to choose theme easily. Question is: Why a relatively new systems suchs as iPhone, Chrome/ChromeOS and Android had attracted so many developers and have thousand of really nice apps but Linux desktop is still lack of some basic functionalities? ## Ways to improve ### Main goals 1. Get more users 2. Get more contributors 3. Get more partners 4. Get more incoming ##### Users Call the community, spread the voice, ask for participation - surveys, what people would like to see in next versions of GNOME?. User oriented website, with videos and descriptions of the whole GNOME apps environment. Create a massive marketing campaign, not just English, web translation as many language as possible. Try to provide as many native GTK apps and experience as possible, sponsoring GTK apps through the portal. Why GNOME? Why GNU/Linux? No licenses, no back doors, free, user oriented, no adds, no virus, hardware compatible, no obsolescence, mark that has everything the other system had and remark what other systems can't offer compared open source options. ##### Contributors Attract as many developers as possible (this is the key). Wiki, forums, **documentation**, tutorials, videos, to make it easy to start. But collaborate in software already in development instead of create new one. But not just developers, beta testers, powerful users (who can throw new ideas), designers, UI experts, translators, ambassadors, almost everybody can do a part if they have the right motivation. Increase the chances to attract community, in universities or open source events, give anual prizes to "Bests apps", Best idea, Best innovation ... Make the web of GNOME already a portal to boost some developments. Crowdfunding projects - Summer of code - Sprint codes - Credit and congratulate as much as possible (not just the code, press releases, blogs, ...) Message for developers: Try to be patient with the newbies. Leave the ego at home. **Mockup app** Inkscape is a great software, but not everybody can use it. A native software for mockups with GTK styles (something like Pencil) would help many users to contribute easily. One of the problems of open source is that just really advance users know how to collaborate. Let's bring new fresh blood! **Beta program** users don't like to register in gits, tracker issues or any other sites, developers don't like to get issues from emails or any other ways. Something in the middle should be an app/wizard which let you choose which app (GNOME supported) and the suggestion/bug. ##### Partners - As commented before, try to deal with an open source software such a Nextcloud or Seafile the possibility of do a "native" GNOME own cloud, considering it always as an option in the system (but also an extra incoming for the fundation). - Make GNOME brand well know - The logo is really cool and easy to remember, create some stiky logos, try to create something that bloggers, users can show. - Negociate with some hardware brands the possibility of offer autentic GNOME experience, try to sell as many hardware as possible with GNOME. This can be started with a startup, crowdfunding campaign or asian company (Xiaomi or Meizu would be a massive succed tho) having always in mind going for the big ones (Dell, HP) - 2 years business plan. - Create a department to deal/talk with accounts. - Certification levels (idea): 1. Level 1 (silver?): Hardware has GNOME 100% compatibility 2. Level 2 (gold?): Hardware has GNOME 100% compatibility and it will be updated to next versions 3. Level 3 (platinum/gnomantium?): Hardware has GNOME 100% compatibility, updates, and 100% open source (without any extra bloatware) ##### Incoming - As much merchandising as possible (tees, cups, hoodies, stickers, the typical stuff). - Fees for asociations and organization. Increase the quote for big companies (+1000 employees) and try to attract as many more as possible (create a sales team?). - Sell services for companies, certification program, testing, developing, ... - Partners with hardware companies in order to provide best GNOME experience but also resources to keep improving.