Back

GIMP Development Update

157 points7 hoursgimp.org
mimasama2 hours ago

Zipped XML? Isn't that just OpenRaster? (which is already supported by GIMP anyway, but also supported by Krita and other image editors)

Ygg21 hour ago

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.

herrherrmann1 hour ago

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).

Ygg254 minutes ago

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.

TeMPOraL14 minutes ago

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.)

herrherrmann50 minutes ago

Cool, I didn’t know that! But makes a lot of sense.

AltruisticGapHN15 minutes ago

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.

dm3192 hours ago

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.

Balinares2 hours ago

Haven't those existed in Krita forever?

maya3352 hours ago

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.

bulgur9991 hour ago

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.

unpopularopp60 minutes ago

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.

ChrisGreenHeur43 minutes ago

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.

bulgur99935 minutes ago

So GIMP has a larger user base than Blender, what is your point ?

igleria15 minutes ago

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)

phendrenad212 minutes ago

[delayed]

lukan1 hour ago

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)

herrherrmann1 hour ago

… 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.)

rimliu48 minutes ago

Yes, it is very pleasant to have it around. Especially when you switch to something else.

dm31938 minutes ago

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...

socalgal22 hours ago

Zipped XML. Welcome to 1999 designs

ACCount372 hours ago

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.

flohofwoe2 hours ago

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!

anygivnthursday36 minutes ago

Indeed, early 00s was still the SOAP XML era if I remember right, WSD, SOA, ...

stuaxo22 minutes ago

Jar

muhehe2 hours ago

What would you consider good modern design?

supriyo-biswas2 hours ago

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.

[1] https://sqlite.org/sqlar/doc/trunk/README.md

[2] https://www.sqlite.org/affcase1.html

chungy2 hours ago

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.

[1] https://sqlite.org/cli.html#sqlite_archive_support

flohofwoe2 hours ago

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).

batmansmk47 minutes ago

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.

+2
TeMPOraL2 hours ago
speedgoose1 hour ago

Compressed JSON with the binary content encoded in base64 strings, obviously.

einpoklum1 hour ago

Why would zipped JSON be fundamentally superior to zipped XML?

speedgoose54 minutes ago

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.

elric2 hours ago

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.

OskarS52 minutes ago

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.

x3ro2 hours ago

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?

TiredOfLife2 hours ago

I thought every developer of this moved to the Glimpse fork

dspillett2 hours ago

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.

herbst2 hours ago

Pretty sure woke gimp was long discontinued

ben_w2 hours ago

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.

SwellJoe2 hours ago

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?

+1
ChocolateGod1 hour ago
+1
TeriyakiBomb2 hours ago
+1
Lammy2 hours ago
curtisblaine1 hour ago

[dead]

clarionbell2 hours ago
Lammy2 hours ago

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’?

+2
ChocolateGod2 hours ago
spider-mario2 hours ago

> 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”?

TeMPOraL20 minutes ago

A "ksceef"?

But yeah, in my mind, it's always been "ex see eff", so an XCF.

ajcp2 hours ago

I find some word processors don't test for vowel sound, and only adhere to the actual vowel letter.

left-struck2 hours ago

In my mind it’s similar to exif

Choco314152 hours ago

The beginning of “XCF” sounds similar to the beginning of “Exit”.

With “a” vs “an”, the pronunciation is more important than the spelling.

spider-mario2 hours ago

> 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.

SwellJoe2 hours ago

You say "a exit"?

mattkevan1 hour ago

[flagged]

Jach38 minutes ago

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.

dash221 minutes ago

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.)

Jach13 minutes ago

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.

enquirewithin39 minutes ago

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.

actionfromafar50 minutes ago

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.

dsego38 minutes ago

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.

voidUpdate26 minutes ago

> "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

arewethereyeta40 minutes ago

looks like the type of designs backend engineers do. Just throw everything in there

roschdal2 hours ago

Zipped XML sounds like a bad idea. It's slow and bad. I say XCF forever.

EvanAnderson2 hours ago

SQLite would have been a lot better choice, in my opinion.

srvmshr1 hour ago

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?

cozzyd1 hour ago

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.

lelanthran50 minutes ago

> 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?

actionfromafar48 minutes ago

JSON made me not hate XML. YAML made me not hate JSON.

Arainach2 hours ago

> It's slow and bad.

Seems to have been working great for MS Office.

dijit1 hour ago

“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.

mdp20211 hour ago

> 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.)

+1
thaumasiotes47 minutes ago
Ygg21 hour ago

Office documents since the 2007 have used a zipped XML approach. Just take an .docx and open it in 7zip.

EDIT: Narrowed the date.