Hacker Newsnew | past | comments | ask | show | jobs | submit | zachstronaut's commentslogin

When we identify places that HTML/CSS are falling short for making desktop quality applications, and we bring those issues to the standards community, and we make HTML/CSS better, then we lift up everybody's applications. We make the whole web better. Together.

If we can get missing UI features into the browser, those UI features will have native implementations and APIs, and that will give all of us free functionality and better performance.


Yup, and canvas is just a part of that. It gives control back to the web developers and allows us to create anything we want without waiting for browser implementations. IMO, HTML and CSS are fundamentally not designed for building this kind of app, which isn't really a solvable problem without inventing something new anyway. Either that or we abstract them to make working with them easier.


Can you give an example of how Google Documents is falling short of being desktop class with their HTML/CSS based UI?


Seriously? Google Docs is nothing compared to any native word processor. Just look at Apple Pages or Microsoft Word. The kinds of layouts and power you get from those tools is way beyond what anyone has ever been able to do in the browser.

Secondly, yes Google Docs uses HTML for their UI, but it's seriously abstracted I believe as Google Closure though I may be wrong. My point is that HTML and CSS can still be used, but they need abstractions for this type of app. Canvas is just another approach to the same problem.


Do you have links so I can check out some web based word processors that deliver more of a desktop class experience than Google Docs does? Especially one where the UI is done entirely with Canvas?


CappCon had couple awesome demos using all canvas. Example is here: https://github.com/austinsarner/Frappuccino unfortunately it's pretty buggy since it was never finished (due to a lack of funding) I believe a video of it being used was shown in the single video of the talk we released, it can be found on the Cappuccino blog.

Edit: here's a link to a video from very early on in development. http://db.tt/2YX8gpYx


As far as I know, no one has built that yet. But just because canvas allows a greater degree of flexibility, I think it's a worthy experiment for someone to do.


It's all GWT. The abstraction works there because you can't touch the DOM.


The Web is HTML. HTTP is Hyper Text Transport Protocol. I think you're advocating for a JSTP that just cuts out HTML and CSS entirely. And at that point, why not just serve up compiled JS since it will be less bandwidth, right? Goodbye open web.


For compiling JS to be widely used, there has to be a decompiler or interpreter in most major browsers. It's no different than distributing binaries written in any compiled language.

How does this damage the open web?


Yes. I share your concerns. This attitude that HTML and CSS and browser UI somehow need to be replaced by a custom layer of JavaScript ultimately is a slippery slope towards things like applets and swfs... towards a byte-code compiled web. See also: Native SDK.

We've got all these mechanisms built up to deal with web UI that is constructed with HTML and CSS in terms of accessibility, in terms of search indexing, in terms of browser plugins and extensions, in terms of web services and bookmarklets, in terms of UI debugging... Also, the web UI you get with HTML and CSS inherits a bunch of standard behaviors and defaults that make for more consistent experience from site to site. Consistency in UI mental models is a great thing.

I can't think of a single argument FOR this idea of rendering UI entirely in canvas that shouldn't instead be met with a response of "so lets make HTML and CSS better!" Instead of improving the open standards of HTML/CSS, people are pushing towards proprietary solutions.

Sometimes even the best intentions can go awry. I don't think this is malice so much as ignorance.


Sorry, but those things are totally different. Applets and flash are plugins - proprietary additions to browsers that live in a black box. Canvas is a standard, and is part of the browser itself. HTML and CSS don't need to be replaced for most things, but this is an interesting experiment to see whether for a certain class of applications, canvas can outperform the DOM and take care of some of the cross browser issues that CSS is plagued with. I don't get why people are so attached to HTML and CSS.


I'm attached to HTML and CSS because I remember UI programming before HTML and CSS. I'm attached to HTML and CSS because of the debugging tools for HTML and CSS UI. I'm attached to HTML and CSS because it allows for bookmarklets, and screenscraping, and browser plugins/extensions. I'm attached to HTML and CSS because it creates a beautiful separation between front end and back end code. I'm attached to HTML and CSS because UI designers can skin software built by JS programmers by tweaking a CSS file without having to know any JS. I'm attached to HTML and CSS because the web is HTML and CSS.


It's still an HTML document. Bookmarklets and screen scraping are most certainly doable. The latter, probably easier than it normally is. How is this presenting a problem?

Browser plugins and extensions are entirely unrelated to HTML and CSS, but if they were related it'd still be a non-issue since this is still an HTML document in a browser.


Just because things sucked before HTML and CSS doesn't mean that they're the pinnacle. I personally find debugging HTML and CSS incredibly frustrating. Uneven standards implementation across browsers doesn't help either.

And I am seeing first hand how UI designers find CSS (it's NOT intuitive at all).

We build things with HTML, CSS, and JS that they were never designed to be building blocks to. At some point we either have to accept that these are not up to scratch or we can continue to see the web eroded in favor of native platforms (most of which are even more closed).

Attitudes like this makes this quote ring true: "All truth passes through three stages. First, it is ridiculed. Second, it is violently opposed. Third, it is accepted as being self-evident."


Let's not get all Gandhi here. You're not liberating a people from an oppressive colonial power. You are programming.

The newness of an idea does not indicate its objective "truth."

I'm saying that HTML and CSS can and should be brought "up to scratch."

I also disagree with your assertion that HTML, CSS, and JS somehow have some predefined subset of things that were intended to be built with them.


Actually I do find the DOM oppressive, especially at 4am in the morning before a deadline ;)

On a serious note, there is no historical precedent for standards committees to competently steer the technical underpinnings of a platform as dynamic and fast-changing as the web. Web development is unwieldy right now because of this.

I never asserted "that HTML, CSS, and JS somehow have some predefined subset of things that were intended to be built with them." At the end of the day, software performance is based on architecture. The architecture of a platform or a language or a framework is intertwined with it's intended purpose. Anything otherwise is just bad engineering.

HTML and CSS are reasonably well engineered tools. They just rely on the web from the 90's, a set of interconnected documents. Not the application and data driven web. The architecture is not designed to handle these new paradigms.

And JS? JS was designed to do form validation. Nowadays it can run your entire web stack, it was NEVER designed to do this. Can you build awesome web apps with HTML, CSS, and JS? You bet. But don't kid yourself that it's easy. Tools like Cappuccino, and Sproutcore, and Blossom are awesome and help sort of solve this issue but they do so at huge performance costs.

Someday the web will be written using the tools and frameworks that don't drive developers to frustration. How soon that day comes will have a lot to do with how attached we are to the outdated architectures used by the web today.


I created the spotlight with a CSS3 radial gradient. I used pointer-events: none; on the element with the gradient so that mouse events would "go through" that element to the content below (the links). The lighting shadow casting effect is created via a box shadow and a text shadow. I'm adjusting the offset of the shadows based on the mouse position, and I'm also adjusting the blur on the shadows based on the distance of the "light source" for the content that is "casting" a shadow.


Thanks for the info.


I did that just for you in particular. I did it so you would call your congress members and tell them you oppose SOPA. And you made those calls for me, right? :p


Not yet, been at work all day. But, I saved the numbers in my cell, and will call as soon as I'm out. :)

On a side note: should I leave a voicemail after hours or is it more effective to send a fax? Never had to do this, but since this law would affect our collective lifebloods even for those outside of USA, it's time for action.


Sometimes there is a voicemail box for after hours calls. Fax works. Phone call works. Email works. Make sure to let them know you are a constituent. It helps to tell them your address.


The javascript does all the parallax motion of the shadow and adjusts the box and text shadow blur based on distance of "light source" from content. So the CSS and JS are rather intimately linked for the full effect. This is just the web nerd in my jabbering away. ;)


No worries, nicholas. This is the second time the link has hit the ycomb news homepage, so I've gotten plenty of attention already. Today is about stopping SOPA!


I can't believe how far my template has spread. I'm just really happy to help fight against SOPA.


I used it in http://qomun.com (shameless plug). Also it has been used by several high traffic spanish blogs and pirate parties (http://pirata.cat and http://www.partidopirata.es/). Kudos!


Phish.net is also using it. I saw your name in the source and was wondering if you were affiliated with that site or this was a widespread thing.

Anyway, great work.


A valid criticism, and I apologize, as I'm very interested in progressive enhancement. It was an omission, and I believe you will find that the page is readable in its default state without JavaScript now. (Mind you, I threw this thing together in the middle of the night last night on a creative whim, and wasn't exactly expecting to end up on ycombinator.)


I was actually complimenting you for setting the spotlight to the centre of the page by default, not criticising you. :-) What did you change now? I revisited the page and it looks the same to me.


shit... I should have read your whole comment.

Well, it was broken earlier. I guess you saw it after I fixed it. =)


Hilarious use of browser UI. I think the best touch is the scroll bar being the paddle.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: