Remote 3D files
Web Browser Viewing Notes
|
the 'bunny' ply file, in the 'paraview' 3D viewer |
!PRELIMINARY! UNDER CONSTRUCTION.
More remote-access experimenting is to be done
in trying to find ways to implement web browser 'helper apps'
for ALL these 3D file types, when the 3D files are on a 'remote' web server,
along with this web page on that remote server.
About half work and half fail (2011 Feb).
Also, a few more 3D file types, with test file links,
may be added.
< Go to Table of Contents, below. >
(Skip Introduction)
the bunny beside a big cube,
in the 'paraview' 3D viewer
Introduction : This is a page of notes on 'web experiments' with 3D file types. The intended purpose is to find a way to setup a 3D viewer as a 'helper application', in a web browser, for each of many 3D file types --- when the 3D files, and the web page giving access to those files, is on a *REMOTE* web server --- separate from the computer on which the web browser (and the 3D viewers) is running. The scenario is 'link' statements on this web page --- for each of about 15 different 3D file types. On this page, there will be 'links' to several representative 3D files for each 3D format type --- a total of about 50 links. The experiments, for a given 3D file type, may include
The intent of these experiments is to get the web browser (in concert with the web server) to pass the 3D file to an appropriate viewer, running on the local machine. The file types to be considered on this web page are 3D file formats such as :
A parent page of this page (3D test files for Linux viewers and converters) showed that you CAN successfully set up 3D viewers in a web browser, for about 15 different 3D file types, IF you are satisfied to setup the web page and 3D files in a local 'kiosk' mode --- that is, if the 3D files, the web page providing access to them, and the web browser (and the 3D file viewers) are ALL installed on the same computer. That web page was used to confirm that the following 3D file viewers --- which are easily installed on Linux (at least, on Ubuntu Linux) --- are capable of serving as 'helper applications', in a web browser, for about 15 different 3D file types. These viewers were easily installed thanks to the Ubuntu Software Center, apt-get, and Gdebi.
The 3D test files for Linux viewers and converters web page showed, with screenshots, the process of setting up a viewer program as a 'helper application' in a Mozilla web browser (Seamonkey2), for a given 3D file type. That page also pointed out that the process works fine if you keep the 3D files, the web page accessing them, and the web browser TOGETHER on the same computer. But when you move the web page and the 3D files to a remote web server --- a computer different from the one running the web browser program and the 'helper applications' --- then one starts to have problems viewing some of the file types. The 3D test files for Linux viewers and converters web page pointed out that about 4 different things can happen --- and 2 of them are not good. Namely ...
The SAD STATE of the web-server-AND-web-browser brain-damaged 'dance' :
Basically, there are four different types of responses when you click on a 3D file link (after you have set up the helper applications for each 'locally' stored 3D file type, as described in the 3D test files for Linux viewers and converters web page) : It turns out that if you would download this web page, AND its 3D files, onto your local computer, you could see all these 3D files with no problem (in most GUI web browsers), simply by clicking on the links --- if you set up the helper applications as I described on the 3D test files for Linux viewers and converters web page. That is, you would get response 1 or 4 above. BUT, it turns out that if you try to view some of these 3D files via this web page, as the 3D files and this web page are now (i.e as you access the 3D files remotely, on this remote web server), many of these files will not be passed into your helper apps. That is, you would get response 2 or 3 above. This web page is intended to collect notes on trying to work around getting responses 2 or 3 --- as I try various experiments with different HTML link statements --- file suffixes and 'type=' statements --- experiments done with the Seamonkey2 or Firefox (or other) web browsers. Perhaps I can find a 'work-around' so that most (or all) of the 3D file types can be displayed in helper apps of the user's choosing --- from almost any web server --- or, at least, from this web server. 'Kiosk' mode : Be consoled that you CAN get the helper apps working OK --- IF you resign yourself to working in a 'kiosk' mode. That is, let us say that you want to 'publish' your 3D files on a machine that you install at a store or a conference exhibition hall or wherever. Then you can install your 3D files --- and the web page(s) and web browser and 3D viewers for viewing those files --- on a stand-alone machine. In other words, we take the remote web server out of the picture. The 3D test files for Linux viewers and converters web page describes how to set up that 'kiosk'.
Experiments in setting up 'Helper Applications' for these 3D files : I installed applications on Ubuntu Linux (9.10) that work as viewers for most of the 3D file types listed above. When I first made links to the 3D files on this web page, I did not put a 'type=' specifier in the HTML 'anchor' statements. They looked like <a href="... file-path-and-name-here ..."> ... filename-here ...</a> When I clicked on '.obj' and '.ply' file links, their text contents were simply shown in the web browser window --- instead of offering me a chance to setup a 'helper app' for these file types --- such as 'glc_player' for '.obj' files and 'paraview' for '.ply' files. To try to deal with this 'text-display' problem, I added 'MIME' qualifiers like type="application/wobj"and type="application/ply" to the 'anchor-href' statements for the '.obj' and '.ply' files. Example: <a href="./obj/archer.obj" type="application/wobj">archer.obj</a> (See the section below for info on 'mime-types'.) Then, when I clicked on the file link to a locally stored '.obj' file, instead of getting text-display, I got the Seamonkey 'Open-with-OR-Save-as' prompting popup window. I chose 'Open-with', and I was able to set 'glc_player' as the viewer (helper) for ALL the '.obj' files --- referred to in the HTML 'anchor' link statements on the web page. I just needed to click a check-box on the 'Open-with' prompting window. The checkbox was labelled 'Do this automatically for files like this from now on'. You need to get to that 'Open-with' prompting popup window in order to define helper applications for files referenced in web pages. At least, that's how it is done in the Mozilla Seamonkey2 web browser. In other words, you need to avoid responses 2 and 3 above. It is my intent to use this web page to perform experiments with remotely stored 3D files --- and with this web page remotely stored with those files. THE GOAL is to get the 'Open-with' prompting popup window, so that we can define a 3D viewer --- that will run on the local machine, with the web browser --- for each 3D file type, for which we have several (remote) sample files referenced in HTML 'link' statments on this page.
An aside on 3D MIME types :
See the list, below, of some 'mime types' that are said to be useful for some 3D file types --- according to sites like htmlquick.com/reference/mime-types.html. MIME = Multipurpose Internet Mail Extensions --- a messaging standard that allows Internet users to exchange e-mail messages enhanced with graphics, video, and voice as attachments to the body of the text.
Paraphrasing some text at htmlquick.com : (A natural question is 'What does mail have to do with web pages?' Apparently, when HTML came along, the MIME standard was applied to web pages. Note: I use the word 'standard' loosely here. It's not so much a standard as a cobbled-up mess, when you get away from some commonly used media types.) Published mime indicators for 3D files : You could do a search for other pages listing 3D mime types via a Google search on keywords such as mime type dwg dxf igs iv stl stp wrl. Note that even though there do not seem to be sanctioned mime-type indicators for '.obj' and '.ply' files, my attempt at using 'application/wobj' and 'application/ply' proved to be successful (at least when the files were stored locally; NOT when on a remote web server, as I found out later). At least one 3D file type was viewable both in local mode and the remote mode. So we have a mixed bag here --- some 3D files are viewable remotely using the same set of parameters that worked in local mode. But some 3D files are NOT viewable remotely using a set of parameters that worked in local mode. It MAY be the case that when a web server 'has doubts' about the mime-type of a file that it is being requested to deliver, the web server assigns it a mime-type of 'application/octet-stream' --- or perhaps, in some cases, 'text/plain' or 'application/plain'. If that is the case, I hope to find a way to get to the 'Open-with' prompt of my web browser, and establish a 3D viewer for the file, if the the 'ghosts in the machine' can be forced (or tricked) into downloading the file in a way that makes it available to the 3D viewer. With respect to VRML file formats (and the suffixes '.wrl', '.vrml', '.vrm'), there seems to be a lot of confusion (and resulting complications) within the systems in web browsers that set 'helper applications' for the VRML1 and VRML2 file types. As a consequence, in this web page, There is a little more detail on the sad VRML situation, in the 'further aside' section below.
A further aside on the sad state of helper application management in web browsers : The web browser developers do not seem to want to give the users better control (and better flexibility) over setting the 'helper applications' for various file suffixes. They could solve most of the problems we encounter with setting helper apps, if they would devise a system for 'opening' files like the system used in GUI file managers, like Gnome-Nautilus. In Gnome Nautilus, if you double-click on a file, it is 'opened' in a default application. BUT, IF YOU WANT TO OPEN THE FILE IN ANOTHER APPLICATION, you can right-click on the file and there is an 'Open-with' option. Here is a screenshot of a Nautilus 'right-click Open-with' popup window.
Note that Firefox is the default open-with application for the '.fonts.conf' file on which I right-clicked. That is a heavy-handed default app, but note that I can use a different app by using the 'Open with' option. Similarly, web browsers should allow for a 'right-click Open-with' option, for web page links. Then we users could specify one (or more) apps per file suffix --- and per file type in the 'type=' statment of the web page, if the 'type=' parameter is there. In fact, we should even be able to right-click on a link to a '.html' or '.htm' or '.php' file and choose to open it in a web browser other than the one we are currently using. This is the kind of freedom we should have, and there is no technical reason why that cannot be done. For example, the user should be able to specify a default open-with app for file suffix '.obj' --- and for file suffix '.obj' and type='application/wobj' or type='model/obj' or whatever one might encounter as a 'type=' parameter in a web page (or from a web server) on any given day. In fact, the use of the slash ( / ) in the 'type=' statement is rather lame. I should be able to use almost any string, of reasonable length, such as 'Wavefront-obj'. Even if a default app has been defined for a file type, the web browser should allow the user to select which of several apps to use when the user right-clicks on a media file 'anchor-href' link. That is, the web browser should always offer an 'Open-with' dialog as an option. In fact, here is a screenshot showing that 21 apps (and more) are being offered by Nautilus, to open the '.fonts.conf' file. That's a bit of overkill --- but it's certainly better than not being able to view the file in an appropriate viewer at all.
Of course, in addition to the very flexible Open-with dialog, the web browser developers should allow the users an option to reset the default 'open-with' app. Basically, we Seamonkey2 users need an 'Open-with' option added to the following 'right-click-on-a-link' popup menu.
We can specify where to 'Save' the file, with 'Save Link Target As ...', but we have no option to specify how to 'Open' the file. The Open options that are there now are lame. They open the file in the 'New Window' or 'New Tab' according to the currently screwed-up 'dance' between web server and web browser. Those Open options do not allow the user to override a stupid 'Open-with' choice made by the brain-damaged 'partnership' of the web-server and the web-browser. One other case of web-browser inflexibility: Once you have defined a new suffix and helper app, you cannot delete that suffix and helper definition from the 'Helper Applications' window. (Not in Seamonkey2 anyway. And probably not in Firefox.) You presumably would have to resort to editing the underlying 'mimeTypes.rdf' file. The developers (and testers) seem to have sadly neglected the 'Helper Application' area of web browsers --- except to hard-code in the helpers they want to provide. If you want to get an idea of the confusing state of things in the 'helper application' area, and if you use the Firefox or Seamonkey web browsers, look at the file named 'mimeTypes.rdf', in the directory $HOME/.mozilla/firefox/random8chars.default or $HOME/.mozilla/seamonkey/random8chars.default . For example, they put 'vrm' suffixes in the file, in addition to 'wrl' and 'vrml', whether we want them or not --- and essentially made them all equivalent, with respect to which viewer to use for those file suffixes. <RDF:Description RDF:about="urn:mimetype:x-world/x-vrml" NC:description="" NC:value="x-world/x-vrml" NC:editable="true"> <NC:fileExtensions>wrl</NC:fileExtensions> <NC:fileExtensions>vrm</NC:fileExtensions> <NC:fileExtensions>vrml</NC:fileExtensions> <NC:handlerProp RDF:resource="urn:mimetype:handler:x-world/x-vrml"/> </RDF:Description> ... ... <RDF:Description RDF:about="urn:mimetype:model/vrml" NC:description="" NC:value="model/vrml" NC:editable="true"> <NC:fileExtensions>wrl</NC:fileExtensions> <NC:fileExtensions>vrml</NC:fileExtensions> <NC:fileExtensions>vrm</NC:fileExtensions> <NC:handlerProp RDF:resource="urn:mimetype:handler:model/vrml"/> </RDF:Description> In a more perfect world, we wouldn't have any of those three suffixes in our mime types file(s). We would be providing those suffixes if we were going to use them --- and we would be using suffixes that clearly indicate whether the file is a VRML1 or a VRML2 file --- such as '.vr1' or '.vr2'. See a couple of rants on VRML1, VRML2, and X3D in my VRML1 and VRML2 (and X3D) Notes page.
Quick guide to using the 3D viewers : Each of the 3D viewers has a different way of doing the 3 basic viewing operations --- rotate, pan, and zoom --- and different ways (if any) of quickly restoring the model to the center of the viewport, filling the viewport. Someday, I may put a link to a page of those view methods, for each 3D viewer, here. But the main goal of this page is to simply be able to start up a viewer on a sample 3D file, for each of the 15 or so 3D file types below. We only want to be able to move the model (or move around the model) to make sure we are not just imagining that we have finally found a successful way to view the REMOTE file, for a given 3D file type.
And now, on to the test/demo files : I made this page so that I could access these files (and these notes) on any of my computers --- whether at home or away. But others may find these files (and notes) useful. You can use the Table of Contents, below, to jump to a particular group of 3D files --- about two to four sample files of each file type. (If there are both binary and ascii files of a given type available, I include at least one of each.) Or, to see the links, simply scroll down this page. You can click on them to see what happens with your web browser, and this web server --- and compare to my results, reported below.
Most of my testing will be done with the Mozilla Seamonkey2 web browser, running on Ubuntu Linux --- 9.04 or above --- mostly on 9.10. I will be recording the results of my tests below --- in the Table of Contents section. I will provide more details --- on 'workaround' attempts --- in each of the 3D-file-type sections. |
Table of Contents :(These links take you to groups of 3D file links, further down this page.)
End of Table of Contents. Links to 3D files are below. |
the bunny under a cow,
in the 'paraview' 3D viewer
GROUP - 3ds : (3D Studio files)
< Return to Table of Contents, above. >
|
You can look for more 3D test/demo files via
globalfilesearch.net.
Enter a files suffix such as .3ds or .wrl .
OR, try Google with filepath:wrl or some other suffix.
'varicad-view' screenshot - in 3D mode - on a STEP file
Bottom of REMOTE 3D files - Web Browser Viewing Notes - on Linux page.
To return to a previously visited web page location, click on the
< Go to start of 3D File Links, above. >
|