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: u...@gmail.com”, or just u...@gmail.com 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
gnome-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gnome-list

Reply via email to