Comments (18)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
I still have to change the control file, then it should be fine
from drawing.
@probonopd Thanks to Flatpak, who solved this kind of problem, developers can develop modern applications that can be used on old systems.
from drawing.
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.
holy shit Ambiance is really hideous
from drawing.
@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.
Hi @maoschanz,
Many thanks for the 0.4 branch and the compatibility with 18.04!
from drawing.
Related Issues (20)
- Bigger canvas than 4096x4096 HOT 2
- Scaling does not follow settings
- GTK4 port status? HOT 3
- Pleas add a paint bucket tool HOT 2
- snap packeg drawing software does not launch
- Eyedropper tool in color palette doesn't work HOT 1
- Clipboard from command line throws error. HOT 2
- Subtle color changes when saving without transparency
- Finally fixing the paint bucket tool
- Basic features HOT 1
- GNOME 43 runtime is no longer supported as of September 20 2023 HOT 3
- Show rectangle selection size in user interface HOT 1
- Bad parsing of Command Line arguments HOT 1
- Auto expand canvas to pasted / imported image size if it exceeds the default canvas size.
- color picker from screen doesnt work HOT 2
- Add custom preview to the GtkFileChooser
- Persistant window size HOT 3
- Save-on-exit prompt option HOT 4
- "Scale" settings don't stay set (keep proportions)
- if you apply paint to the area that you drew with a pencil, it will not be completely painted over
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drawing.