Next in Browser Development, High DPI Websites?
Joost de Valk writes "In a post at the WebKit blog, Dave Hyatt raises interesting points about the future of web development and browsers. He says, that with screens getting more and more pixels, it is imperative website design takes the next step: High DPI Website rendering. This could mean that a CSS pixel (px) is rendered as a 2x2 pixelblock. In the article he also mentions WebKit will be providing possibilities to use SVG for all kinds of purposes, like backgrounds. He calls upon other browser developers to take part in the discussion so that 'concrete standards in this area can be hammered out.'"
...tell me they aren't going to do this.
I run at a high resolution so I can fit more on the screen, not make it more detailed.
1600x1200 is not a high-def 800x600!
Geez...
The headline says "high DPI"... if each pixel was rendered as a 2x2 block, wouldn't that make it a lower DPI? Correct me if I'm wrong...
WHO NEEDS SHIFT WHEN YOU HAVE CAPSLOCK/ DAMN1
This is going to be a nightmare for web developers like me. Not only will I have to test my website in Internet Explorer 5, 6, 7, Opera 6, 7, 8, Firefox 1, 1.5, 2, Konquerer/Safari, Netscape, etc... but also test in the SAME browsers on monitors with a high resolution to make sure the High DPI rendering doesn't mess up navigation.
This is just a bad idea. Not only is this not going through the W3C as it should to be standardized, but many sites do pixel positioning to have ultimate control over their design. This could throw that out of wack (it looks like this only affects CSS and not pictures/spacers some developers use). Also, I can guarentee you if this is standardized, it'll be like Microsoft's Alpha-Transparent PNG support... it'll come... eventually...
I think maybe we should wait until the current standards are, erm, standard.
Even today I have to tweak valid code to make all the browsers see it the same.
Get the basics right first, like float, tranparency, opacity etc then add to it with whatever is needed.
Common sense is not so common
I'm still running in 320x200, you insensitive clod!
The web will render text just fine for people who set their screen's dpi correctly. Gone are the days of 72px (96 for Macs) == 1 physical inch on a screen. It's just the images and backgrounds (or anything else with fixed dimensions) that won't scale with the text.
While I agree to a point (being able to cram SVG into everywhere it could possibly work will be awesome), any hi-def web design will take a back seat while the next generation standard is decided upon... I vote XHTML2 over HTML5.
There should be more focus on developing websites to be compatible with smaller screens than desktop monitors. How many times have people tried to view some useful website on their PDA or cellphone or other small screened device, only to have it practically unusable due to formatting issues with such a small screen real estate. There is a far higher need for small screen compatability than large screens due to the fact that a bigger screen does not screw up formatting, and therefore is not an issue for the user.
Opera has a zoom function that scales the entire page already. Images smooth as they are enlarged and do not look pixelated while text takes on a larger font size without losing detail. Basically it works just like this guy describes and it already exists!
The OS, or at least the OS API seems to be the one rendering text, stock buttons and such, and there is no way to take a linear unit of measurement to make an object of a certain size and expect it to be the same on all computers, 1cm on one screen is .75 on another. I would like a 12 point font to show up as a smooth font on a higher DPI display, but what that does is screw up a lot of dialogue boxes. I think Vista supports this. Whether IE7 would support it is a different issue, it will only if there is a demand for it.
Heh, actually this plan makes the product follow the CSS spec more closely, because the spec defines a pixel as a unit that subtends 0.0213, which gives dimensions of 1/96th of an inch (.26mm) at "arm's length" (28in). So far all browsers simplify that to 1 css pixel = 1 screen pixel. Browsers don't yet have any way of measuring the distance between your head and your monitor, so they'll just have to guess.
Without changing the dot pitch 2x rendering would make the ducument twice as wide, and that's going to make things worse, not better.
FWIW, I currently see no industry interest in higher pixel density screens, in fact I see the total opposite. Most 19" screens on the market have the same number of pixels as 17" screens. This maybe good for filling a gamer's field of view but documents are much less readable on a 19" LCD than on a 17" one. The only big change which might happen in the near future is that 19" monitors catch up with 17" ones in terms of pixel density.
No sig today...
It's interesting that nobody complains much when a browser does this scaling when printing a webpage. I'm pretty sure they'll let you turn the feature off, but suppose you had a display with a resolution of 600 DPI? Any browser that assumed 1 css pixel = 1 device pixel would render a webpage that has a maximum width of 800 pixels as just under 1.5 inches wide, and quite unreadable.
Scaling is the right approach, but it's the user (*not* the developer) who should be in control. No one else has any right (or even ability) to set pixel sizes on my display. Am I 320x200 or 1920x1440? 3" handheld or 27" plasma? How far from the monitor am I? How many arcseconds per pixel? How good is my eyesight? What colors and contrast levels do I prefer? What font faces am I most comfortable with? If you don't know for absolute sure, then stay the hell out of my settings.
Any page that says "designed for resolution X" is done by a hack. Current web designs scale ok if you stay away from absolute units. Scaling images properly is a royal pain in the ass. But turning browsers into pixel-perfect rendering devices (even by translating CSS pixels into real pixels) is not the answer. Pixel units should be abolished from the CSS spec (along with points, picas, inches, and cm). Everything should be done with em/ex. Just adding rounded corners to CSS would make a lot of image scaling problems disappear. SVG can pick up the slack.
The web is an information exchange conduit, not a graphic design medium.
Democracy is two wolves and a sheep voting on lunch.
However, I would much prefer a standard whereby those wanting higher def could have higher def, and those wanting more content visible could have more content visible. It's all a matter of scaling, once the resolution has been defined.
The main problem with the web - and with GUIs in general - is that they assume that the designer knows better than the user how the user wants things. There are good image formats out there, but very few people use them. SVG has been around for a while, but is rarely implemented. VRML fared no better. Some page styles only work at all at certain resolutions, relying on specific interactions between unscaled pixel-based images and scaled vector fonts.
Part of the problem is that designers have required more and more features, and that different parties have supplied those features in totally incompatible ways - sometimes deliberately so. (JScript was intentionally different from Javascript, for example.) There again, sometimes parties (notably the WWW Consortium) manage to mess things up so much that features never get implemented at all (some HTML standards suffered this fate), only ever get implemented by one very small group (multicast Mosaic, anyone?) or end up being deliberately avoided (font tags, blink tags, backgrounds in tables or table cells, bi-directional text, Java applications as opposed to applets, etc)
As it stands, there is so little agreement on anything and so little uniformity in implementation on the few things that are agreed on, it's a wonder that the web works at all for anyone for any of the time. (Many pages are designed to only work on one specific version of one specific browser on one specific OS with one specific set of utilities installed, so I guess that it is really misleading to call the WWW "world-wide".)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Lots of web designers fuck up. It's an issue.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
BS. My first monitor was 640x480 14 inch jobby. It was ok, but the pixels were very visible. My current monitor is 19" and capable of 1600x1200. I never use that mode for two reasons though. The first is that it's only capable of that at like 50 fps, and the second is that everything seems to specify font size in pixels, so if i put the resolution all the way up to make things look sharper, all the text is tiny.
The demand for better monitors is somewhat limited by the second contention. Why buy a high-rez monitor if it's going to make all the menues uncomfortably tiny?
Firefox in the browser world, and other tools elsewhere help out wrt. the second problem. Websites are all over the place in specifying font sizes though, so gestures comes in really handy for quickly resizing a page immediately after clickage. Unfortunately, putting the fonts at a reasonable size seems to mess up quite a few pages with complicated, hard-coded styles resulting in lots of text overlap or poorly flowing tables and whatnot.
I have decent eyesight, but I don't want all the text on my monitor to look like the system font from fifteen years ago that was all about minimizing memory usage. I want text to look like newsprint or a book. My monitor is capable of this, so why is the software lagging?
The physical size of the text on the screen should be independant of the pixel size of the monitor.
Can you be Even More Awesome?!
Using px for 2 (or any other number of) pixels per pixel is plainly stupid. Pixel is just a pixel. If web developers used px as measurement, and now they are realising that their design would not work with higher resolutions, it is their stupidity. They should have used device independent units, such as points, millimeters, inches, centimeters, furlongs, miles or whatever is possible to use in CSS.
First they ignore you, then they laugh at you, then they fight you, then you win.
I fully agree with the point you make, but there are exceptions. Like my current notebook (Fujitsu P7010D) which has only a 10.5 inch (wide)screen, but still with 1280x768 pixels. I can tell you, those pixels ar pretty small!! A nice side effect of higher pixel resolutions is also that when you have a dead pixel, it becomes much less visible. In my case I've one blue pixel constantly on. My dealer was willing to replace the screen, but I left it as it is. You simply don't see it.
Browsers shouldn't have a back button!! It's all about going forward...
This was just posted: High DPI Part 2
WARNING: If accidentally read, induce vomiting.
FWIW, I currently see no industry interest in higher pixel density screens, in fact I see the total opposite.
I have no idea what you are basing this on, because manufacturers currently offer a wide variety of displays with a huge range of true DPI.
Many laptops for years have been coming with 15" screens that have 1600x1200 resolution, while the standalone 15" LCD you buy at a store might only have 800x600. I'd say that's a pretty significant difference -- enough that IBM shipped their thinkpads with the "large text" setting as default for many years.
There has been a gradual trend towards increasing physical DPI in devices, simply because we all want crisper text and manufacturing limitations are the only reason we don't. Maybe you're happy seeing individual pixels, but when the average customer sees the quality difference between a 96dpi LCD and a 300 dpi LCD, he'll always prefer the higher -- assuming it doesn't make everything hard to see.
Recursive: Adj. See Recursive.
Let's say you have one of the ultra high rez wquxga monitors that's 3840x2400 in 24" (those are real by the way). At a size developed for normal monitors, you wouldn't be able to see anything. One pixel is just not visible with the naked eye. It's the kind of dsiplay you can literally hold a magnifying glass to to get more detail.
However I think they are wrong in that web standards need to deal with this. What should deal with it, and what will allegedly deal with it, is OSes. As OSes gain hardware acceleration of their desktops, real resolution independance becomes easy to achieve. You know the rez of the monitor and its' size (monitors report how large they are). Then you just need the user to specify zoom level. At 100%, a 12 point font is rendered as 12 points, at 50%, it's rendered as 6 points. Graphics could likewise be scaled.
Vista is allegedly supposed to be able to do this, though I'm not sure it'll actually make it in for release. Either way, I suspect it's something comming for all OSes sooner rather than later.
Opera has for a long time supported page "zoom", that allows you to make things bigger, without messing up the layout. IE7 will, as far as I know, have this feature too.
Why all this new standards/browsers/websites talk?
The browser determines how HTML is rendered.
And that pretty much sums it up. This is not a web standard that has to be introduced on a element level within a page - that would be useless as you want to upscale the whole thing. This is a browser rendering issue pure and simple, and can be handled however the browser writers see fit.
However, before thinking about upsclaing, they need to think about a few 'related' issues:
On high DPI displays. For example:
A normal 19" LCD monitor you buy for a desktop is usually 1280x1024. Do the math, it works out to around 90dpi, or perhaps ppi (pixels per inch) is a better term. Ok but now a friend of mine has a laptop that has a screen that's only 15" but 1600x1200. That's about 130dpi. So an image on a typical desktop monitor appears much larger than the same image on that laptop. Actually, when you get down to it, text is hard to read on it, it's so small.
Thus what you need is to scale it up so that if something requests to be displayed as 10 pixels, it's actually displayed as more so it appears larger. This of course goes to even larger extremes with higher resolutions displays. You can get displays that are in excess fo 200dpi. Gets real hard to see anything at a normal size, when normal is made for displays in the 80-90dpi range.
For menus at least, every desktop environment save windows lets you specify the font size of menus and other parts. So grap your upgrade of your OS today! ;)
For much of the remaining text, setting the DPI correctly helps a lot. That leaves the px specified fonts... webdesigners who use these should be summarily shot (with chocolate, e.g.), but the only help there is the zoom, as you write.
I run 1600x1200 on a 21" and 19", and I am quite happy about it. But I don't use windows anymore.
Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
It's good start, but I think it needs one change. They say about the img-element: "the only tradeoff being that the higher resolution artwork would be slower to load on low DPI displays that couldn't render all the detail anyway". To gain widespread adoption, this has to be solved first. A possible solution would be to add an additional "device-pixel-ratio" element to the http request header itself, so a server serves different size of images (jpgs, gifs, pngs) based on the resolution of a requesting device.
Ever since the seperation of style and content via CSS, the web has been moving much faster towards the goal of being equally well rendered in every medium. This is why you should measure fonts in ems rather than pixels, and measure other elements in percentages or ems. That way, your site will look just as good on a projector as it will on a mobile phone. With a move to liquid layouts and SVG, and a lack of references to pixels, the devices the webpage will be rendered on should become completely irrelevant to web developers.
Consider a Web page that is designed for an 800×600 resolution.
Okay, this is your first mistake. When you design a web site for a particular resolution you're guaranteed that it will display undesirably on more than 50% of your visitors' screens. Even if my screen is exactly your projected size there is a very good chance I'll be annoyed by having to resize my browser.
In fact, if I have to make my browser window any other size than the one I've set it to in order for your web site to be useful then you've already pissed me off. I'm the customer. You don't want to piss me off.
Its not like this wasn't understood from the first days of NCSA Mosaic nearly 15 years ago. That's why the original specs for html intentionally offered no way to specify pixel placement.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
Of course! SVG porn is called H manga.
In addition to having been the first browser to let you scale images together with text, Opera lets you apply "high quality" scaling to true-color images, that is bicubic interpolation. I love high density LCDs, and on my 128 dpi laptop monitor (15.4" at 1680x1050 pixels, do the math) Opera is perfect for letting me choose between "lots of tiny text and stuff" and "reasonable amount of detailed text and stuff". Of course, enlarging bitmaps with interpolation doesn't make them more detailed, but it's much better than nearest-neighbour scaling. Just Ctrl-scroll wheel and set the page to the desired level of magnification/detail.
Nuffsaid
________
Don't know about his cat, but Schroedinger is definitely dead.
A lot of /. seems to look at this issue as a technology or even a web technology issue.... but from a designer's POV it's always been a communication arts issue having to do with compositional layout, not html layout.
What this means is that we designers are very concerned about proportions and the size/scale relationship between type on the page and graphics on the page.
Given this statement, the existing option of using relative sized type that will scale relative to other type on the page and maintain that relationship... is only half of the equation.... the compositional layout still ends up broken, ie: the important graphic on the page no longer has the hierarchical and visual importance it was supposed to have in the design because all the text on the page is suddenly 2X bigger and the visual combination of text and graphic no longer communicates the message effectively and has become a cramped, chunky, messy version of what it was intended to be.
This explanation is why a designer may choose to use pixel sizes for a particular layout instead of using relative sizes.
Additionally, a designer would modify a compositional layout of the same content, given the option, if there are two or more set dimensional targets... simply because each dimensional size may have a optimal layout to best communicate the message, ie: a landscape design compared to a portrait design or better yet a letter page sized design compared to a magazine page design.... and this is due to the fact that there is more space available and a different balance of space and content is required, which means different margins, different graphic sizes, etc, etc... but not simply a scaled up version.
An analogy for the uber geek would be to think in terms of physics and nature.... the bumblebee, we all know that the bumblebee at any other scale would not be able to fly with it's current proportions of wing/body/mass... basically a given design won't always continue to work if you simply scale it up proportionally.
To sum up, any tools that will allow us to more effectively do our job of communicating will get our support. This doesn't mean the tools won't be abused by some, in fact some designers will take it as a challenge to abuse the tool to the extreme and will simply call this 'cutting edge' design, even though the more experienced designers will look at it and call it 'cutting room floor' design.
So flame on about standards and liquid designs, just know that until the standards and technology accomodate good visual design practice and methodology (which has been around a lot longer and has a much more mature heritage, more research done and more results in real use) then designers will continue to ignore them when they get in the way.
A fool throws a stone into a well and a thousand sages can not remove it.
Graphics could likewise be scaled.
Yes, they can--but scaled graphics will never look as good as higher-resolution source graphics. The entire point of what he's talking about is enabling web developers to have pages with images that look fantastic when scaled up, rather than looking like a page with small images that have been automatically scaled by the OS/browser.