First of all, let me say to the Gnome Community team that I love the Gnome
project. All of you are making an amazing work and please, continue
improving the people lives and feelings like mine. Nowadays what it define
which Linux distribution I use, it’s based on the Gnome experience that I
can have with it.
Please continue with this amazing project. For some of us it’s too
important and it means too much.
This email it’s a little extensive, I have been spend around 6 hours and
half on it but I hope that I can help to improve and share some ideas with
you that make better the Gnome desktop project and the user experience in
general. Please, consider that all my recommendations are just that,
recommendations of a personal point of view, and dreams that I wish to
share with the amazing Gnome Community
AND please, forgive my English, isn't so good as I wish. Working on it.
I think the Gnome desktop and applications must focus in a “few” specific
aspects, optimization and performance, stability, new functionalities and
INTEGRATION. Integration with almost any existent platform directly from
the Gnome desktop.
I wish some day can have a similar MacOS user experience on Gnome, that
integrates with iOS and Android devices
I currently use an iPhone 4s, a gift from a friend. Apple remove the
support for that kind of devices some time ago and also many applications
are doing so. I’m really disappointed about them and its politic about many
things. Do you know what I wish, I wish could have an Linux operative
system with Gnome 3 running in my iPhone 4s some day, jeje ;). An open
source, free and updated software running in a privative and outdated
device, NICE.
Lets imagine that Gnome could provide support for all those old and
unsupported devices (iOS and Android) with updated and functional Linux
applications through the Gnome mobile user experience, and of course,
provide a layer of compatibility with all those android and maybe iOS
applications. Don’t worry, it’s just a dream. But if you make it let me
know it for install it into my iPhone.
Now, I will share a few ideas, recommendations and new functionalities that
can be integrated to the Gnome desktop
Gnome project
-
Improve integration and synchronization between mobile devices (iOS and
Android) and the Gnome desktop.
-
This is something really important. Lets imagine that Gnome allows to
computer companies (like Lenovo, Dell, HP, ASUS, ….) to have custom
operative system on phones, tablets, desktop computers and laptops that
synchronize and integrates perfectly between them (just like Apple it
does), providing a custom user experience making use of a
customized Gnome
as interface. One of the main aspect that make the Apple
Computers company
so strong, it’s the integration between all its devices that improve so
well the user experience. And the main reason that Android has been so
popular on mobile devices it’s because Google provide to companies the
opportunity to create a custom user experience over it operative
system. *That
it’s what Gnome needs and help to computers companies and Linux
distribution**s** to provide: integration between any kind of
devices, and user experience customization **through the Gnome
**d**esktop
**(the best of both worlds)*. Now, Linux and Gnome desktop will give
to computer companies the opportunity to provide to clients a
similar or a
custom user experience like Apple products it does
-
With this, companies will be able to distribute its products (provide
support through Gnome Builder) with a customized user experience
with Linux
and Gnome desktop.
-
The amount of active users that use Linux and more specifically Gnome
desktop can increase dramatically, providing from companies support for
drivers, an increment of games and applications and financial
contributions
to Gnome
-
Make the Gnome desktop and the Gnome applications code infrastructure
more friendly like the Linux philosophy
-
Provide priority when load applications, like web browsers when load web
pages to improve performance
-
Apply Code Splitting webpack feature to improve performance in desktop
and natives applications prioritizing the main applications needs.
Provably, also make use of reactive programming <http://reactivex.io/>
-
Make the indexation process more or less aggressive in dependency of the
computer technology. There is important that it can be configurable by the
user or adaptable under hard drive demand
-
In computers with hard drive, during the indexation process the
performance and user experience decrease significantly by the hard drive
bottleneck. Lets image, for example, that I’m programming (with
PyCharm <https://www.jetbrains.com/pycharm/> that reindex the Python
interpreter each time that start up) and starting up Firefox with a few
opened tabs and some addons DURING an active Gnome indexation process
(personal experience), OR, I need to do something else while Gnome it’s
indexing my thousands of Videos, Pictures, Music, Documents (cousin
experience). Believe me, everything becomes slow, and the user experience
it’s not the best. So, I think that it’s important that it can be
configurable “how much aggressive is the indexation process
it’s”, and make
it by default under hard drive demand, prioritizing the user
process demand
-
The idea, is make this process the most “transparent and in silence”
as possible
-
Allows to choose which Video, Documents, Music, Downloads, Pictures, …
source will be (for example, in another disc partition)
-
Integrate Files notifications and Firefox notifications (like Chromium
does) to the Gnome notification system. For example, when a copy of file or
a download has finished. Basically, integrates all possible applications
with other applications, the Gnome notification system (like birthdays of
contacts: similar to mobile experience on iOS and Android) and the Gnome
ecosystem itself. *“The little details are important, and in the most of
cases, make the difference”*
Progressive Web Applications
Provide support for Progressive Web Applications
<https://developers.google.com/web/progressive-web-apps/> like Microsoft
and Apple have already done, making PWAs available to Gnome and the Linux
ecosystem. Also integrate them with the Gnome notification system
Web (epiphany-browser)
-
Make default searches through Ecosia <https://www.ecosia.org/> search
engine.
-
This is something really important. Linux can promote through Gnome
desktop a project of HIGH IMPORTANCE on these times. *“It doesn’t
matter if we build the best Open Source applications in the world if we
haven’t a world to enjoy them”*. This is something really important
and we can make the difference. I’ve already configured Web to search by
default through Ecosia <https://www.ecosia.org/>.
-
Provide support for developers that can be integrated with Gnome Builder
projects: like time of page loads, different profiles by tab, maybe Google
Lighthouse plugin or a custom one, and the traditional developer options
available on existent web browsers
-
Provide support for addons, or if its possible, use the existent ones on
Firefox or Google Chrome
Files (nautilus)
Create a list of copy by priority that copy just one resource at the time
(like UltraCopier <https://ultracopier.first-world.info/> does or something
similar) that integrates with Files and its use will be optional (activate
it and deactivate it through the Files Preferences). This is really useful
for computers with hard drive, especially when it makes copy of multiple
files concurrently. This will improve the user experience a lot and the
system performance in general
Gnome Builder
I’m currently programming in Python and some Node technologies like React
Native, and I wish could do it without need to install any external IDE,
just Gnome Builder, and have the same functionalities and support like the
best Python IDE (PyCharm <https://www.jetbrains.com/pycharm/>) or JetBrains
products <https://www.jetbrains.com/products.html?fromMenu#> does to other
technologies (use as references) but with a lot of best performance and
through Gnome Builder with the Gnome experience
I wish that Gnome Builder will be an IDE not just for Gnome, also for
almost any other project in any other programming language, in any other
operative system. You just need to work in the core of Gnome Builder, and
make available the integration with anything else through Extensions
developed by the community. Focus on the development of Gnome Builder for
Gnome, and leave the rest to the community of developers
-
Make available Gnome Builder installers also for KDE (maybe through Snaps
<https://snapcraft.io/> or Flatpak <https://www.flatpak.org/>) without
need to install to much dependencies, Windows and MacOS, even through a
Docker image ;) .
-
Provide support for external Extensions developed by the community.
Example: something like the Visual Studio Code, Atom or Sublime Text
extensions. That it will provide a great support to the IDE and more
developers will know about the Gnome projects listed at the initial view of
Gnome Builder and contribute with them.
-
IMPORTANT: Provide support for Docker (reference: PyCharm
<https://www.jetbrains.com/pycharm/> Professional) and the use of
additional Docker Registry
-
Provide support for external python interpreters, custom virtual
environments, even to python interpreters existent into a Docker container.
Also can be used some dockerized node (npx or yarn) package repository,
etc...
-
Create a Designer view (like Editor or Profiler) with draggable
components that generate code in background that can be exported to
development framework or programming language like: HTML, BeeWare
<https://pybee.org/>, wxPython <https://www.wxpython.org/>, React
<https://reactjs.org/>, React Native
<https://facebook.github.io/react-native/>, Angular <https://angular.io/>,
Native Script <https://www.nativescript.org/>, Vue.js
<https://vuejs.org/>; just by making the custom specifications through
external Extension
-
Identify designer components from already existent source code
-
References for the “Gnome Build Designer”: React Studio
<https://reactstudio.com/> by Neonto. YouTube channel
<https://www.youtube.com/channel/UCrcoH14H-MLS-MKxZGMwVGQ/feed>
-
Basically this it’s a mix of ideas between Xamarin Forms
<https://visualstudio.microsoft.com/xamarin/> and BeeWare
<https://pybee.org/> project (amazing idea)
- See "*Diagram1 - croped.png file*" as reference. Basically, both
diagrams represents the same idea (one for HTML5 components, the
other for
Native UI components) but with different representation
-
Execute the Terminal in the Terminal at the bottom panel instead of the
Editor
-
Make components independently. For example, allows the Terminal shows in
different modes: Floating mode or Windowed mode. This can be useful if do
you have two or more monitors run the terminal process in one monitor and
stay programming in another. Even if do you have just one monitor (in my
case) I can see in more details the results in the big view.
-
Reference: PyCharm <https://www.jetbrains.com/pycharm/>
-
Provide support for Docsets provided by Dash <https://kapeli.com/dash>
or custom ones like Zeal <https://zealdocs.org/> it does, integrated
with the Gnome Builder documentation support
-
Specify key combination for each command, example: Comment code and
Uncomment code
-
Show dependency needs for some specific functionality or support
(python-jedi, python-autopep8, isort, python-isort or python3-isort) and
try to install it
-
Provide support for external SDKs like the Android SDK
-
Allows test applications in real time with existent emulators AND
directly on mobile devices and tablets (like Expo.io <https://expo.io/>
it does) through a connection established through GSConnect
<https://extensions.gnome.org/extension/1319/gsconnect/> Gnome
extension, for example, but directly with connected device to the Gnome
desktop without the need to access to an online account
MUST DO: Provide support to projects that can be exported to any device and
operative system from Gnome Builder. So, companies that use Gnome like
explained above, can develop its applications from Gnome Builder on Linux
preferably without compromise the infrastructure. The transition process
must be as naturally as possible.
Evolution
Please, update Evolution interface with actual concepts and Gnome
experiences, and provide support for themes. Nowadays exists a lot of
amazing references available. That might be the difference between an user
that use or doesn’t make use the application
Gnome Boxes
Integrate Gnome Boxes with Docker with functionalities similar to Kitematic
<https://kitematic.com/>, the Docker GUI.
To Do
-
Integrate scheduler To Do tasks with Calendar and the notification system
-
Recognize specific words that integrates with applications. For example:
-
“mailto: [email protected]”, or just [email protected] Integrate with
Evolution or default email client
-
“search: some topic” Integrate with Web (epiphany-browser) and search
“some topic” through E <https://www.ecosia.org/>cosia
<https://www.ecosia.org/>
-
“ecosia: some topic” Integrate with Web (epiphany-browser) and search
“some topic” through E <https://www.ecosia.org/>cosia
<https://www.ecosia.org/>
-
“+53 XXX XXX XX” Integrate with Call application on mobile devices
(in the future)
-
...
Gedit
-
Improve performance and optimization (it’s too slow at start up)
-
Emulates the Vim and Emacs text editor
-
Provide support for Emoticons, Headings, Checkbox, Sign and Pictures
-
Reference: Notes iOS application
Gnome MPV & Videos (Totem)
-
Implements graphical functionalities and support for themes like Bomi
player <https://bomi-player.github.io/index.html> it does.
Conclusions
In general, take as reference the best in the field and adapt them to the
Gnome concept. *“Don’t **waste your time **reinvent**ing** the wheel. *
*Just* *take a look to the best one, see **the concept, the design, **how
it works and what **do you consider** it needs, **adapt it to your concept**
and **make it better”*
Provide experience and concepts currently available on mobile devices to
desktop environment. *“Programming on**c**e, ha**ve** similar experience in
any device”*
I hope these suggestions can be helpful for improve Gnome and it can
contribute with the project to make it better. In the future, I hope that I
can contribute in a more active way.
Friendly, Hector Luis Lorenzo Zaldivar
_______________________________________________
gnome-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gnome-list