2009/10/23 Guillermo Espertino <gespertino@...400...>:
I strongly agree. Dependency tracking would be the perfect solution for novice and advanced users.
But how would it work? How do we find a file, if we don't know its path?
Krzysztof: Actually, every image is LINKED. There are no inconsistencies at all. You say importing via drag and drop embeds, and that's wrong.
Why? You can drag and drop something that is not a file on your disk, like a bunch of objects from another application, or an image from the web browser (in fact it's the preferred method of adding album art in Rhythmbox). In those cases you have nothing to link to.
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?
All vector and raster programs I know embed by default, but you can create a link if you explicitly want it. You never get surprise links from pasting or importing. More importantly, you never get a surprise link to a bogus filename from pasting. Again, I am not against links. I am against surprise links. Links are good and useful. Surprise links are evil and turn users off Inkscape.
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.
Good defaults are not dumbing down. Making the program hard to use to punish people who don't read documentation or don't know what they are doing won't teach those people to read documentation. It will teach them to use another program that does not create broken documents. This whole remark is misguided because the proposed changes do not remove any functionality - they only rename it to a more explicit name.
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.
Links are good if you don't move the document around, e.g. if it sits on a web page, and you want to edit the linked documents without touching the SVG. We cannot assume this about all user documents. You seem to be arguing that we should always use links because it is "more SVG-ish". This is not a practical consideration, but an ideological one. I say: links break, embedded images don't. If we are not sure what the user wants, we use the safe option of embedding. Embedding makes the file larger, but still manageable, and we can compress it.
Also you're assuming that an SVG file is something that a regular user will send to his friend via email, like a jpeg.
Yes, why would I assume otherwise? In fact it's the only suitable format to send editable vector images to other people, because all other widely supported vector formats are undocumented and/or patented. (There's also PDF, but it's not intended to be editable.)
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.
I don't know about AI, but Corel Draw defaults to embedding images on pasting, DnD and import in the way I described before, but has explicit commands to create links. Audio and video projects are rarely sent over email in editable form.
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 know that it's not SVG / HTML purists.
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.
OK, I understand. In that case, we can preserve the original image location in the image tag, but embed the data. 'Convert to link' creates a regular link; there is a warning if the image in the original location was changed. 'Update' updates the embedded data from the saved original location. This is an expansion of the hybrid link concept I mentioned before with regards to editing embedded images.
Regards, Krzysztof