LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


View Poll Results: What do you think of this idea?
I love it! I hope it goes somewhere! 0 0%
I hate it! It's no good, it has no hope. 1 11.11%
It's a good idea, but I don't think it's got any hope. 0 0%
It's not good, but maybe it's got potential. 4 44.44%
Another image format? I could care less. 1 11.11%
I just don't care about this, period. 2 22.22%
Pancakes are evil! (Hey, I want real answers...) 1 11.11%
Voters: 9. You may not vote on this poll

Reply
  Search this Thread
Old 10-23-2004, 02:04 PM   #1
gothgeek84
Member
 
Registered: Feb 2004
Location: USA
Distribution: Ubuntu 7.04, Experimenting with others
Posts: 46

Rep: Reputation: 15
Lightbulb New Graphical Image Format


I've developed a plan for a new graphical image format. You're probably thinking "ooh, just what we need. Another image format to work with..." Except this one's different; after all, JPEG, GIF, PNG (the three major formats) are all very similar. But, mine is not completely arbitrary; it's XML-based. Yep, you heard right.

I got the inspiration from taking a good look at XPM, an image format that hasn't really been updated in 4 years; longer than that if you're looking for major changes. My idea is to take the same basic setup, turning certain characters into certain colored pixels, but instead of doing it in an arbitrary C-based setup, it would be done in what's becoming a new universal language - XML.

I have plans for it to feature multiple images in one file (similar to Windows Icons or TIFF images), alpha transparency, and even animations. (I've put some thought also into designing a slight spin-off that would be a Flash replacement, and even a way to turn this into an alternative to PDFs) I won't go into all the details here...as paranoid as it sounds, there are people who will take your idea and make it their own. I'm not releasing the specs till I'm ready.

The biggest problem I have is this - I have the plan, but not the program to impliment it. I am a programmer, but I deal mostly in PHP; I would need a good C or C++ backend (say, as an include file that could be turned into an external .so or .dll or inserted directly) to really get this working. And, of course, I realize that all these features might not work well together; the first thing that comes to mind is how doing animations with alpha transparency could be a nightmare on both sides. But it would be nice to have an easy-to-design (it's an HTML for images! well, sorta), powerful, multitasking image version that's not ten years old.

If anyone would like to help me out by coding the backend (I can't offer you anything except your name in it...unless it started generating money, of course), I would be greatly appreciative. I would do it myself, but it's just not my area; even if I learned C or C++, I still don't have the graphics knowledge, muchless the abilities, to pull something like this off. I'd like this to be as cross-comatible as it can be; after all, what's the point in having a good file format if only one arbitrary system can use it?

And, if you don't want to help, just let me know what you think of this. I'm interested in getting some opinions from the average Linux user (and hey, if there are any average Windows or Mac or whatever else users, I'd like their opinions too...after all, this won't get anywhere without support from users, and support for their systems) on how this sounds. Be honest, please; if you think it sucks, that's fine. Maybe it does. I don't think so, but then again, I'm kinda biased about it.

A few more things before I go:
  • Just because it's XML-based doesn't mean I don't want it to be designed graphically; after all, XPMs are drawn out in Gimp and the like all the time. But, the point is you have the option of going either way.
  • I've given some thought to compression, and haven't really come up with a great answer yet. The problem with compressed images is that they tend to become arbitrary and complicated; not to mention, if it was compressed, it would be much harder to work with textually. My thought would be to use a standard file-compression format; Gzip is great, because most browsers (even Internet Explorer!) support using it; Bzip2 would give much greater compression, but is less common; it would be better for in a standalone program that would include the Bz2 libs. Basically, I see no reason to create another compression format for these images; the whole point of it is to avoid any arbitrary, proprietary formats.
  • The flash- and pdf-replacement versions haven't been that thought out yet; it's just a point on the idea that an XML-based format, when used right, could work with anything.
  • I don't know much about XML, but I think with the right setup (DTDs, Stylesheets, and the like), it would be possible for this to work even in browsers and other programs that didn't support the format in it's true form (try looking for the CSS pencils to see what I mean). However, this would mean a loss, simplification, or alternate means for achieving much of the features. For example, alpha transparency would have to be faked or removed altogether, and animations wouldn't work without some external scripting backend, such as javascript. Also, this would make the images much larger, due to the overhead of all the other files needed to display it in this fashion.
  • That's all I can think of right now; if any other ideas come to me I'll post them here.

Please, let me know what you think of this! Not just if you think it's a good idea, but if it has any hopes of getting off the ground.
gothgeek84
 
Old 10-23-2004, 02:08 PM   #2
gothgeek84
Member
 
Registered: Feb 2004
Location: USA
Distribution: Ubuntu 7.04, Experimenting with others
Posts: 46

Original Poster
Rep: Reputation: 15
I just noticed how long that was, so I'm going to add a little summary of it here. I'd like you to still read the whole proposal, but at least here you get some idea:

New image format, similar to XPM, XML-based, with advanced features like alpha transparency and animations.

There ya go.
 
Old 10-23-2004, 02:34 PM   #3
german
Member
 
Registered: Jul 2003
Location: Toronto, Canada
Distribution: Debian etch, Gentoo
Posts: 312

Rep: Reputation: 30
You should take a look at SVG before you start, it seems more or less like what you're talking about doing...
 
Old 10-23-2004, 03:04 PM   #4
Hko
Senior Member
 
Registered: Aug 2002
Location: Groningen, The Netherlands
Distribution: Debian
Posts: 2,536

Rep: Reputation: 111Reputation: 111
Voted for "It's not good, but maybe it's got potential.", which comes closest to what my first idea about this is.

Everything seems to be XML'd these days, so it doesn;t sound like a bad idea at first. "German" said there already was SVG, but AFIAK SVG doesn't do bitmaps, only vectors. So, as for the Flash-replacement idea: SVG is already there, so you can skip that one (though SVG still isn't anywhere near flash's capabilities).

For XML-bitmaps there may be a place. But did you realize they're going to be HUGE files? To overcome this downside partly, XML-izing the JPEG format could result in more-or-less usable file-sizes, though still quite big.

But still, while a lot of things get XML-ized these days, I doubt if there are any real uses for this. Jpeg and icons/small glyphs being probably the only feasible bitmap-format to define in XML, I think having jpeg in XML doesn't have any uses, because the jpeg data is quite cryptic to parse: what would we want this in a ascii-format?

This leaves (possibly animated) icons and other really small uncompressed bitmaps ("glyphs") as the only use. This is also XPM's domain, so in this area there may be a point in XML bitmaps. Still XPM will still have one advantage over XML: it can be include directly into C-sources.
 
Old 10-23-2004, 10:33 PM   #5
scorbett
Member
 
Registered: May 2002
Location: Canada
Distribution: Slackware, Mandriva, RedHat
Posts: 46

Rep: Reputation: 15
I think you're reinventing the wheel there, buddy. I second what the other poster said about SVG. An XML-based image format that strives to be cross platform and contains support for animation and alpha - yup, you just described SVG. It would be a terrific learning project but if you're planning to try to market this you should quit while you're ahead.
 
Old 10-24-2004, 08:03 AM   #6
gothgeek84
Member
 
Registered: Feb 2004
Location: USA
Distribution: Ubuntu 7.04, Experimenting with others
Posts: 46

Original Poster
Rep: Reputation: 15
You might be right about it not working out, but I can't agree with you about SVG. From what I've seen, SVG is for vectors; I'm aiming for pixel-by-pixel graphics here. (Like Hko said, though, it might negate my flash-replacment idea)

Also, the fact that XPM can be included right in C sources is truly one of it's greatest abilities, and makes it a very handy filetype to use when doing C programming. But nowadays, many "modern" programming languages, such as PHP (I don't know any others in Linux off hand, becuase I haven't dealt with others in linux) deal with XML out of (or in most cases, with little addition to) the box; this means that it only takes a little work to turn it into a real image; therefore, for those languages, it works the same as XPM does in C.

I don't really see myself becoming a millionare off this; I mean, the png people never got any money from their stuff. But I think this could become a viable, and perhaps not-so-obscure format. But then again, I'd much rather work with a text-based interface rather than graphical (Raw HTML verses, say, Mozilla Composer), and I like to think there are other people like that out there; sadly, I think they're few and far between.

Also, about size, I'm not making this to be a small image format, I'm making it to be easy to work with. Size is of course an issue, but with the proper compression, a plain-text file (which is what this would be, of course) can get down to a tenth of it's size at least. So, if you have a 400k image (which isn't uncommon for XPMs) and compress it with a good compressor, it could get down to 40k or less. Combine this with the fact that internet connections, as well as computers, are getting faster, and there's really not much of an issue here. Of course, the files would grow substantially the more colors you added; but still, you can only have so many (after all, you define a pixel with a character, and there are only so many characters in ASCII...one drawback of this format, perhaps)

Like I said before, this was just an idea I had. I don't know if anything will come out of it; I don't even know if anything can come out of it. But I personally think it has potental.
 
Old 10-24-2004, 08:07 AM   #7
gothgeek84
Member
 
Registered: Feb 2004
Location: USA
Distribution: Ubuntu 7.04, Experimenting with others
Posts: 46

Original Poster
Rep: Reputation: 15
One extra note: Hko, I agree with the uses; this would be primarily aimed at small glyphs, icons, and the like; after all, full-color photos would be exceedingly difficult to define, considering the fact that there's barely two colors alike. However, like XPM, it would still be able to do this; just because it's not practical doesn't mean it's not possible. Just look at the obscure stuff XPM is used for sometimes.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
USB Drive Format and Image aeuzent Linux - Newbie 2 06-25-2005 12:39 AM
Best CD image format? Cyberian Linux - Software 1 01-10-2005 01:50 PM
Bulk change image format apokryphos Linux - General 11 09-06-2004 04:17 PM
Bulk image format conversions with a shell script? infidel Linux - Software 4 11-16-2003 07:20 PM
Format Problems Saving Star Office Docs in Word Format kkempter Linux - Software 4 08-27-2003 04:23 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:26 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration