Code Monkey home page Code Monkey logo

Comments (18)

probonopd avatar probonopd commented on June 3, 2024 6

Please always target the oldest LTS release of Ubuntu when developing software, so that all still-supported versions of Ubuntu can use the application. Currently this would be xenial. Thanks!

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 5

That is what I mean - please develop your app against Gtk/Gnome no newer than what comes with the oldest still-supported releases of Ubuntu and with debian (old)stable.

I develop against what i use, and i will not use an almost 4 years old system just because a few guys don't want to upgrade AND refuse to install flatpak.

Besides lack of time

Lack of time, lack of RAM to launch VMs, lack of patience concerning installation processes: i use debian Sid and i have a partition with elementary Juno (which is 18.04), as far as i know the guy doing the PPA has 19.04 only, and i will not divide my disk into dozens of partitions just for this, i'm developing this because i like UI design, i have no moral obligation to provide native deb files to each existing deb-based distro still alive (and sadly, dumpsters like noobslab even provide installation instructions for unsupported ubuntu releases so i'll have their bugs too)

from drawing.

probonopd avatar probonopd commented on June 3, 2024 5

i have no moral obligation

Of course not. I am developing software in my spare time just for fun, too. Was just curious why one would develop something without at least trying to maximize reach by keeping system requirements moderate. No offense ;-)

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 4

The app is using Gtk.Template which exists only since the version 3.30 of python-gi (changelog (#52)), other dependencies just have a minimal version number corresponding to the same period.

Removing it is not hard (it was compatible before b0a0f30 i just didn't realize this commit would break compatibility). I'll not do it on master, but it can be done on the branch 0.4 (and later when it will exist on the branch 0.6, etc.)

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 4

Please always develop against the least common denominator

flatpak exists for 16.04 so targeting the last stable GNOME runtime is the least common denominator in my opinion.

I will not provide a package i'm not able to test

It will not use the native Gtk that came with the system.

and I didn't test the app with the native GTK from 2016, so it looks like a perfect solution.

It's not a solution. It's a workaround at best.

Running an app safely and up-to-date with all standard package management features is a solution. A workaround would be asking the user to manually manage a bunch of archives piling up in ~/Downloads

A developer developing for Windows would also never only develop for the very latest and greatest version of Windows

The devs who are paid probably don't do that, yes. Currently at least, but wait until the EOL of Windows 7 in a few months. And we're only talking about "win32" apps, not about the Windows Store, where things are already targeting specific machines and versions.

The version 0.4.3 will be compatible with 18.04 (thus with @ericoporto snap i guess?), maybe if we're lucky it will work with 16.04 too?

from drawing.

probonopd avatar probonopd commented on June 3, 2024 4

Thanks for your answers. I don't think we will find agreement on this one, yet I think it is beneficial to see both sides of the discussion.

the least common denominator

The least common denominator for Gnome is the Gnome that comes with the oldest still-supported releases of Ubuntu and with debian (old)stable. Same goes for Gtk and other system libraries.

flatpak

Does not change this, because it is shipping its own Gnome rather than using the one that came with the system. It is merely a workaround.

I will not provide a package i'm not able to test

Why would you not be able to test such an application? (Besides lack of time, maybe)

I didn't test the app with the native GTK from 2016, so it looks like a perfect solution.

That is what I mean - please develop your app against Gtk/Gnome no newer than what comes with the oldest still-supported releases of Ubuntu and with debian (old)stable. Of course now you have probably already introduced dependencies on bleeding-edge features which makes it harder than necessary to get your app running on the Gtk/Gnome that comes with those types of systems.

And we're only talking about "win32" apps

I am talking of the .exe files that one can download from application author's download pages.

from drawing.

probonopd avatar probonopd commented on June 3, 2024 3

Please always develop against the least common denominator if you care about what your users are running. A developer developing for Windows would also never only develop for the very latest and greatest version of Windows. Same goes for the Mac. Same goes for Android. Same goes for iOS.

I never understand why it is so hard for developers in the Linux world to understand this simple principle.

Every Android developer will think about which Android versions to target, and "the latest and greatest" is practically never the answer.

flatpak

Does not run everywhere. E.g., on my systems.

from drawing.

probonopd avatar probonopd commented on June 3, 2024 3

It's not a solution. It's a workaround at best. It will not use the native Gtk that came with the system. Besides, as I wrote above, it does not work everywhere.

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 1

But i don't care about Xenial, and i will never introduce regressions because people refuse to upgrade. I target the current GNOME flatpak runtime, the rest is trivialities. I agreed to support 18.04 because it's easy, not because i absolutely want people from the past to have deb packages

from drawing.

svastian99 avatar svastian99 commented on June 3, 2024 1

thanks for the app it's very intuitive!
PS: Is it normal that it requires so much space in a system based on Ubuntu 18.04?

_ ID Arch Branch Remote Download
-1 org.gnome.Platform x86_64 3.32 flathub < 373,2 MB
-2 org.gnome.Platform.Locale x86_64 3.32 flathub < 319,9 MB (partial)
-3 com.github.maoschanz.drawing x86_64 stable flathub < 1,2 MB
-4 com.github.maoschanz.drawing.Locale x86_64 stable flathub < 46,0 kB (partial)

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 1

Well it requires 1.2MB.

And then, there is just the normal runtime? All GNOME apps share the same runtime, so if you install several apps it uses less space than if each app bundled its dependencies

Not the point of the issue anyway

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 1

The support for GtkTemplate in previous versions was using a bunch of legacy code i didn't write myself, i'm not comfortable with the idea that i might forget to remove it later

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024 1

I still have to change the control file, then it should be fine

from drawing.

gnomelibre avatar gnomelibre commented on June 3, 2024

@probonopd Thanks to Flatpak, who solved this kind of problem, developers can develop modern applications that can be used on old systems.

from drawing.

bkanuka avatar bkanuka commented on June 3, 2024

Out of curiosity (and understanding your dev style) why patch 0.4.x without updating master? This would make sense to me if releses after 0.4.x plan to drop support for 18.04, but you said above that this can be done on 0.4 and later.

from drawing.

maoschanz avatar maoschanz commented on June 3, 2024

holy shit Ambiance is really hideous Capture d’écran de 2019-08-19 19-03-17

from drawing.

sk1project avatar sk1project commented on June 3, 2024

@maoschanz curiously Ambiance is a best theme for crossplatform apps because it compatible with MS Win and macOS layouts. Unlike Adwaita which is adopted for tablets.

from drawing.

clefebvre avatar clefebvre commented on June 3, 2024

Hi @maoschanz,

Many thanks for the 0.4 branch and the compatibility with 18.04!

from drawing.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.