It was once stated that FotoBilder should be able to handle other fun things such as Flash animations and movies. This is all very well, but right now the S2 stuff assumes that everything is an image. Therefore, here are two ways we could make the S2 classes future-proof with regards to other data formats:
- Standardize on using
<object>for everything. This is a generic HTML replacable content element and is capable of embedding just about anything as long as there's browser support for it. For this to work effectively, the S2 stuff needs to have the image Content-type available to it, which is easy enough as it's just a string. The caveat is that
<object>only works in recent browsers.
- Extension of the previous idea: add a string field in the picture class to hold one of "img" and "object", and therefore by extension any future embedding mechanism needed. The handler functions can then check that field and select the relevant display mechanism, and if it's not supported default to object or perhaps output some text explaining that it can't be handled. (I'm not sure which is best: both have advantages and disadvantages)
I'm interested in what others think. A valid opinion can also be "we don't need to support things that aren't images", which means that I can stop thinking about this and carry on with only-images support. I want to get this in now rather than adding it later because it'll be a pain to make a future modification backwards-compatible and thus we face the need to rehack a whole load of layers to work with the new stuff or else they'll make galleries full of broken images.
Update: I also seem to remember that right now, due to shortcomings in IE's plugin support, Scalable Vector Graphics can only be loaded via the
<object> element and not the
<img> element. FotoBilder doesn't support SVG right now, but it might want to later? (and other sites might want it to?)