Zipped XML? Isn't that just OpenRaster? (which is already supported by GIMP anyway, but also supported by Krita and other image editors)
Gimp is shite. The dialogs commit so many UX crimes devs should go to a mental asylum. Text editing in gimp is god awful.
Photopea.com + MPA Photopea AdBlock extension + "Install page as app" in Chrome and now you have a shortcut to a fullscreen / no ads clone of Photoshop that is 100 times more user friendly and not designed by absolute retarded morons.
Non-destructive filter layers caught my eye, and has been something I've missed since moving off Windows/Photoshop to Linux. Looking around it seems like they introduced this in V3, which is great to see.
Haven't those existed in Krita forever?
That is probably the V3 feature I'd notice most in daily use. Non-destructive editing makes experimentation much less costly; without it, every “maybe this looks better” becomes another layer or file copy.
As usual, whenever GIMP is involved, all we get are negative, often unfounded comments about an excellent piece of free software that is massively used and developed with very limited resources, doing its job really well.
There’s something so pleasant about having GIMP around, efficient and so far removed from the disgusting greed that drives so many of the projects featured here.
I’m going to take the bait:
I know a lot of people don't like that but sometimes I feel that FOSS projects are intentionally sabotaging themselves by ignoring industry standard options/conventions and instead they are following open source ideas just to be different. GIMP is the perfect example of that and generally speaking UI/UX is the main symptom.
Blender was able to move forward by not listening to the FOSS crowd but to the industry. And see where are they now compared to GIMP.
important here to remember that Blender was created within the industry as a commercial tool. When open sourced the leader of the project remained and knew quite well what separated a good creative tool from a bad one. It was always situated in a position where the core users were either hobbyists or professionals.
Gimp was never in such a situation.
Culture is important.
So GIMP has a larger user base than Blender, what is your point ?
I love that GIMP exists but... I have to say, it never got rid of the "backend developer doing frontend" feeling, and I've been aware of Gimp for 20 years now (did not know how to...ehem, run photoshop in my teens)
[delayed]
Do you have your special dark mode glasses on?
Because I fail to see all the comments here as negative and unfounded. (and my guess why there is often negativity towards GIMP, is because it was too often advertised as a adequate Photoshop replacement, which it is not, so people got disappointed with it)
… and the sizes of their updates are usually impressive! Seems to be a big project that is managed well to keep a good pace and keep the community in the loop. (Although I don’t know much about their inner workings.)
Yes, it is very pleasant to have it around. Especially when you switch to something else.
It's a great piece of software. Best feature - not having your colours retrospectively removed from your project [1].
[1] https://www.reddit.com/r/graphic_design/comments/rdtodb/adob...
Zipped XML. Welcome to 1999 designs
Let's be honest, the real 1999 design would have been a custom binary format that happens to use the endian of the system it was developed on, and leaks bits and pieces of unflushed memory buffers whenever it writes to disk.
No that would be an early 1990s file format ;)
1999 is exactly right for the start of the XML hype, everything had to be XML, it would single handedly solve the software crisis (after OOP failed to do that) because everything would be able to talk to everything!
Indeed, early 00s was still the SOAP XML era if I remember right, WSD, SOA, ...
Jar
What would you consider good modern design?
SQLar[1], see [2] for some reasoning around why a database is preferred over zipped XML. Though, I'd be fine with a DBM-style database too as we only need the key-value part of it.
the SQLite archive format (it's probably worth linking to the main documentation[1], instead of the very old experimental repository) may not really be a good fit for something like GIMP's native file format. (To be clear, "SQLite archives" are not special compared to any other database: it's just a well-defined schema for an sqlar table, which the sqlite3 command line tool is able to create, update, and extract using syntax like the tar command.)
That being said, SQLite would still be a good choice, especially as it's a format that's really intended to be modified in-place, and has good data integrity features (eg: keep WAL enabled so that mid-save crashes/shutdowns don't corrupt your file), neither of which are provided by Zip. You could even just run zlib on data (be it XML or what have you) if optimizing the on-disk size of the file is desirable.
The problem with using database blobs for load/save is that you usually need a full database client in the application. SQlite advertises that use case, but it is complete overkill. You never need to run any sort of complex SQL query on an image file format for instance. Using XML+ZIP in this day and age is also a strange decision, but at least that way the data is inspectable with unzip, a text editor and an image viewer (assuming they use a standard image format to store the raw pixel data).
Think of Lightroom or automation over files. Many semi professionals from wedding photographers to designers want some form of batch automation and organization system over their files.
Several megabytes/gigabytes assets and you want to extract metadata, a preview, running as a batch some filter/compression/, conversion to CMYK, text injection ... fast partial read/write access would be nice. Right now, most reads are performed through indexes because those files are slow to read.
If we take 10k sqlite files and want to retrieve a row, we would be around 3s on SSD, maintaining preemptive indexes become less important for a lot of use cases.
Change management and versioning also becomes quite efficient - sqlite can be configured to not offset bytes, so CVS like Epic Lore can efficiently delta the files and store minimal delta, or the file format itself can keep its edit history. Oh and it's 3x-10x less bytes without compressing the whole thing, so pages are stable through time.
About needing SQLite client, it's real but it's roughly the same size as an XML parser.
In order to have any advantage from this, you would have the added complexity of splitting your file format into tables that can be queried in a useful manner. However, for an image file format, you most likely need to hold the entire definition in memory at all times anyway. Assuming that’s the case, doesn’t XPath get you there most of the way (assuming XML), with _way_ less complexity?
SQLite is fast, but it won't be faster than a hot loop in C. Having the loop construct dictated by the file format seems bad. For images it seems more reasonable to have them in-memory, except for huge image edge cases.
Compressed JSON with the binary content encoded in base64 strings, obviously.
Why would zipped JSON be fundamentally superior to zipped XML?
To answer seriously, my parent comment is a joke, JSON is a simpler format that maps better to most programming languages internal memory representations. Developers tend to prefer JSON’s simplicity over XML.
Welcome to 2026 unfounded hot takes.
Or less snarky: what's your gripe with zipped XML? It compresses reasonably well, has a useful structure, and has decades of mature tooling around it.
The obvious alternative is SQLite, and it has many advantages. If you want to do a "zipped list of files", SQLite does that just fine (that's what SQLar is), but it can do so much richer data. Even if you don't want that, it still offers resiliency that "zipped XML" can't match: if your software or computer crashes in the middle of saving your file, it'll almost certainly corrupt it. With SQLite, not an issue: all transactions are atomic, they either happen entirely or not at all.
I don't know what "mature tooling" you're talking about for zipped XML, but I guarantee you it's not going to be better (or more mature) than SQLite and its ecosystem.
Thanks! I had the exact same question for various of these posts here. I know these may be different groups of people, but I always see people advocating for simplicity, and zipped-XML is as simple as it gets, needs barely any extra dependencies (none in GIMP I assume), and is proven to work well (Word etc).
I also don’t understand why SQLite would be preferable here, considering you will likely also store large binary files alongside your document definition.. What does a db engine give me here?
I thought every developer of this moved to the Glimpse fork
That effort didn't last long. I think this is the first I've heard about it since inception, the repo (assuming this is the right one, https://github.com/joshgiesbrecht/Glimpse, it was the only GIMP related thing that came up amongst a sea of unrelated projects with the same name) is hasn't seen a commit in 7 years and what appears to be the official site away from a forge (https://getglimpse.app/about/) is currently unresponsive.
Pretty sure woke gimp was long discontinued
I'm surprised it got that epithet, I'm used to "upset by weird sex stuff" as being a US-right position, and "woke" being a term that's used by US-right to denigrate US-left.
Then again, I'm also old enough to have seen it shift significantly in meaning at least once, and I think I'm seeing it shift meaning again.
Before the weird sex stuff, "gimp" was an insulting term for a crippled person. The fact that it's so long out of common use for that purpose that a lot of folks don't realize that is perhaps an argument for not taking it too seriously. On the other hand, disabled folks are certainly among the most oppressed and abused and in ways that aren't well-understood by most folks, so a decent person should be pretty careful about using language that could be demeaning. I dunno. It feels like an archaic term that ought not have any power today, but what do I know?
They didn't try to force anybody to do anything. They forked a Free Software project as allowed by the license. You seem awfully sensitive.
Yeah, it's always felt like an "edgy" name a teenager or quite young man would come up with. Which makes sense, the original GIMP authors were college-aged boys when they created it.
I'd like it if they changed the name. We're (the Open Source community) not teenagers or annoying college kids anymore, by and large.
Maybe this is the way forward? :)
[dead]
https://itsfoss.com/news/glimpse-gimp-fork-archived/ Yep, it's dead.
I don't want to revel in the fork's demise for any reason besides relief that it didn't end up splitting GIMP's contributors and community in a way that would have harmed both projects.
> we could not find contributors willing to step up and help with non-code tasks like moderating communication channels
Gotta say though it feels ironic that they couldn't find enough people to be comment janitors considering the whole thing was based on wanting people to stop saying a particular word.
> As a result, we struggled to scale the project to match increasing demand.
‘Glimpse didn't fail; it was actually too popular’?
This wasn't even a serious project but an example of malicious virtue signaling with a long-term plan for sort of hostile takeover. People involved just took the original code and replaced every GIMP occurrence with Glimpse, added new logo/icon and called job done. Then went to the news sites trying to raise awareness of the supposed name controversy hoping noise will discredit GIMP while they'll portrait themselves as the saviors. Because who'd want to contribute to a software that has such bad reputation.
It's been over 24 years for me since I've used GIMP for the first time and the only problem that I had was always with GUI ergonomics. You had to understand everything anew after being more accustomed to proprietary software pieces. My friend never adapted to anything else but Photoshop - even Krita is beyond her abilities.
Nearly every discussion regarding GIMP on hn will include thread about the name 'problem' and this is getting tiresome. The name won't change and those who feel offended should focus on problems whose solution is genuinely productive.
I feel like it would have though if Glimpse had managed to become the default image editor on at least one major distro, just by virtue of people stumbling in to contributing some fix or addition to ‘the thing that came with my OS’ without necessarily being aware of the history.
Like the FFmpeg/libav fork that eventually got back together. Or Compiz/Beryl, or Emacs/XEmacs, or GCC/EGCS, or whatever :)
> For instance, we’re quite proud that a XCF file made by a small company for their logo in 1998 still renders the same way in the latest version of GIMP
How do they pronounce “XCF” such that it’s “a XCF file” and not “an XCF file”? “Xeceff”?
A "ksceef"?
But yeah, in my mind, it's always been "ex see eff", so an XCF.
I find some word processors don't test for vowel sound, and only adhere to the actual vowel letter.
In my mind it’s similar to exif
The beginning of “XCF” sounds similar to the beginning of “Exit”.
With “a” vs “an”, the pronunciation is more important than the spelling.
> With “a” vs “an”, the pronunciation is more important than the spelling.
I know, hence my question about the pronunciation. If I had thought the spelling was more important, the “X” would have settled it so I wouldn’t have asked.
You say "a exit"?
[flagged]
Also curious what you dislike so much. And how does Photoshop compare? https://i.ytimg.com/vi/_ghez_hKxeo/hq720.jpg I like the way Gimp has looked more and disliked many of their experiments changing things. The screenshot you linked isn't even the default look anymore, they've got a dreadful dark mode if you like that sort of thing. The first thing I do on a new install is restore the light mode and color icons it has, and make all the tool icons visible at once.
Your argument in favour of Gimp is that its default UI is dreadful? (I agree, but it's the fault of the Gimp UI, not of dark modes in general.)
I don't like its default look, but the screenshot they linked was non-default and what I do like, so I'm wondering why they find it sloppy/bad. Perhaps they would like Gimp's default more? Here's a representative shot from 2020: https://www.lifewire.com/thmb/H9QCFUVFrU035srbCoZ5erwS20Q=/1... Not even the +/- buttons another comment complains about are in this one.
What do you want it to do?
I’ve used it, it works.
The handful of other things I’ve used that do the same thing or something similar are roughly the same.
All attempts at making the UI look better invariably obfuscated tools.
Could you be very specific about what's sloppy? It would be very interesting to hear. I think I'm too numb from years of exposure.
Just look at the spacing and button layout, nothing is aligned, buttons are touching, the plus button is wider than the minus button, sizing is all over the place.
> "Nothing is aligned"
The first two items in each row are aligned, and each item is aligned to one of two columns
> "Buttons are touching"
The only buttons that are touching are the + and - buttons which are part of the number input, as they are one connected part, and the units dropdown which is also part of the number selection in one item
looks like the type of designs backend engineers do. Just throw everything in there
Zipped XML sounds like a bad idea. It's slow and bad. I say XCF forever.
SQLite would have been a lot better choice, in my opinion.
Pardon my ignorance about formats, but between XML & JSON, what would have made them choose XML? As I understand there is lot more tooling, standards & existing software examples around JSON for project & records management (e.g. VSCode's records as settings.json for example). Wasn't XML spearheaded by Microsoft but mostly used by Microsoft today?
json's only advantage is it's easier to write by hand, but that's not really a consideration here. XML has schema support and much more tooling available.
> As I understand there is lot more tooling, standards & existing software examples around JSON for project & records management
I don't understand why that is relevant; as long as there is a minimum level of tooling, libraries and support for their choice, what benefit would JSON bring over XML? I don't see a clear reason for one over the other.
Honestly, I'd have the same question if they chose JSON and someone asked why did they choose JSON over XML - Why wouldn't they?
JSON made me not hate XML. YAML made me not hate JSON.
> It's slow and bad.
Seems to have been working great for MS Office.
“Great”.
No offence to anyone, but I would not consider the performance of MS office to be great.
I guess it's comparative, but then I compare to its previous editions which used a sliver of the resources to accomplish 95% of what modern o365 does.
> previous editions... used a sliver of the resources
Well of course, but given that the previously employed technique was blitting, fliedumping memory areas, you can't be more efficient than that. Using XML is for transparency (readability).
(And, note, in context, I regard the ms office file format as lousy. The OpenOffice/LibreOffice format is good.)
Thank you, probably so, but in that case I cannot see how said comment is consistent in the branch ("about file formats") - I do not get how it would follow.
Office documents since the 2007 have used a zipped XML approach. Just take an .docx and open it in 7zip.
EDIT: Narrowed the date.
It's not that weird. Most of Office and Open office formats are just zipped folders of XMLs.
Better Zipped XML than whatever monstrosity Adobe files are. PDF/PSD... shudder.
Yep, even music software like Ableton Live is using zipped XML for the project files (although the much bigger audio files are stored independently in sub-folders). There were even efforts to use the XML format to manage Ableton project files with git in order to have a nicer change history (https://github.com/clintburgos/ableton-git).
I mean, zipping files in an archive and presenting them as a file is an ancient tradition in video games. For example Warcraft 3 used the MoPaQ archive to store data in .w3x file.
And Starcraft 2 data is just bunch of XML files.
Except MoPaQ weren't zips IIRC, they had their own clever format here - at least the OG StarCraft / SCBW MoPaQs were, playing with that is what I learned binary data handling on :). The idea of zipping data files applies, of course (and many a game used a literal ZIP with custom extension).
But there's one material difference between StarCraft/Warcraft and Gimp: in Blizzard games, those were "zips" of heavy data files, notably read only data blobs. The game would read them, unpack in memory, and serve appropriately. Most of that data was key-value, text resources, or flat assets - images, sfx. With Gimp, we're talking highly structured data that's continuously being mutated. Very much not the best representation for that, even if you're just persisting it. They're only getting away with this because of SSDs - on spinning rust, you'd feel this.
(Also worth noting that, at least in StarCraft/SCBW, most of the files inside were custom, well-optimized binary formats. This predated the XML insanity of encoding data with 90%+ markup overhead.)
Cool, I didn’t know that! But makes a lot of sense.