Difference between revisions of "Improved Media Management"

From Inkscape Wiki
Jump to navigation Jump to search
(Moved "Issues")
Line 28: Line 28:
 
=Issues=
 
=Issues=
  
* Pasting writes a PNG file with an auto generated name into the directory of the document and creates a link. If the document wasn't saved yet, it saves it to some arbitrary directory (home dir on Linux, Inkscape installation dir on Windows). [The name is inkscape_pasted_image_YYYYMMDD_HHMMSS.png]
+
* Pasting an image selection results in a auto-generated .png file with a deterministic name.
* Importing or 'Drag and Dropping' a raster image creates links to the originals.
+
* Moving linked assets breaks the SVG assets are linked from.
 
+
** Some users have seen this have issues with not-yet-saved documents. (needs more clarification)
Here are the effects:
+
* Linked vs. Embedded should be uniform across many asset types, not just those referenced in <image> elements.
* Pasting an image into an unsaved document on Windows requires administrator privileges.
+
** <image> elements to PNG, JPEG, SVG and other images.
* Not possible to paste into a document opened from a read-only directory.
+
** ICC color profile files (.icc, .icm, etc.)
* Completely unexpected location of images pasted into an unsaved document.
+
** CSS stylesheet files (.css)
* If the user forgets to send the linked images, SVGs sent to others via e-mail or other means are broken.
+
** Cursor files (.cur, .csr)
* By using "Edit externally" or ImageMagick extensions, a user unaware of links can overwrite valuable images.
+
** GIMP palette files (.gpl)
* Inconsistent with SVG behavior: SVGs are always embedded.
+
** SwatchBook files (.swb)
* Copying the image to a web server results in misrendered SVG in the browser. Users unaware of links might blame the problem on the browser or the server rather than Inkscape (see [https://bugs.launchpad.net/inkscape/+bug/415374 example])
+
** Script files (.js)
* Linked images are not transmitted over Inkboard.
+
** WebFonts
 
+
*** TrueDoc™ Portable Font Resource (.pfr)
The e-mail problem must be fixed on the sender's side, because only he has access to complete data. The solution must involve combining raster data with the SVG, so that they reside in the same file.
+
*** Embedded OpenType (.eot)
 +
*** PostScript™ Type 1 (.pfb, .pfa)
 +
*** TrueType (.ttf)
 +
*** OpenType, including TrueType Open (.ttf)
 +
*** TrueType with GX extensions
 +
*** Speedo
 +
*** Intellifont
 +
* Paste has become disconnected from drag-n-drop. These should really be unified. The code paths and behaviors need to be consistent.
 +
* Linked asset SVGs emailed can miss also sending those linked assets.
 +
* Linked asset SVGs published to a web server can miss also sending those assets.
 +
* Linked asset SVGs edited externally or using ImageMagick extensions might overwrite valuable images unexpectedly.
 +
* Absolute links cause problems for SVGs moved from one system to another.
 +
* Links should include relative links that also include ".."
 +
* Embedding interferes with external editing of placed bitmaps.
 +
* Embedding assets increases size by 33%.
 +
* Embedding prevents sharing of linked assets (same PNG in multiple SVG files, etc)
 +
* Embedding causes issues with editing SVG files in text editors. Problems increase numbers and sizes of images increase.
 +
* Embedding increases bandwidth for web-hosted SVGs.
 +
* Several misc bugs need addressing
 +
** Pasting an image into an unsaved document on Windows requires administrator privileges.
 +
** Not possible to paste into a document opened from a read-only directory.
 +
** Sometimes unexpected location of images pasted into an unsaved document.
 +
*** Unsaved image pastes might need to be considered in a "pending" state.
 +
** SVG images have been reported to always embed. (Must verify this)
 +
** Inkboard does not transmit linked images.
  
 
=Proposals=
 
=Proposals=

Revision as of 10:20, 28 December 2009

Overview

This set of issues generally is first seen due to problems managing linked vs. embedded images. However it quickly becomes clear that the underlying principals and problems extend across the board to many things including CSS files, ICC profile files, etc.

Use Cases

Cases

  • Arthur wants to create a collage using some bitmaps. He drags 2 images from Firefox into an SVG document, pastes a third one from GIMP and imports 4 other from his photo folder. He increases the contrast on one of them. He saves the document and sends the SVG using e-mail to a friend. He doesn't know much about links, so he does not include the original images in his e-mail.
  • Issa works on a multi-user system at an university. She opens a scientific poster template from a shared read-only folder. She pastes photos of samples into the document, then saves the poster in her home folder.
  • Charlie uses Inkscape to add vector frames to his photos. He wants to be able to post-process the images without updating the SVG document. He creates an image link.
  • Sara is a web designer and has SVG documents with lots of absolute image links. She moves all the images to another folder. The links break, which is not surprising to her. She wants to fix all the links at once.
  • Billy wants to edit an image embedded in the SVG document he received from Arthur.

Personas

Use cases are helpful, but in order to gain the most we need to know who are the users under discussion. This is a general Usability Design issue and we have some overall information being collected under our wiki section on User Personas. The specific user personas referenced in these cases on this page are:

  • Arthur - 40-year old department store owner and amateur photographer who uses Windows. He has no idea what SVG stands for, but is familiar with pasting images into MS Word documents.
  • Issa - 21-year old undergrad student of chemistry with some generic Unix experience, but no SVG or Web technologies experience.
  • Charlie - 35-year old US Navy nuclear propulsion engineer on an overseas deplyoment who misses his family and likes to learn time-saving tricks.
  • Sara - 30-year old Web designer with extensive knowledge of Web technologies and some experience with hand-tweaked SVG documents.
  • Billy - 16-year old son of Arthur, a high school student and Wikipedia contributor experimenting with free software. Uses Inkscape from time to time to update world maps and draw diagrams.

Issues

  • Pasting an image selection results in a auto-generated .png file with a deterministic name.
  • Moving linked assets breaks the SVG assets are linked from.
    • Some users have seen this have issues with not-yet-saved documents. (needs more clarification)
  • Linked vs. Embedded should be uniform across many asset types, not just those referenced in <image> elements.
    • <image> elements to PNG, JPEG, SVG and other images.
    • ICC color profile files (.icc, .icm, etc.)
    • CSS stylesheet files (.css)
    • Cursor files (.cur, .csr)
    • GIMP palette files (.gpl)
    • SwatchBook files (.swb)
    • Script files (.js)
    • WebFonts
      • TrueDoc™ Portable Font Resource (.pfr)
      • Embedded OpenType (.eot)
      • PostScript™ Type 1 (.pfb, .pfa)
      • TrueType (.ttf)
      • OpenType, including TrueType Open (.ttf)
      • TrueType with GX extensions
      • Speedo
      • Intellifont
  • Paste has become disconnected from drag-n-drop. These should really be unified. The code paths and behaviors need to be consistent.
  • Linked asset SVGs emailed can miss also sending those linked assets.
  • Linked asset SVGs published to a web server can miss also sending those assets.
  • Linked asset SVGs edited externally or using ImageMagick extensions might overwrite valuable images unexpectedly.
  • Absolute links cause problems for SVGs moved from one system to another.
  • Links should include relative links that also include ".."
  • Embedding interferes with external editing of placed bitmaps.
  • Embedding assets increases size by 33%.
  • Embedding prevents sharing of linked assets (same PNG in multiple SVG files, etc)
  • Embedding causes issues with editing SVG files in text editors. Problems increase numbers and sizes of images increase.
  • Embedding increases bandwidth for web-hosted SVGs.
  • Several misc bugs need addressing
    • Pasting an image into an unsaved document on Windows requires administrator privileges.
    • Not possible to paste into a document opened from a read-only directory.
    • Sometimes unexpected location of images pasted into an unsaved document.
      • Unsaved image pastes might need to be considered in a "pending" state.
    • SVG images have been reported to always embed. (Must verify this)
    • Inkboard does not transmit linked images.

Proposals

  • Default to embedding images when pasting and Drag and Dropping pixel data
  • When Drag and Dropping a file, ask whether to embed or to link
  • Add a link option to the import dialog that defaults to off
  • Embedded images as hybrid links: embedded raster data with info about its original location. If the original file exists, it is watched for modifications and updated

HID