
From: Thorsten Wilms <t_w_@...123...>
As this issue affects all kinds of graphic and sound applications, I have been thinking about a solution on another level. This would require linking to objects via IDs, so you can move stuff around without breaking links. Dependency tracking and automatic bundling once your stuff leaves your system.
I strongly agree. Dependency tracking would be the perfect solution for novice and advanced users. I think that it should be the ultimate goal in image link management, but meanwhile we should implement some minor improvements (like some of the proposed in my blueprint) for making it nicer to work with images in Inkscape. The good thing is that these improvements are compatible with that ideal solution, so it wouldn't be wasted time to fix some annoyances of the image properties dialog now :-)
From: Krzysztof Kosi?ski <tweenk.pl@...400...>
I don't want just to flip the default, I want to change the behavior of the existing commands (import and paste) so that it follows intuition, and add new commands that explicitly expose the link behavior (see below).
Note that the current behavior is wrong on many levels:
- For pasting, we create a PNG file in the same directory as the
edited file with a crazy name like inkscape_pasted_image_20091023_144102.png ?and link it.
- For importing via drag-and-drop, we embed.
- For importing via the dialog, we make a link.
The defaults are inconsistent, and the paste case is completely bogus because 1. It attempts to write to the directory where the doc is located, which may not be permitted (the directory and the doc might be read-only); 2. It creates a crazy filename; 3. It breaks when the user relocates the document. More importantly we cannot create links to things that might not even be in a file (like pasting pixels from GIMP).
Therefore we should default to embedding on paste and DnD, and have 2 import commands: Import, which embeds, and Link Image, which creates a link. Note that this will make Import behavior consistent across all formats. When importing SVG or other vector formats, we never create a link.
Serious artist know they want an image link, and most importantly know the difference between an embedded image and a link, so they will choose the correct option (insert image link). Newbie users do not know about this distinction. They just want to put images in the document, and expect them to stay there when they move the document to another folder or remove the original images.
Krzysztof: Actually, every image is LINKED. There are no inconsistencies at all. You say importing via drag and drop embeds, and that's wrong. The naming and location of pasted files can be discussed, of course, but you seem to be proposing to change the behavior of something that is common in every program that works with external data (vectorial illustration, page layout, even audio and video editors) because it isn't "intuitive" for new users who didn't read the documentation? It wouldn't be a problem if it is harmless, but changing it brings a lot of problems, as JonCruz pointed out. In my honest oppinion, a switch in the import dialog, a good method for dependency tracking and solving and a better image properties dialog would be the best solution. Dumbing down the program because a part of its users are new to it and didn't read the documentation is shooting to your own foot.
An SVG file, as it names stands for, stores VECTOR graphics. If it allows to embed bitmap images, it is an option for cases when it's needed. Links are the proper way to include images, and the most convenient most of the times.
Also you're assuming that an SVG file is something that a regular user will send to his friend via email, like a jpeg. Inkscape is a vector illustration program. Its files are comparable to CDR or AI files, that also work with links and embedded images. So I guess it's safe to say that the target public for an application like inkscape isn't a complete newbie that only used MS Paint.
By the way, GIMP started to change its focus since a clear target user was defined, and this kind of discussions (if the program is or isn't friendly for the unexperienced users) kinda stopped. Does inkscape have a clear target user group defined?
I don't understand. How do you imagine making an image external without saving it? :)
Re-linking it to the original bitmap file. If you imported it once, you may still have the original file in your disk. If you simply save it again, you'll end up with the original and the "externalized" image in your disk. That's confusing and breaks apart you project's organization.
Gez.