6 ms·
We need to stop making "open source" icons which aren't actually open source. Illustrator files are not open enough so that many people can contribute or edit i
by susi22 13y ago
We need to stop making "open source" icons which aren't actually open source. Illustrator files are not open enough so that many people can contribute or edit it to their liking. Look at the FontAwesome github issue page and see how many open issues there are vs how many pull requests have been sent. Not many, since few people have Illustrator.
What we need is a DSL (some already exist) and a framework which defines shapes and forms and which can easily plug things together. Ie. we have _only_ code for all the icons and with a simple "make" run we get our customized sizes, colors, formats etc..
I've actually worked with Asymptote [1] a lot and it would be very easy (and elegant) to define them in that framework. Another candidate would be Scala who can define DSL's elegantly and could use many existing libraries to put out th EPS. It's sad that people invest $50k on something that is again flawed: Not editable, not open (truly) sourced, not line-based versioned (git).
I've been wanting to start something along this way ever since I saw fontawesome but I don't think I have the time to invest. Maybe some day...
[1] http://asymptote.sourceforge.net/ http://asymptote.sourceforge.net/
- dasil003 13y agoHere's a thought experiment: can OS X or Windows have a true open source app?
- hugofirth 13y agoSure it can. If the source is "open", why should the platform for which that source is compiled have any bearing on it's description as such? Or am I missing something?
- dasil003 13y agoBecause the GP said Illustrator icons are not really open source.
- hugofirth 13y agoYour query was as to whether an application compiled for Windows or OSX could, in general, be open source. Whilst there may be a point to be made about the openness of Illustrator - I just thought that a tongue in cheek response would correct the more general assertion :) . Sorry for the confusion.
- susi22 13y agoI didn't mean to say Illustrator is bad b/c of the not openness but more because of the file format. Icons ---compared to other projects done with Illustrator--- are extremely simple and we could use simpler tools instead which means we can use a programming language (an appropriate one, not python etc) to define the languages. As long as we have the source and it is readable (hence my wish to use a DSL) people will contribute to it with pull request. The result of the kickstarter will not be contributable (except by a small fraction of people) This can give you a slight taste of a well done DSL which can produce EPS: http://www.piprime.fr/developpeur/asymptote/example-asy2d/generalites-asy2d/?posts_per_page=-1 http://www.piprime.fr/developpeur/asymptote/example-asy2d/ge... http://marris.org/asymptote/ http://marris.org/asymptote/ Asymptote also knows structs and overloading
- bennyg 13y agoYeah but it's actually a lot of fun to design in Illustrator. I don't think the creators of this icon set would have wanted to do all of this stuff while not in Illustrator - or at least I can't imagine me wanting to do that. This is coming from an iOS engineer too.
- susi22 13y agoYeah but it's more fun to click "edit" on a file in github. Propose the changes and click "submit pull request". Instead of: 1. Download current design file 2. Edit 3. Submit pull request 4. Repo owner downloads file 5. Repo owner figures out what has changed (somehow hopefully) and hopes nothing else was broken with the edit due to different versions, setups etc. 6. Repo owners accepts pull request (while the change cannot be seen in github since it can't diff .ai files).
- bennyg 13y agoHere's where we differ. Adobe Illustrator is like a canvas on an easel. Visual manipulations appear right in front of you, and then you can dive in and inspect. Change a color easily and know if it's right immediately. Not commit, then look at a rendered version, notice it's off. Try again, commit and then attempt until it's right. That's a huge waste of time as a designer. It feels magical to edit and create in Illustrator to me, and I'm sorry that someone offering free .ai files isn't pristine enough for you. Your "editing" of a graphic file is still 4 steps, there's not much being cut out: 1. Click edit. 2. Propose changes. 3. Owner decides nothing is bad, or messes up other parts of the design. 4. Owner accepts pull request (still can't see the files in Github, because there is nothing for viewing graphical diffs anywhere yet)
- hugofirth 13y agoWould Inkscape[1] or some other open source vector graphic editor not fill the hole you describe ? SVG's have existing tooling and with later versions of Creative Suite should work with Illustrator without problems. Infact - there are a number of browser based vector editors I believe. What would be very interesting is a github clone centered around providing preview, diff and edit functionality specifically for graphics. Another idea on the pile *sigh
- toddmorey 13y agoWhile it looks like the source icons originate in Illustrator, what impresses me is the high level of support for other standards, making the icons useful and customizable outside of any graphics software: "This includes support for emerging formats and technologies like Web Components, CFF, WebP, SVG 2.0, a top-notch, multiweight, unicode-mapped icon web font implementation, SVG animation and a powerful SVG DOM injection tool" Now, that said, I've longed for an alternative to Illustrator. I like your thinking around the DSL, but because this is all inherently visual work, nothing will become widely adopted until the visual design tools supporting the standard are excellent.
- susi22 13y agoYou don't need a GUI or expensive programs to make very stunning and impressive graphics. I've coded SVG manually myself (using Jade templates) and I've written TikZ and asymptote and it works very very well. Remember, we are programmers and not graphic designers who need Illustrator since they often don't code. Check out some stuff they do over at tex exchange: http://tex.stackexchange.com/questions/tagged/tikz-pgf http://tex.stackexchange.com/questions/tagged/tikz-pgf You can also easily take existing SVG and extract the curve formats out, normalize them and integrate them in your project as a few arrays. You wouldn't start from scratch and have to redraw the github logo. You just put it into source code and things such as arrows you can draw with a few commands
- eropple 13y agoThey don't care. Designers don't care that you can code SVG manually yourself. They use Illustrator because it is the best software to do what they want. You need to respect that this is how designers work if you want to be taken seriously by designers--and that's step one of changing anything. If it requires a text editor, you just lost 95% of designers (conservative guess) and you won't get them back because you've shown that you don't respect how they work.
- susi22 13y agoI don't say that designers should program instead of using their tools. What I say is: Stop the craziness of 50 different projects which give you some set of icons. Each a little different but each repeating things over and over again. Let's define one framework and go from their and satisfy 95% of all projects.
- martin-adams 13y ago>> We need to stop making "open source" icons which aren't actually open source It took me a few rewrite of this to boil down to this question. Why do you say they "aren't actually open source". I'm curious to know what you're referring to. Is it that AI spec isn't open source, the files generated aren't open source because they require a paid application to edit, or the files themselves are binary formats and as such, aren't "source" in terms of how we think of XML or code. If Illustrator was made free tomorrow, would that be satisfactory?
- susi22 13y agoI can already edit EPS pretty well in inkscape and scribus but many developer still won't do it. To collaborate in graphics isn't easy. No, even if Illustrator was open sources I would prefer to see real source code for icons. IMO Illustrator is over kill for something so (relatively) simple. Image a project on github that contains a very descriptive syntax, a hierarchy of re-usable shapes and which can be plugged together to generate custom icons. Then everybody can contribute to it with a pull request and we have true collaborative open sourced icon fonts.
- martin-adams 13y agoOkay, it feels like you're not really referring to the premise of open source, but more that there isn't a suitable portable "source" format for simple graphics like icons. What about SVG, is that a possible candidate? By proposing a new format, the real challenge is to have the graphical editors to use them. Expecting users to contribute graphics by markup isn't going to be much more productive in my opinion.
- susi22 13y agoYes that's exactly what I meant. Though, I think I wasn't clear and many people misunderstood me. SVG is to describe graphics and not to create graphics. We need a DSL that has loops, objects, methods, overlaoding etc so we can actually create a framework that allows creating EPS/PDF/SVG etc.. Some exist, there is very simple gnuplot. There is python matplotlib but it's a general purpose programming language and no DSL specific one. I think the closest is asymptote (which is very little known). Then is is processing but it's geared toward animations and also does mostly raster graphics. There is R which is mostly for statistics. Then there is TikZ which is awful since TeX was never meant to be a programming language so it'f far from a DSL. I want to be able to describe shapes and extend them easily. I think Scala would be wonderful and somebody fluent in it could create a DSL and still allow extreme extensibility. We need a language which has multiple layers of API. One very low which can easily do lines, bezier curves and the usual. And then some higher APIs that allow _easy_ composition and intuitive transformations. SVG is like PDF, a format to display but nobody wants to write PDF or SVG. It's no fun.
- nsfmc 13y agoIf you're worried that illustrator files are too proprietary, you should really consider working in postscript. illustrator will deal with properly handwritten postscript just fine and it's a mostly straightforward graphics dsl (especially if you're mostly doing icon design). plus, it's easy to convert to a pdf or rasterize it using any number of readily available tools. if your concern is that the tools for creating OTFs and TTFs seem to be opaque, i would suggest you look at the UFO[1] specification which represents a font as a folder containing a series of glyphs which are, themselves, a highly domain-specific hybrid of svg and postscript. the AFDKO [2] added support for UFO last month(!), so there seems to be traction on that front. fontforge, natch, has supported ufo for quite a while. the problem with picking on fontawesome is that for icon sets to work, they usually need to be consistent and it's hard enough to get people to agree to code style guidelines, much less visual ones which are wayyyy more philosophical. in any case, if there's a takeaway it's to look at UFO, it will at least provide you with a free and transparent workflow, but how you manage that workflow will still be a challenge. If you (or anyone else reading this) want to work on this problem, i'm happy to talk offline since i've been doing a ufo fork of fontawesome for work lately and have accumulated some domain knowledge on that front. [1]: http://unifiedfontobject.org/ http://unifiedfontobject.org/ [2]: http://www.adobe.com/devnet/opentype/afdko.html http://www.adobe.com/devnet/opentype/afdko.html
- susi22 13y agoI meant a DSL (or at least a framework) to _create_ graphics. I don't propose a new file format. In my approach there is no such thing as a GUI tool since that usually means that you'll be editing a complex (non gittable) file format. I want to compile the source code to SVG/EPS, then use open source tools (such as fontforge) to create the font. But you don't have to, you can of course also create PNGs. I want a DSL that is optimized to describe graphics for humans (so no SVG). And with a framwork you can easily adjust the fonts to your liking. Rounded edges in general? no problem. Rounded arrows? No problem. All icons with background of gray? No problem. Compile to 173x294 pixels? No problem... It's much much more flexible than any Illustrator format will ever be and it'll allow real collaboration and source code versioning. I think asymptote would be great candidate and it's very close to the DSL I'd like. The good thing is that most of it is also written in asymptote itself so it's very extensible (unlike some other graphics languages)
- wmeredith 13y agoWell, by this logic, open software isn't open source unless you have access to a computer. It's only up to the author to grant permission, not to truly enable.
- jrochkind1 13y agoThis one is simply not going to be open source at all, they're going to charge for it.
- egypturnash 13y agoMost pro artists/designers are going to have access to the Adobe suite. That said... The icon set at hand is based around SVG; while it claims to have a pile of 'open-source' scripts for improving the AI icon-generation workflow, I would imagine that you could load all the SVG files into Inkscape if that's your preferred vector editor, and build similar workflow scripts for it as well. And if you want a DSL for graphics, check out Context Free[1]. It outputs SVG. [1]:http://www.contextfreeart.org http://www.contextfreeart.org