
“EA IFF 85” Standard for Interchange Format Files (1985) - ingve
http://eblong.com/zarf/blorb/iff.html
======
chipsy
IFF is still relevant even now if you want a really straightforward binary
blob package. There's almost nothing to it for basic parsing - just watch out
for the byte alignment padding and endianness, and default to loading chunks
by name, not order.

(On that note, a lot of software that works with IFF/AIFF/RIFF will "do it
wrong" and expect a particular chunk order for the data it works with, which
over the years has led to a lot of "fix-up" software for cranky programs
needing massaged data.)

------
SwellJoe
It often slips my mind that Electronic Arts was once one of the premier Amiga
software publishers, specifically developing Deluxe Paint. It's weird to think
of _any_ of the old Amiga-related companies surviving and thriving decades
later, because most didn't. The ones who have succeeded the most have long
since lost any resemblance to the original company; EA is one of those.

I remember studying IFF, and specifically the AIFF audio format, for some
software ideas I had back in the late 80s or early 90s, but never actually
made into something useful. AIFF, in an extended form, is still used in Apple
audio products (like GarageBand and Logic). So, IFF is still around, to some
extent.

------
beagle3
IFF is a very well-designed format. While it is not directly used anymore,
variations on it still do: RIFF, which is little endian as opposed to IFF
which is big endian, lives on in WAVs, AVIs, and other formats. AIFF, an Apple
audio format; Even PNG and Apple's QuickTime container format (commonly known
as MP4 these days) were inspired by IFF. [0]

Using FourCCs[1], which seem trivial and intuitive these days, was essentially
introduced in IFF - back in 1985 when it was, the prevailing encoding was
"just enumerate them in a table written on a napkin somewhere".

IFF was the prototype for future-proof binary tag-length-value formats.

[0]
[https://en.wikipedia.org/wiki/Interchange_File_Format](https://en.wikipedia.org/wiki/Interchange_File_Format)

[1]
[https://en.wikipedia.org/wiki/FourCC](https://en.wikipedia.org/wiki/FourCC)

------
TwoBit
EA continued through 2000+ to use a file format that had its roots in IFF,
though a bit more advanced.

~~~
chubot
Where was it used? I worked there from 2002-2004 and I don't recall it being
used, though I don't doubt it was used somewhere. The teams were pretty
silo'd.

My experience there was mostly memory dumps that were byte swapped in ad hoc
ways, sometimes on the tool side and sometimes at runtime. I always tell
people the story of the 8000 line file with 2 functions. 4000 lines to read a
data structure, and 4000 lines to write it... all done with for loops, and
fread/fwrite.

------
agumonkey
Impressive how it almost starts as a CS course. Complete with A.Kay quote.

------
jacobush
It always surprised me a little IFF was not more popular in the PC world.

~~~
thristian
I believe the RIFF format (as used in Microsoft's .wav and .rmi formats) is
just IFF with the byte-order changed to little-endian.

~~~
shanemhansen
RIFF lives on as part of the webp format.
[https://developers.google.com/speed/webp/docs/riff_container...](https://developers.google.com/speed/webp/docs/riff_container?hl=en)

------
brudgers
Date: 1985...perhaps redundant.

~~~
voltagex_
Not quite - I'm not sure how much the format has changed but The Sims [1] used
it in some capacity.

[1]:
[http://simtech.sourceforge.net/tech/iff.html](http://simtech.sourceforge.net/tech/iff.html)

------
guard-of-terra
These days, you will mostly just use filesystem full of files in standard
formats.

~~~
SwellJoe
IFF is a "standard format", or was at the time.

