Quote:
Originally Posted by Jaapjan
True. From a programming point of view, XML is not entirely pleasant to parse. However, contrary to binary format, it -is- extremely easy to create and...I am not entirely in agreement with you. I did not say the stream could not be compressed onto the device. There are very memory constrained compression routines that work great on text. And storage space increases all the time on devices.
|
First off, my post was not exactly a response to you, but more a general comment. (The FB2 format that Roger mentions is a single XML stream that can, optionally, be stored in a ZIP file.)
My point is that a data format has to be geared towards the environment in which it is going to be used. While it's true that decompression routines like ZLIB work fine even under low-memory conditions, random access across a compressed stream is always going to be very slow. It may have acceptable performance for fiction-length works, but it scales poorly to larger documents.
Relying on storage space increasing in future devices is wrongheaded, IMO. There are plenty of low-end devices being released even today. (The Palm Z22 for instance.) Also, in a multitasking OS, multiple processes compete for memory and programmers will always find ways to fill up that memory. (They used to say 640Kb RAM was going to be more than enough for everyone.)
Quote:
Originally Posted by Jaapjan
What you are suggesting last sounds remarkably much like Sunrise actually, Laurens. That takes HTML and converts it to binary format for reading on PocketPC or palm. But then again, because the program is yours I suppose it fits your vision. Logically.
|
Try opening a really large HTML file on a handheld device and notice how it slows down to a crawl. I've yet to see a handheld browser that can render the one-page version of the MySQL manual succesfully. (Pocket IE stops rendering the page about a third of the way through.) Plucker and iSilo manage to render this page completely, exactly because they optimize the document's data structures for use in memory-constrained environments and scale well to larger documents.