Wow. I'm shocked at the disgusting responses I'm reading here. No wonder people get terrible anxiety about releasing their hard work for feedback. Hacker News seems to be a den of vipers, waiting to strike at the tiniest opportunity to nitpick. And then folks have the gall to bicker and argue over whether the project even has fundamental merit, on the very thread that the author tries to show the "community" what he/she has made. I've been working on a project myself, something I'm passionate about and looking forward to my own "Show HN" thread, but this trend of negativity really makes me hesitate.
I think this is a really cool project, and I commend ianstormtaylor for pushing the envelope and advancing the state of the web. Good job!
edit: I understand criticism has its place in Show HN. But for God's sake, I had to scroll _all the way to the bottom_ to find some kind words of encouragement. You folks should really read some Dale Carnegie
Yeah, I find it very disappointing, and it's not just on Show HN threads either. The community here is still pretty intelligent, but I feel like it's become almost unbearably negative in the past year or so. I know people always say things like that about communities, but I really feel it on HN. Not so on Reddit, where people can still be positive and happy (small and large subreddits).
There is a place for criticism, even non-constructive. But HN sometimes is an echo chamber of only criticism and negativity.
> Hacker News seems to be a den of vipers, waiting to strike at the tiniest opportunity to nitpick.
When presented with a sensible, practical and actually innovative idea, I've found the responses to be fairly favorable. With small things that have been done over and over again (worse or better), I think you can expect some comparisons and questions.
I can't decide if people are overly competitive and frightened with the increase in the developer population, or if we're just bitter and cynical towards anything we can't put our name on.
Why do programmers, in particular, seem to lose respect for others so quickly? Is it that ours is such a technical field that people often value 'straight-talking' at the expense of politeness (see: Linus)? Is it that software is so difficult to do properly that almost everyone becomes embittered on some level? It's such a weird phenomena when you have things like open source which are fundamentally positive, cooperative forces in spirit. The same class of people who want to give their work away for free are the same people who bitterly attack others for doing that very thing.
I know it's really not good. I actually find this project interesting. I think the fundamental idea has a lot of merit, the individual details can be worked on.
This only polyfills some of these features in the most superficial way. To polyfill some of these features according to spec., you need to do it in the browser.
If I load that document in a browser that supports CSS variables, the title will be blue. But if I run it through Myth, it drops the blue rule and makes the title red. This is because CSS variables are inherited throughout the document and can be overridden at any time. The calculated value of the CSS property that uses the variable depends on the document structure.
Likewise with calc() - if you multiply values like in their example, it works, but if you try to add two values of different units (e.g. 2em + 30%), it silently falls back to requiring browser support for calc().
This might be useful in narrow circumstances, but it should have big warning signs because it doesn't come close to being a proper polyfill.
> Myth lets you write pure CSS while still giving you the benefits of tools like LESS and Sass.
Having a "polyfill" is certainly a valid justification. But this doesn't come close to LESS/Sass -- I'd argue that the main feature of those is nested rules, and then mixins.
Variables and calculations are great, but most LESS code I've encountered uses nesting and mixins to a far greater extent. Advertising the project as "the benefits of tools like LESS and Sass" seems misleading, and seems to set up expectations that Myth doesn't fulfill.
I've avoided the CSS preprocessors for some reason, something about learning a CSS pseudo-language just didn't feel right. The idea behind this however is awesome. You're writing simple, true CSS and it does the annoying work of making it crappy CSS that browsers want. I might actually be able to get behind this.
I avoided preprocessors for a while too, but I can't imagine not using SASS now. Even if all it had to offer was nesting it would be worth it, but with variables and mixins it really shines.
there's nothing about "true css" that makes it intrinsically superior to the "pseudo-languages" that have to be preprocessed to generate css. the spec merely determines the features browsers have to support, not the manner in which people have to use them.
You all should be aware that it is impossible for CSS preprocessors/postprocessor to fully replicate calc() and var(). For example, you won't be able to do something like calc(100% - 200px) or have scoped variables.
Very cool, but once you start working in something like LESS or Sass, it totally changes how you write styling and becomes something more than "CSS with variables". The possibilities they offer are more than features, it changes your entire workflow. Personally, I won't go back.
But besides all that, it's pretty sweet to have something more like "CSS with variables". That can come in super-handy sometimes.
The site looks gorgeous and is perfectly readable in Firefox 25 on Ubuntu.
Also this looks pretty neat; I wasn't super interested in learning to use Sass/LESS or working it into my development cycle, but this looks like a good step towards not having to make much of a change while still reaping some nice benefits.
This looks pretty cool. It should probably explain that it's a static subset of the spec, and not actually a polyfill for the spec itself. Since the spec allows for dynamic, cascading variables, as well as dynamic calculations.
All custom fonts look like a disaster on Chrome in Windows. It's the only browser that uses GDI to render text in Windows where Firefox/IE use DirectDraw. All fonts end up being rendered very thin, and if they're thin to start with, that causes discontinuities in the glyphs. It also affects the color; the rendered color may be significantly different than the text color specified in CSS.
It's been an open bug on Chromium/Chrome for several years.
Definitely going to give this a try. I really appreciate the apparent simplicity and creativity of this tool. It avoids the need to learn the odd syntax of LESS/Sass for those of us who need reliable cross-browser support while providing many (though not all) of the benefits of precompilers.
Man I really hate when the creator of the site expects me to scroll down. I have a 1080p monitor, if I can't see any content at that height I have to assume there isn't any.
Agreed. It seems to be a design trend that's on the upswing lately, and it's frustrating. I encountered a mobile site yesterday that did that... to me it's the equivalent of the "click to enter" home page of bygone days. Uh, no thanks.
I kind of like it. It looks nice, and the the low info density makes reading (relatively) dense subject matter easier. With this design trend you'll probably start assuming that there is room to scroll when there's only a title on the screen.
I had no idea that was even an option until I read your comment. Chrome on OS X shows the v-scroll bar for less than a second, and I missed it. After that, the only way they come back is to scroll. There was no visual indication that it was anything more than a title page with no links (aside from the github link).
I wish there were a revolt against W3C. They have consistently made a mess of everything they touch (and take forever to do it). Why reinvent the wheel yet again with another fuglier syntax? We already have Sass and LESS which are widely used and quite beloved. Just adopt the best of those and save us from yet another "XSL-FO". Please! For God's sake, man!
That's a case of assuming the worst without knowing the decisions that went into the spec. The idea of using a simple `$` syntax for variables came up and was discussed but was eventually rejected. If I recall right it was rejected because they thought they might want to use it for a separate feature in the future. And they thought the function syntax better fit in with the rest of CSS (which uses functions a lot) anyways.
I know I used to think the var syntax was incredibly ugly, but I have to say after using it for a while now, you actually get used to it.
But read through the CSSWG mailing lists and you'll gain a lot more respect back for the decisions they make.
Looks a lot like a pre-processor to me, except that its functionality is limited to what can be defined by pure CSS. I'm not sure why you would choose this preprocessor over one with more functionality.
Somebody must have thought it was a good idea to have gone through so much effort, so perhaps I'm missing something.
[+] [-] pvnick|12 years ago|reply
I think this is a really cool project, and I commend ianstormtaylor for pushing the envelope and advancing the state of the web. Good job!
edit: I understand criticism has its place in Show HN. But for God's sake, I had to scroll _all the way to the bottom_ to find some kind words of encouragement. You folks should really read some Dale Carnegie
[+] [-] davedx|12 years ago|reply
There is a place for criticism, even non-constructive. But HN sometimes is an echo chamber of only criticism and negativity.
[+] [-] _pmf_|12 years ago|reply
When presented with a sensible, practical and actually innovative idea, I've found the responses to be fairly favorable. With small things that have been done over and over again (worse or better), I think you can expect some comparisons and questions.
[+] [-] EasierLikeThis|12 years ago|reply
[+] [-] heretoo|12 years ago|reply
For people who didn't grow up [with it].
[+] [-] hderms|12 years ago|reply
[+] [-] dinkumthinkum|12 years ago|reply
[+] [-] JimDabell|12 years ago|reply
For example:
If I load that document in a browser that supports CSS variables, the title will be blue. But if I run it through Myth, it drops the blue rule and makes the title red. This is because CSS variables are inherited throughout the document and can be overridden at any time. The calculated value of the CSS property that uses the variable depends on the document structure.Likewise with calc() - if you multiply values like in their example, it works, but if you try to add two values of different units (e.g. 2em + 30%), it silently falls back to requiring browser support for calc().
This might be useful in narrow circumstances, but it should have big warning signs because it doesn't come close to being a proper polyfill.
[+] [-] crazygringo|12 years ago|reply
Having a "polyfill" is certainly a valid justification. But this doesn't come close to LESS/Sass -- I'd argue that the main feature of those is nested rules, and then mixins.
Variables and calculations are great, but most LESS code I've encountered uses nesting and mixins to a far greater extent. Advertising the project as "the benefits of tools like LESS and Sass" seems misleading, and seems to set up expectations that Myth doesn't fulfill.
[+] [-] xauronx|12 years ago|reply
[+] [-] marknutter|12 years ago|reply
[+] [-] dabernathy89|12 years ago|reply
[+] [-] marquis|12 years ago|reply
https://www.youtube.com/watch?v=fPAf8dN4G4w
[+] [-] zem|12 years ago|reply
[+] [-] valtron|12 years ago|reply
(Only relevant if you need to support IE < 9, but still cool.)
[+] [-] stormcrowsx|12 years ago|reply
[+] [-] jackmoore|12 years ago|reply
[+] [-] alanh|12 years ago|reply
[+] [-] codegeek|12 years ago|reply
[+] [-] RALaBarge|12 years ago|reply
[+] [-] Kronopath|12 years ago|reply
http://i.imgur.com/i5GwqIN.png?1
"Variablcs"?
[+] [-] franksmule|12 years ago|reply
[+] [-] jahewson|12 years ago|reply
[+] [-] pistle|12 years ago|reply
[+] [-] eknkc|12 years ago|reply
I you need finer grained control, take a look at rework itself. We have been using it for a while and it's just great.
[+] [-] chc|12 years ago|reply
[+] [-] badman_ting|12 years ago|reply
But besides all that, it's pretty sweet to have something more like "CSS with variables". That can come in super-handy sometimes.
[+] [-] djokkataja|12 years ago|reply
Also this looks pretty neat; I wasn't super interested in learning to use Sass/LESS or working it into my development cycle, but this looks like a good step towards not having to make much of a change while still reaping some nice benefits.
[+] [-] coderzach|12 years ago|reply
[+] [-] Kiro|12 years ago|reply
[+] [-] dangrossman|12 years ago|reply
It's been an open bug on Chromium/Chrome for several years.
[+] [-] mscottmcbee|12 years ago|reply
[+] [-] prezjordan|12 years ago|reply
[+] [-] Pxtl|12 years ago|reply
I totally read that completely differently. Complete document/style separation is a myth.
[+] [-] ozh|12 years ago|reply
[+] [-] abvdasker|12 years ago|reply
Seriously great work.
[+] [-] lstamour|12 years ago|reply
After all, SCSS was based on "CSS3" so we wouldn't have to rewrite our CSS. It's still around ... so we don't have to rewrite our SCSS.
I'm happy to see innovation here, but I also wish IE would just auto-update already. :D
[+] [-] iLoch|12 years ago|reply
[+] [-] ldh|12 years ago|reply
[+] [-] teddyknox|12 years ago|reply
[+] [-] dnm|12 years ago|reply
[+] [-] transfire|12 years ago|reply
[+] [-] ianstormtaylor|12 years ago|reply
I know I used to think the var syntax was incredibly ugly, but I have to say after using it for a while now, you actually get used to it.
But read through the CSSWG mailing lists and you'll gain a lot more respect back for the decisions they make.
[+] [-] jsmeaton|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] bct|12 years ago|reply
You say that like everyone agrees on what "the best" is.
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] crystaln|12 years ago|reply
Looks a lot like a pre-processor to me, except that its functionality is limited to what can be defined by pure CSS. I'm not sure why you would choose this preprocessor over one with more functionality.
Somebody must have thought it was a good idea to have gone through so much effort, so perhaps I'm missing something.