I will try to keep the changes to Media Viewer as minimal as possible and make it so that future "Media Viewer plugins" can benefit from the same integration mechanism.
Sure, why not, but I don't really have bandwidth to spare to implement that myself right now. I'm going to carry what I've done so far to try to get it to production, but someone else should pick this up for further functionality development. On mobile the experience at the moment will be the fallback one: just seeing the model converted to an image.
It should be pretty straightforward to get the webgl stuff to work on mobile, but the challenge will be with the UX (how will the controls work, and you'll probably want it to require pressing something to activate the 3d mode, given that some models are very large).
I'm happy to give pointers to anyone who wants to get this working on mobile. IMHO this is a couple of weeks of work at most, mostly UX/UI design to get the experience right. For instance the mobile lightbox relies on progressive loading to indicate loading progress. Here you probably want a progress bar of some kind, as the 3d model can't be progressively displayed and the loading time could be quite long (some of my test models that were scanned, like the statue of David, were 40ish MB - probably a lot less gzipped, but still).
Right now I was just curious if it was theoretically possible.
I'm gonna take a dive into your code. In mean time, please add me to all the multimedia viewer patches so I can learn through review.
@Jdlrobson WebGL does indeed work in iOS Safari, Android Chrome, and some others, though performance will vary a lot depending on device. In general a model viewer should be ok; it doesn't require a high frame rate so it's ok if it slows down a bit on complex models.
Main things for porting:
- have a good small-screen UX making use of touch controls
- ideally, be able to use the same plugin setup on the mobile version of the photo viewer overlay as on the desktop one
More generally we should think about whether we want to replace the separate media popup system on mobile with the MMV framework, or just have a plugin system that can extend both.
And then secondarily, decide how to handle things that might show "fancy stuff" inline instead of just an <img> thumbnail, like autoplaying videos or interactive widgets, that we still would like to be able to zoom up in the viewer. Would love to replace animated GIFs with real video compression and have them "just work"!