18 ms·
Me and SVG
- bootload 9y ago"I am torn: I have invested this much of my life into SVG. Do I build on that? Or do I write it off and start afresh with lessons learned and no regrets?" What product needs to built that harnesses SVG?
- pekk 9y agoWhat product needed to be built that harnessed HTTP, when it was first created? It wasn't Google, Facebook and pets.com right away. It took a lot of time to figure that out. There is a place for foundational work, it's just hard to get funded for it.
- smrtinsert 9y agoIt's tough. I think the appetite for SVG might have dissipated a bit since devices properly scale and use alternatives such as canvas offer better performance.
- deleted 9y ago[deleted]
- wei_jok 9y agoDon't give up. SVG is a beautiful format for the web. People can see the difference in quality.
- Kinnard 9y agoI bet a hackathon would do a ton of good for the SVG Ecosystem. The social/community/ecosystem aspect of programming technologies should not be neglected/ignored.
- Safety1stClyde 9y agoSVG is a good example of an overflexible, overcomplex standard with too much variety, too many options, too many different ways to do the same thing. The huge flexibility makes it almost impossible to correctly and fully implement. I'm not sure how it got this way, but it seems to be connected to the W3 consortium, which has many other instances of creating exceedingly complex, difficult-to-implement standards.
- dahart 9y agoReally? I feel like HTML & CSS have this problem way worse than SVG...
- Safety1stClyde 9y agoYes, really. > I feel like HTML & CSS have this problem way worse than SVG... I don't want to be rude to you, but in my comment above, I wrote the following: > I'm not sure how it got this way, but it seems to be connected to the W3 consortium, which has many other instances of creating exceedingly complex, difficult-to-implement standards. I don't want to be rude to you or hurt your feelings, but the W3 consortium wrote the standards for HTML and CSS as well.
- pmalynin 9y agoYou've hurt my feelings.
- dahart 9y agoI did read your comment. I do know that the W3C worked on all of them. I promise not take anything as rude as long as you're not trying to be rude. :) You didn't really clarify why SVG is a particularly good example, or why you're pointing a finger in the general direction of the W3C. How much have you used SVG? If you agree that HTML & CSS are worse than SVG, then what are you suggesting should be done about SVG? Personally, I find SVG pleasant to use compared to trying to get layout to work across different versions of browsers. Personally, I'd rather use SVG than CSS, if I have a choice. I was questioning why you think SVG is a "good" example of an overly complex API, relative to what seem like bigger & better examples. Pretty much all standards are difficult to implement. Tiff is an example of an image standard that almost nobody gets right, and it's way smaller in scope than HTML, CSS or SVG. It's also not made by the W3C. OpenGL is a standard that is very complicated and nobody implements completely, not even nVidia. There is a constant stream of complaints about it, and yet nothing better has come along to supplant it. Standards are standards because there are many groups of people with many different, and changing, requirements using them. That's why they get complex. Standards are always a disaster from the point of view of bystanders & people not involved and unaware of the history of the standard. They're often a disaster from the point of view of people working on them too, but sometimes for different reasons. In any case, the question on the table is what to do about it, that's what Amelia is asking. There's no question: things would get worse, not better, if we were to eliminate the SVG (or HTML or CSS) standards. There has to be a proposal on the table to replace it with something better. What do you propose?
- dahart 9y agoIt bums me out to hear SVG is in such limbo, I've been looking forward to SVG 1.2 support. It seems to be taking a long time, I guess this is why. It's strange because I know many many companies are using SVG at least a bit for their sites. Maybe it's simmering just under the threshold where it seems necessary to have to do business, but so many sites would be hosed if SVG suddenly went away. Is part of the problem authoring tools? Every time I need to make some SVG by hand, I look around and keep coming back to Inkscape and Illustrator. I can't afford Illustrator, and Inkscape has just never stuck for me, it feels very clunky. I've used lots of the other tools out there but nothing seems great.
- guitarbill 9y ago> Is part of the problem authoring tools? Every time I need to make some SVG by hand, I look around and keep coming back to Inkscape and Illustrator. I can't afford Illustrator, and Inkscape has just never stuck for me, it feels very clunky. I've used lots of the other tools out there but nothing seems great. I totally get this. I don't have Illustrator, but occasionally I get Illustrator produced SVGs and they remind me of HTML produced by early 2000 Word. And I hate Inkscape with a passion, mostly the UI. I like exact coordinates for doing technical diagrams, and Inkscape seems to make that really hard. I have no issues with UIs that have a learning curve, and have previously gotten used to InDesign and Blender fine. But it seems like I'm fighting Inkscape all the way, only to have the output be of low quality. What I actually use now is TikZ in LaTeX + dvisvgm, which I then pipe through SVGO. Super happy with the results, although writing TikZ isn't exactly smooth either. And LaTeX is a whole different world of pain and annoyance, so using it for just SVG seems wrong. But TikZ/PGF is pretty mature, and dvisvgm has a great, clean code base.
- hahamrfunnyguy 9y agoI started out doing vector based illustration in Illustrator and have been using Inkscape for probably 16 years now. I really like Inkscape for the performance and simplicity of it. It's also got a bunch of features I've come to enjoy, like specifying exact positions for guides, and guides on angles. The menus and tool pallets kind of suck, but I don't use those anyway. Really from what I've seen in the industry, most designers are heavy keyboard users and aren't clicking around on menus to do stuff. It takes too long! The only big drawback for me is that it doesn't support CMYK color, so when I need something printed I bring it in to Illustrator and make sure my colors are mapped to the appropriate CMYK colors.
- jancsika 9y agoSo here's a question: JSON is to XML what ___ is to SVG. What is in the blank? There's just so much complexity in even the 1.1 spec. Patterns, for example, are given the default of specifying the width and height of the area to be repeated in objectBoundingBox units. But the arbitrarily complex content has its units defined in terms of the userspace units derived from the context in which the pattern itself is used. Now, if you play around with patterns for a bit you can certainly figure out the logic of those defaults. Most likely the author doesn't want the aspect ratio of the pattern content to change based on the width/height specified for the pattern viewbox. Hence patternContentUnits defaults to "userSpaceOnUse". On the other hand, the author likely wants to control the total number of columns/rows that will be displayed. Hence patternUnits defaults to "objectBoundingBox", where you can do the math for 1/width for rows and 1/height for columns. But then when you try to do actual work using those defaults-- say, filling a rectangle with a pattern that displays four small circles as "nails" in the corners of the rectangle-- it doesn't work. The patternUnits attribute isn't expressive enough to let you specify a way to attach each pattern iteration to a corner of the shape. You can achieve that for a particular bounding box, but it isn't easy. So the logical though complex default isn't particularly expressive in practice, and the more sane, less expressive way to do patterns requires non-default attributes. I run into similar such problems with many of the SVG 1.1 features. There's an incredible amount of complexity, but not a matching amount of expressivity gained for it. Even something like grabbing or setting a value for height/width/x/y is made more complex because the DOM is storing both a base value and an additional value should the user happen to have specified declarative animation on the element. But then declarative animation isn't implemented in all browsers after all this time-- nor is it as easy to work with as the burgeoning web animations API.
- dukoid 9y agoAndroid Vector Drawables? If you manage to ignore the use of namespaces for attributes, which seems to account for half the file size for smaller files... :-/
- arnarbi 9y agoIt's perhaps not the answer you are looking for, but spending a couple of evenings learning PostScript (as a programming language) is eye opening.
- intrasight 9y agoI have been both super excited and super disappointed with SVG for about fifteen years now. I too came into it as a dataviz practitioner. Ten years ago I did a project where I generated system status diagrams directly out of SQL Server using XSLT and SVG embedded into the engine. More recently my interest has been resurrected since Power BI uses SVG and D3 for custom visualizations. But the luke-warm browser support has always been discouraging. Same with XSLT. And I guess all things with angle brackets these days.
- auggierose 9y agoIf you write a spec, you should also implement a proof of concept.
- distances 9y agoDid you read the post? One workgroup member was also an Inkscape developer, and was implementing the new features. Both tasks apparently fully unpaid. And then the browser vendors come only afterwards telling that they weren't really interested in the first place.
- guitarbill 9y agoIt's a fair point though: if the kind of experience to understand/implement the spec is workgroup member + Inkscape dev, then maybe it's too complicated for mass adoption.
- rleigh 9y agoI think part of what's missing here is libraries to render and convert SVG to other formats. It's no good having a feature in Inkscape which no other renderer yet implements. But if it was implemented in a library, which Inkscape and other tools could use, then it might drive adoption a bit faster. It pains me when I create a nice SVG in inkscape, and then librsvg, QtSVG or whatever are incapable of displaying it. Better tools and libraries are needed. Running inkscape from the command-line to generate PDF, PNG and other export formats is a fallback, but it's often impractical to do that. That type of conversion should be trivial with standard tools, but isn't yet.
- aidos 9y agoI like the librsvg approach of just supporting the important features. Then again, you can't do custom fonts (which is an issue for me) and I guess everybody has features they need / would like. librsvg can render into different backends via cairo. Maybe with a little more work the combination of them could form the library you're talking about? I definitely agree about having a good library. The way everything is deeply bound into inkscape is a real shame. And when you use something like chrome (blink) you kinda need the whole kitchen sink to make it work.
- Arathorn 9y agoSVG always reminds me of JS - a seemingly overcomplicated and slightly ungainly technology that actually just turned out to be ahead of its time. Back in the bad old days when you had to install the Adobe plugin to view it at all, it was almost useless. But nowadays, almost all browsers have more than adequate native support and it turns out that it's actually very useful as a good way of doing declarative vector graphics (as opposed to the immediate mode world of Canvas). I switched to using SVG for all artwork in my apps about 2 years ago and haven't looked back once - there are no performance issues; I can retheme them via CSS (if loaded as objects rathe than imgs), they look perfect on arbitrary resolution displays, plus animation is trivial when desired. Meanwhile libraries like D3 show just how powerful and performant SVG can be. So: given a choice between a custom library which implements some kind of vector DOM on top of canvas, and having it baked into the native DOM of the browser with decent performance, I know which I'd rather have. The biggest problem I've seen in practice is when handling user generated SVGs - the risk of vulnerabilities in the implementations; XSS attacks - and design flaws like billion lol attacks. But such are the risks of using an expressive language like HTML, SVG, or heaven forbid postscript or PDF :)
- Arathorn 9y ago(that said - I just checked on the health of one of my favourite Mozilla SVG bugs; the fact that it ignores baseline-shift so there's no simple way of vertically centring text over (say) a line in order to draw something like an arrow label. Sadly, 12 years and still open... https://bugzilla.mozilla.org/show_bug.cgi?id=308338 https://bugzilla.mozilla.org/show_bug.cgi?id=308338)
- tomcam 9y agoWhat tool do you use to produce SVG? What kind of browser compatibility to you require for your creations?
- franze 9y agoI was (aiming to become) an SVG ninja around 2006 (the first coming of SVG in the browser), coded stuff like http://web.archive.org/web/20070630201408/http://www.fragmentarisch.net/svg/drawingboard.php http://web.archive.org/web/20070630201408/http://www.fragmen... ( a kinda LOGO implementation in SVG) - you needed the adobe SVG viewer plugin for IE at that time to use it. (don't look at the code, it was 2006!!!!)). at one point I decided to stop my quest, mostly because a) horrible buggy browser support at that time b) the limitation and clunkiness of the format (it's XMLish after all) so basically nowadays: same, same but different! nowadays still use exported SVG for icons and logos of course, cause filesize.
- hutzlibu 9y ago"But I hate working with broken tools. Do I keep trying to fix it, or do I throw it away?" At some point, I think we need a redesign for vectorgraphics on the web from scratch, as I don't think SVG can really be "fixed" - it is just too complex and weird in the base. But I guess no one is willing to spend much money on that right now, after the core of svg finally works (mostly). And since it is there right now and working, it won't go away so fast, as there is no alternative - yet. So I would keep working with it, but maybe start to collect and share ideas on how to do things nicely from scratch ...
- aidos 9y agoI disagree. This is the classic, let's rebuild it from scratch blackhole. You'd probably end up with much the same spec. The one thing that does need to be done to svg is to work towards simplifying it and depreciating some of the more edgy features. It's a really broad spec that's complex to implement.
- hutzlibu 9y agoQuestion, have you really worked with SVG? And have you seen, how other vector graphics format are (better) implemented?
- jononor 9y agoWhich formats should I look at for something better?
- hutzlibu 9y agoWell, I have to admit, that I can't really name much. It has been a while(around 6 years), that I researched about it. I remember that I liked the flash - text vector format much more, but it died out, when flash died.
- aidos 9y agoI've done quite a bit, yeah. We make serious use of it in our product [1] so I've had to work with it fairly closely on both the front and backends (have read through the Chrome svg code, along with Skia, Cairo and others). In terms of other declarative 2D formats, I'm also increasingly familiar with PDF too. Just this last week I fixed a bug in the way Cairo handles stroke-miterlimit (which was called by librsvg). While there I got an appreciation for how exactly the rendering has to take place. Imagine drawing a stroked line of 2 segments (on any 2D surface), it's the simplest of operations. If you think about it, that's actually an operation in which you have to draw 2 rectangles (one for each line segment) that meet at their tip centres, and then you need to draw the fill (determined by the stroke-linejoin) at the tip (after figuring out which side of the line is the outside). The options are rounded, bevel (just a triangle to fill in the space and effectively square off the join) and miter (draw a diamond to extend off to the full extent of the line). The miterlimit then specifies a maximum ratio you will allow before saying that the miter would extend too far and you'd rather have a bevel (squared off). Cairo does these calculations in several places for the various backends, but it has code to deal with stroke-linejoins and stroke-miterlimits. PDF has the same sorts of operations, as does Skia / all other 2D libraries. Now, SVG2 has introduced the notion of miter-clip in which you don't just have the end of the line snap to bevel or miter and instead you can have it cut off somewhere in between. It's an innocent enough addition, but let's stop and think about the implementation. None of the drawing canvases support it, so you'd have to add it to Skia and Cairo / everything else. Just on the image backend of Cairo, that's a big change. There's a load more calculations that need to happen. But what if the user is using the PDF or Skia backend? Do you just give inconsistent results there if they don't support it, or do you try to simulate the drawing operations to plug in the little extra line-joins to make things look right. Alternatively, librsvg for example could handle it as a special case, use bevels, and add its own calculations to glue in all the extra little caps. At least then Cairo wouldn't have to change. But I've just been down in that code and there's a lot of work in those calculations — you need to track angles of all the line segments, you need to figure out where things start and stop etc. But then Inkscape would need to do something similar, as would Chrome / the Edge renderer etc. And this is a relatively simple case. See miter-clip in the spec [2]. It's a 1 paragraph definition that results in 1,000s and 1,000s of lines of code to be changed. Don't get me wrong, I'm not having a go at the spec and I love SVG. It's just that over the last week I've come to appreciate how complex the seemingly simple operation of drawing a line of 2 segments is! It's worth stopping to think about how much work each feature creates. [1] http://www.countfire.com http://www.countfire.com [2] https://www.w3.org/TR/SVG2/painting.html#LineJoin https://www.w3.org/TR/SVG2/painting.html#LineJoin
- mxfh 9y agoThe core of the problem to me, seems to be the absence of a widely supported declarative low level 2D vector format to compile to, likely with closed arced paths* as only vector primitives. (Point and Lines are 0 and 1 dimensional and need to constructed anyway for display) Full SVG just seems too high level to be implemented universally, especially when sent in some form to a GPU for parallel evaluation. Now have a moment of silence for OpenVG https://www.khronos.org/openvg/ https://www.khronos.org/openvg/ Yet there is hope: http://w3.impa.br/~diego/projects/GanEtAl14/ http://w3.impa.br/~diego/projects/GanEtAl14/ https://graphics.cs.illinois.edu/sites/default/files/svgpu.pdf https://graphics.cs.illinois.edu/sites/default/files/svgpu.p... https://developer.nvidia.com/nv-path-rendering https://developer.nvidia.com/nv-path-rendering * hopefully compatible with Path2D API https://developer.mozilla.org/en-US/docs/Web/API/Path2D/Path2D https://developer.mozilla.org/en-US/docs/Web/API/Path2D/Path...
- taeric 9y agoHow does Postscript not capture the "widely supported low level format?" No, I assert that the problem is there is just not a need for serializing vector graphics across the wire for the vast majority of people. Or of authoring graphics in said fashion. Combined with the people best at creating graphics typically best at doing so using a visual toolchain. Which lends itself to the standard toolchain of Photoshop (or whatever application) and just generally does not need to be programmed or to have "clean" output. Indeed, most graphics are best created at the target resolution that they are needed and using tools that are more akin to the metaphor of painting. See the popularity of the Surface with artists. Now, try to make a program that you interact with using paint brushes, but outputs "clean" vector commands. If you succeed at that, you will be deserving of whatever computing awards you can get.
- colanderman 9y ago> there is just not a need for […] authoring graphics in said fashion You say that like Adobe Illustrator has existed without reason for 30 years.
- 9y ago
- __s 9y agoI empathize. I feel like my work in implementing insurance programs & payday loan portals is of low value to society, yet it pays the bills. Meanwhile I'd much rather focus fully on my project to implement a WASM jit for Lua. That has future potential alone due to WASM unicorns wanting to open up to being useful as a JIT target Sort of flies in the face of people thinking basic income will result in a bunch of stay at home drunks SVG is cool. Was really wanting SVG2 as in order to get wordwrap I'm embedding HTML into the SVG which I'm embedding in HTML. openEtG uses SVG as an alternate backend to cards/deck rendering (as opposed to <canvas>) Deck SVG: http://etg.dek.im/deck/047130c6qq016u1036u30177o0177g027aq027dm017h7017k2057n8017q5017th0380g018pr.svg http://etg.dek.im/deck/047130c6qq016u1036u30177o0177g027aq02... Card SVG: http://etg.dek.im/card/56f.svg http://etg.dek.im/card/56f.svg There's some issues in rendering interacting with the page's CSS. The card back is rendered off a spritesheet, in the SVG I just offset it so that the rest of the image is clipped away Code: https://github.com/serprex/openEtG/blob/master/svg.js https://github.com/serprex/openEtG/blob/master/svg.js If this seems off topic.. well I'm bad at being personal, & in response to a personal blogpost, this is how I make a personal response I was hoping to try get remote work with https://bocoup.com https://bocoup.com but unfortunately I'm also Canadian & they're not open to being that remote. But I'm just some guy who made an open source HTML5 CCG. Maybe they'd take closer consideration of you. Granted I open with a salary of 25k CAD, don't know what you consider making due
- daurnimator 9y agoTell me more about your WASM lua jit. Any feedback from my post here? https://www.freelists.org/post/luajit/LuaJIT-and-WebAssembly,6 https://www.freelists.org/post/luajit/LuaJIT-and-WebAssembly...
- __s 9y agohttps://github.com/serprex/luwa https://github.com/serprex/luwa Have a basic interpreter worked out, currently implementing tracing, no WASM currently being output. I have some previous experience generating wasm tho: https://github.com/serprex/Befunge https://github.com/serprex/Befunge https://github.com/serprex/brainwebfuckassembly https://github.com/serprex/brainwebfuckassembly I don't really care about interacting with DOM. I feel that something like vDOM & working out a method to play nice with emscripten's ABI will have more use for projects which want to run a wasm jit with the code being mostly in WASM lua.js seems promising on the not-wasm front. Possibility to allow coroutines by implementing those on top of generators like I've done in my own implementation
- guelo 9y agoI'm about 20 years into my career and what I would tell her is that I've become an expert in and forgotten more technologies then I can remember. But it's not a waste of time, somehow things from 20 years ago that seem like completely useless knowledge still popup once in a while and inform my decisions and make me a better engineer overall.
- shriphani 9y agoI don't have advice for you but I just want to say this is a stunning body of work - congratulations.
- geoffbrown2014 9y agoI agree and would also send a thank you to the original author for all her hard work. I use SVG semi-regularly and appreciate the work involved.
- shriphani 9y agoIndeed - svg allowed me to explore my artistic side (craft, carpentry etc). If the author set up a patreon, I could donate or something.
- bdrool 9y agoIt really makes me sad to read the part about counting pennies and having to stretch such tiny advances while writing the books, especially when she describes her frustration at how much a framed copy that was sent by the publisher must have cost, compared to her frugal situation. It is a shame that writing down useful knowledge in a clear way is not better rewarded.
- Mz 9y agoI wish more people on HN felt this way. I often see the opposite attitude expressed here towards writers: That it is not the audience's problem whether or not the writer eats. They should pick a different job if that sort of thing matters to them. (Granted, this is typically in discussions about online content, but I think it is kind of a class divide thing. Programmers seem to often not get how fortunate and well paid they really are.)
- averagewall 9y agoGuitar and video game players aren't well paid either. But they don't expect to be - they do it for fun. Isn't that fair though? Writers could do it for fun and give away their work for free. Or they could get a job doing what the market wants and not enjoy it so much but get paid more. It's very much the same situation for programmers except programmers don't have the expectation that their work must be worth money just because they spent a lot of time on it. That's life for most people - our hobbies aren't usually worth as much money as our less enjoyable jobs.
- Mz 9y agohttp://work.chron.com/salaries-pro-gamers-26166.html http://work.chron.com/salaries-pro-gamers-26166.html http://www.simplyhired.com/salaries-k-guitar-player-jobs.html http://www.simplyhired.com/salaries-k-guitar-player-jobs.htm...
- averagewall 9y agoYou know these aren't representative at all. Almost every video gamer and guitar player earns nothing for their activities. Those millions of 0's won't be included in the guitar player salary graph.
- bisRepetita 9y agoI want to be a journalist=> I can't travel => graphics can be my niche => SVG is interesting => this competition is for me => I fail stupidly => I blog and show my stuff => This book needs serious help, I am not counting my time => Oh oh, i am a published author, this is weird => I worked so hard, 5 books! => Expert on W3C commitee => Seriously, I am THE freaking expert in this field!!=> More hard work, a lot => Oh shit, people are not interested in this stuff anymore => What am I doing with my life???? This is a beautiful story. Thanks for sharing so well.
- nsebban 9y agoThe whole story could have a way better outcome if you replace SVG with an area of expertise that helps companies create value :/
- kowdermeister 9y agoSVG does create lots of value. Google uses it a lot in the Docs suite, in slides for example.
- Latty 9y agoI feel like SVG is currently more important than ever - it's a much easier solution to the problem of display density which is currently rearing its head again in light of phones and other high-density displays.
- iamleppert 9y agoI'm sorry but does anyone find the following bit of code readable? <svg class="defs-only"> <filter id="duotone" color-interpolation-filters="sRGB" x="0" y="0" height="100%" width="100%"> <feColorMatrix type="matrix" values="0.90 0 0 0 0.40 0.95 0 0 0 -0.10 -0.20 0 0 0 0.65 0 0 0 1 0" /> </filter> </svg> SVG is a horrible way to do graphics, and not a good vector format due to its complexity. It's also difficult to get good performance, you'll eventually end up implementing stuff at a lower layer when SVG itself becomes a bottle-neck, and it has tons of cross-platform bugs that require endless debugging. The crux of the matter is vectors are drawings, and may or may not have a hierarchical representation. It would be a lot better abstracted by a real language, using a primitive drawing API that allows you set debugger statements and the like to inspect state, variables, etc.
- paulddraper 9y agoAh, Turing complete imperative languages...now that's a vector image format.
- catenthusiast 9y agoYes. I can understand that.
- smrtinsert 9y agoXml does not do it justice, but no way will json be any better. Creating a new format just for svg seems doomed. Whatever best suits it will have a huge battle against its adoption, especially in the browser implementations where it matters most.
- mcbits 9y agoWith sensible indentation, and knowing nothing of SVG, the only unreadable part of that is the blob of matrix data, but I'm very glad they didn't go with something like <matrixElement row="0" column="0">0.90</matrixElement><matrixElement row="0" col="1">0</matrixElement>... I just looked, and apparently the matrix values can contain arbitrary whitespace including newlines, so even that's not a very strong criticism. https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrix https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feC...
- staz 9y agoIf compagnies have to
- staz 9y agoIf companies have to pay the W3C and the W3C don't pays spec editors such as her; where does that money go?
- _delirium 9y agoThe W3C does pay (some) people to work on specs, usually not on a contractual basis though, just by hiring in priority areas. For example, some of the main figures in the CSS, Web Accessibility, Web Payments, etc. groups are W3C employees. There's a list of employees and what they work on here: https://www.w3.org/People/ https://www.w3.org/People/
- Sophistifunk 9y agoFXG was much nicer. Boy howdy do I wish Adobe hadn't mismanaged Flash and Flex so badly they killed them. If they'd gone more open, fixed performance issues on non-Windows platforms, and actually followed through on the Tamarin gesture we'd all be in a happier place.
- bdahz 9y agoVPaint[1] is a research vector graphics editor (from SIGGRAPH 2015) that has higher-level semantics of vector graphics editting. And it claimed more efficiency to create vector graphics. May it be the hope to fix problems of SVG you guys mentioned? [1] http://www.vpaint.org/ http://www.vpaint.org/
- taivare 9y agoI have asked my local library to order her SVG Essentials book & they did. I have checked an people are taking it out and since then they have ordered other SVG books.
- devwastaken 9y agoOne thing that could be done by somebody who knows the standard /really/ well, is a proper SVG sanitizer/conformity enforcer. SVG is powerful, even in its basic abilities, but all of the projects I've seen so far have no guarantees of security or safe parsing. Its probably too niche currently, probably only really useful for things like Mediawiki. But, I think having the ability for users to upload .svg's like normal images onto sites would catch on pretty quick.
- danso 9y agoThe description of amount of work the author produced, including for the SVG 2 spec, reads like the CV of someone who has been with W3C since 1999 (which is when W3C first started working on SVG according to Wikipedia). It's stunning that the author only started self-learning web dev basics just 3.5 years ago. Whatever she decides to do with SVG, I hope she can easily land a job in the field despite her requirements to do remote work. She clearly has the technical chops, communication skills, and perseverance that tech companies value.
- chrsstrm 9y agoWould be great if MS and Google hired her to consult on SVG support for email, considering it doesn't exist without image fallback[0]. [0] https://css-tricks.com/a-guide-on-svg-support-in-email https://css-tricks.com/a-guide-on-svg-support-in-email
- on_and_off 9y agoI am working on svg animations right now (on Android, but AFAIK it is pretty much the same on the web). Tooling is pretty poor at the moment, even though this is changing rapidly with : https://romannurik.github.io/AndroidIconAnimator/ https://romannurik.github.io/AndroidIconAnimator/ and https://shapeshifter.design/ https://shapeshifter.design/ that are quickly starting to cover this ground (but they still need a lot of work). Animating an svg shape to another in a nice way has been doable for some time, like for example : https://material.uplabs.com/posts/animations-in-pocket-casts https://material.uplabs.com/posts/animations-in-pocket-casts Doing so is really time intensive though as soon as your shapes are not trivial, especially since without these two recent tools, you are left with a sheet of paper as your best instrument .. I would have gladly paid 20 $ last year for a tool allowing me to efficiently create such an animation.
- cvarjas 9y agoPerhaps http://snapsvg.io/ http://snapsvg.io/ could work for your use case?
- 9y ago
- nickstefan12 9y ago> But I never cared about SVG itself. It's just a tool. I cared about what I could build with it. I'm calling BS on that last statement of hers. I don't intend for this to sound mean. I intend for it to help her (or readers), to be honest with themselves. It WOULD be sad if she wasted all this time on SVG if she really would have rather just been building stuff with SVG. However, that to me doesnt reflect reality; so it shouldn't make her sad. She got to spend time doing what she clearly actually likes doing: technical writing! Theres nothing wrong with that! No one who actually likes to build stuff would spend so much time on committees, book deals, and technical writing. Thats okay! She should be honest with herself about her preferences. The positives are that "committees, book deals and technical writing" are very transferable skills to whatever other web technology needs more of this sort of thing. EDIT: I in no way mean for this to be callous regarding counting pennies. I am sympathetic to the fact that much of her work was unpaid :(
- sitkack 9y agoMicrosoft, Google, Mozilla and the W3C should be paying this woman.
- deleted 9y ago[deleted]
- Animats 9y agoThere are at least three ways to draw in browsers now - a canvas object, WebGL, and SVG. Apparently SVG is losing out for that application. As a common representation for draw programs, SVG is quite useful. But apparently it accumulated way too many features, and SVG 2, this author says, was an solution to a non-problem.
- peterbraden 9y agoThey're all quite different. Canvas is raster based, SVG is vector, and WebGL is a totally different approach tailored to hardware acceleration (and still paints into a canvas, so it's raster ultimately).
- Animats 9y agoFor display, eventually everything is a raster, unless you output to something like a pen plotter. Canvas has primitives including 'draw line', 'draw circle', etc., and can be used as a lower level for a scene graph. There's "scenegraph.js"; unclear if it's used much. You can use WebGL as a 2D drawing system. On machines with OpenGL hardware support (which today is everything above a flip phone) that's a reasonable way to do fast 2D work. Games often do that for their menu screens. SVG is more useful as a storage format than as a graphics toolbox.
- tannhaeuser 9y agoI've benefitted numerous times from AmeliaBB's answers on StackOverflow/StackExchange and Sitepoint, and am really happy for the opportunity to thank her very much for her work. Her authoritative answers really stand out, and show a level of depth and comittment to the subject like few others. Her book is now high an my reading list. There's definitely something wrong with funding of web standardization work (or lack thereof) though, that needs to be brought to public attention. The WHATWG/W3C situation is unsustainable IMO.
- chrisgannon 9y agoAs someone who is pushing what SVG can do in terms of interactivity and animation I am saddened to see such a hard working and talented person person like Amelia struggling like this. She has helped me on numerous occasion with various issues over the years and her knowledge of SVG and its quirks and foibles is extensive. If anyone is questioning the relevance or flexibility of SVG or its ease of use check my CodePen stuff - with a library like Greensock you can do almost anything with SVG http://codepen.io/chrisgannon/ http://codepen.io/chrisgannon/
- ensiferum 9y agoIt's sad to hear that the author has had such a financially hard time while working on those things. But the thing is that those books are not best sellers. There are like 10 ppl in the world interested in SVG. I'm sorry to say but also committing to a large chunks of work without any contract for payment?? I can understand that you'd do it if you really a) wanted to do it b) wanted the "fame" or the admiration of your peers but to continue to work on while the teams around you are falling apart and not giving a shit is just pointless. Maybe she wasn't able to read the state of the project very well. Anyway author if you read this, I'd say just scrap the SVG for now and pursue other paths. You can always go back to it if interest towards SVG takes off again.
- scandox 9y agoWhy don't most programmers buy programming books? Why doesn't the technology industry have more respect for the foundational, vocational work being done that supports it? It's the Market I hear you cry. I'm damn tired of hearing that cop out. Maybe you really believe it. Well that doesn't mean you don't have to take responsibility. These people support our money earning work every day. We need to find ways to force our employers to put a value on that.
- JepZ 9y agoI think we (the web) chronically underestimate the importance of SVG. I mean we all use pixel graphics (JPG, PNG, GIF) every day, build services to scale images and have multiple formats for them have to admit, that they are not 100% perfect most of the time. SVG, on the other hand, doesn't need 5 different versions of the same image just to look okay on the receiving display. Even more, it always has 100% quality on the receiving device. As far as I am concerned, there are only two main problems with SVG: 1. The creation is painful 2. The renderer compatibility is too weak. While creation problem has many layers, I think one thing that could be improved is Inkscape usability. I spend the last months every now and then to learn to handle Inkscape and the first steps were so painful (and I knew what SVG is and was quite able to handle Gimp). I am sure if some usability experts would be involved in its development, many things would be implemented differently. And I really hope, someone will change that as Inkscape is such a powerful tool which should be quite accessible to the majority of users. Regarding the render compatibility, I think it is very important to fix that in the near future. I have high hopes that SVG2 will help here, but I think it is also our job as the web community to show the browser vendors, that we want that fixed version of SVG.
- Al-Khwarizmi 9y agoIt's funny that some people say that about Inkscape usability. As a quite graphically-challenged person, it's the only graphics program I have been able to learn to an acceptable degree, and in an acceptable amount of time. Fireworks, Corel Draw, GIMP, etc. look like impregnable fortresses for me and I always end up using Inkscape. Maybe people like me who are just bad at graphics have different needs. Something like visual basic vs. real programming languages, I guess?
- stupidcar 9y agoHave you tried Sketch? I agree, all the tools you listed have serious usability problems for the lay user, especially when it comes to an SVG workflow. But in my experience, Inkscape has many of those same problems. Sketch is the only graphics editor I've used that I feel like I don't have to fight with all the time.
- 9y ago
- a-guest 9y agoI suspect it is possible you would be able to monetize your SVG experience in a more profitable way than an O'Reilly book by authoring an online course(s) for vendors like Pluralsight, Frontend Masters, or similar companies?
- adultSwim 9y agoMany of the reactions in this thread are discouraging. I wonder if HN is a community worth investing in.
- stefek99 9y agoHoly crap. I've read the first 30% of the article - you are clearly the expert. Then fast forward to the end: "if only I could figure out a way to make them pay" Chronic fatigue (medical condition) is an issue and there should be a way to work around that... Independent, remote work, creating infographics and visualisations for media outlets - that's a pretty large niche!
- j45 9y agoThanks to the author for all their work. SVG is becoming a little more connected to some of the work I'm doing and I'm hoping a way can come up for her to be supported to continue her work if she loves it. Someone who supports a technology this selflessly a few years ahead of those who will come to need it.