Everybody knows that programmers can contribute to Unity, and I’ve shown in my previous posts that non-developers can still contribute features and fixes that make applications integrate better. But what if your skills lay more on the creative side of the spectrum?
Well it just so happens that you have something to contribute to Unity too. In fact, we’re currently in need of some graphic design talent to put some extra polish on some areas of application integration. Specifically, we need people to help create vector art for application icons that only have raster images, PNG, XPM, etc.
This wiki page contains a list of applications that have been identified as needing an SVG icon.
Now graphic creation isn’t my specialty, so I’m not going to write a step by step guide to creating these images, that’s up to you artists. What I am going to do, however, is walk you through the process of coordinating with the upstream application developers and submitting your finished image to Ubuntu.
1) Contact the upstream
This is an important step, because even if an application doesn’t have an SVG icon in Ubuntu, there’s still a chance that one already exists. Read over the first half of my post on upstreaming Quicklists for ways to get in contact with with them. Ask them if they have an SVG source for their application’s icon. If they do, that’s great! You can take that and skip down to step #3. If they don’t, then you will need to work with the upstream project to create one that is right for them.
2) Work with the current image
It’s important that we don’t try and re-brand an application unless the authors want it re-branded. What we want is a more flexible/scalable version of the image icon we already have. If you are creating a new SVG file, try to keep as close to the raster image as possible, and be sure to talk to the upstream developers about any deviations or changes you need to make. And finally, keep with the spirit of open source and make your new image available to both Ubuntu and the upstream project under a copy-left license like the CC-BY-SA or another permissive license of the upstream’s preference.
3) Preparing your image
Since we are getting close to the release of 12.04, the requirements for any further changes are getting stricter. In order to get your image into the Precise packages, you will need to meet the following two criteria:
It must be approved by the upstream project. Since your image will be representing their application in Ubuntu, we absolutely need their acceptance of it before it can be used. This is why step #1 is so vitally important, make sure you are working and communicating closely with upstream from the very beginning.
It must be a plain SVG file. This is because it will be added as a patch file against the package, and patch files don’t work well with binary data. Since a plain SVG file is text, not binary, it makes it much easier to convert into a patch.
4) Submit your new image
The wiki page containing the list of applications has a link to the corresponding bug report filed in Launchpad. When your image is ready, attach it to the bug report.
You will also need to add the upstream project to the bug report. Click the “Also affects project” link on the bug page, and choose the Launchpad Project that matches your upstream.
That’s it! Well, almost. Once we have your image, the application’s package in Ubuntu will need to be updated to use it, but that will require some changes to packaging scripts and patch files, which will be the subject of a more technical post. But getting the necessary image is itself a big step.