Why do computer images have to be rectangles?

Personally, I think it’s a matter of “no one cared” back when the technology was first being implemented.

Browsers read the .gif and .jpg image formats because they were widely used and thusly, most likely to be used on the web. However, .gif and .jpg weren’t actually designed for the web, so the technical limitations of them were that they stored the shape in a rectangle (which didn’t matter). HTML wasn’t designed to be a graphic layout & design tool, but rather a simplistic way of getting other computers to display text and the occasional graphic on their screens from another computer. Since it was first used mainly for academic and scientific use, making the page look “pretty” wasn’t important.

Therefore, we’re using a couple of file formats never designed to have to allow text wrapped near a non-rectangular form and a text transfer protocol never designed to appeal to the astheticly minded. So the short answer is: no one cared and it’s a pain in the ass now to change it. I expect that given the web’s current status as a commercial vehicle, this might change but as is, web designers are stuck with an engine never designed to do what they want.


“I guess one person can make a difference, although most of the time they probably shouldn’t.”

Well, that sounds like pure speculation on your part… The fact is that page layout tools on the PC have been able to wrap text around images for at least a decade or more, inluding GIF and (later) JPG images. There is nothing magical about web browsers that makes them unable to do this - it’s just that no one thinks the tradeoffs in code size and page size would be worth it, especially when there are reasonable alternatives like the table slicing I mentioned above.

The fact is that rectangular images make SENSE, for a host of reasons. Creating a format to support images of arbitrary perimeter shape just to support text wrapping is stupid, especially when there are easier ways to do it.

That’s not exactly true. Page layout tools import images from gif, jpeg, whatever, and convert them to raster images (generally) and the transparency is lost or converted to white (generally). The automatic wrapping algorithms are not cheap in terms of execution speed or code size. Browsers are better off without this extra baggage.

Is it possible that browsers will ever support this feature? Well, anything’s possible… it’s just software, after all!

Yeah that is what I do now, but it’s a pain in the axe.

Java and Flash are fine for things that aren’t essential to the page, but I like to think that THE TEXT is rather important. Sorry, but sticking in a java applet every time I want to right or left align an image for text wrapping is just a REALLY STUPID IDEA. If that is your idea of “a good solution” then I’m really scared to see what kind of sites you design.



I have over 2000 posts, dammit! Show some respect.
http://fathom.org/opalcat/showmerespect.jpg
O p a l C a t
www.opalcat.com

I have to agree. Before I’d put a Java applet or a Flash object on a page, there have to be absolutely no alternatives. Using Java or Flash to handle text manipulation would be a nightmare for maintenance, would overburden the users, and in general just suck.

Opal: Another solution for you would be to use DHTML. With DHTML and some clever scripts you should be able to achieve what you want. Since you can position text anywhere, even on top of images, it would be simply a matter of defining a style sheet that knows where the boundaries of your images are and flows text around them. If this is an image that never changes, just spend some time to analyze it and figure out the starting column positions for each column to the right of the image. You might even be able to write some Javascript to control that automatically. I’d have to think a little more about that solution, but theoretically there’d be nothing stopping you. You could explicitly tag the columns next to the image, then move them out to the right spot in code, or lay a table over the image, then move the rows under the image out according to the values you have pre-determined. No more image slicing, no funky tables.

Which was 100% my point. I never said that mankind was incapable of creating a browser capable of viewing such things, I said that HTML wasn’t made to do it. It simply wasn’t important. Face it, back when HTML was devised, the idea was that Science Guy A could look at Science Guy B’s research with graphs from across the world - not so Coca-Cola could create a website and require Shockwave 6.0 to get in the front door. All the browser does it display what it’s told to display, be the instructions in HTML, CGI, Java, Flash or whatever else. Opal’s question seemed to be why she couldn’t do what she wanted in HTML and the answer is the same as if she asked “Why can’t I write a term paper using Quake II?” – That’s not what it was set up to do.

My guess is that changing the way HTML works now would simply be more of a hassle than its currently worth. Remember how long it took for frames and tables to work right and not crash people’s browsers? Certainly frames and tables have more universal applications than writing text that butts up against a circle’s edge. In the meantime, as people have shown, it is possible to make the effect on a website (even if the method isn’t desirable) so it’s probably not a high priority.


“I guess one person can make a difference, although most of the time they probably shouldn’t.”

You don’t “stick” a java applet whereever you want to align text and images. I wasn’t suggesting you stick little applets all over your page. I was saying that if you really need that much precison on your page, you make the whole page an applet. Whether you think it is a stupid idea or not, lots of web sites, particularly corporate ones, that want more control over layout of their page than they can get using HTML, use Java or flash for the whole page.

I have worked on several sites that use Java for no other reason than they didn’t like being restricted to the font that HTML provides. Other sites want to interweave pictures and text more than HTML allows. I even know of one site that displays music lyrics using Java to display them so that people who look up the lyrics can’t copy and paste the lyrics text to another window as a way to enforce copyright restrictions.

Perhaps your numerous posts you are so proud of has made you insensitive to good manners. I was trying to help you with a problem you were having and you insult me in return.


“The truth does not make a good story; that’s why we have art.”

      • Actually, now that it’s come down to this, Opal’s site pages do kind of load/work slow. I’ve seen a few pages with one cool interactive effect that worked well, and I’ve seen a bunch of pages that had a bunch of interactive features that ran slow and scrolled broken, leaving me to only imagine what it was like when they tested it out on their home computer (It worked perfect then! Your computer/connection must suck!). Ahem. - MC

yeah, I have been to lyrics.ch before, too.
I still think that using java for your main content is foolish, and I don’t care that some corporations do it. It alienates a lot of people and qualifies in MY mind as “crappy design”.
As for my posts, I’m not “proud” of them. I just think it’s funny. I insulted you because you had a ridiculously thin-skinned response to a joke I made earlier, and then proceeded to make incredibly lame suggestions. shrug

To reiterate what I’ve said before: I don’t have a burning need for this technology. I don’t have some specific place I want to use it right this minute. I’m not looking for “a workaround” to accomplish anything. I simply think that it should be possible to do what I’m suggesting. Period. Deal.



I have over 2000 posts, dammit! Show some respect.
http://fathom.org/opalcat/showmerespect.jpg
O p a l C a t
www.opalcat.com

Yeah, browsers should do it, but I think the “why bother with that much detail?” attitude prevalent when pictures were a luxury prevailed a little too long and now it’d be nearly impossible to retrofit basic HTML.

The style sheets thing is a good idea, to put the text over the image without having to break it up.

But yeah, I can also hear it as a complaint about shortsightedness as well. Just a “argh, why did they make it hard for everyone to save a little coding.”

And you may not be able to write a term paper in Quake2 (actually, you could, fairly easily. I could write a text editor mod in a few hours.) you can administer your unix system in Doom… Processes are represented by monsters. The more important the process, the bigger the monster. If you want to ‘kill -9’ apache, you’d better grab a rocket launcher, cause it’s gonna put up a fight. :slight_smile: