> Do you think there should be a layer of Python that sits between the > skeleton locus (or locus browser) and the low-level code that will > complete the viewer. > > What in fact are you calling a "viewer"? Is it the browser + script + > megawidgets, as I've been saying, or do you think the user will be > downloading self-contained executable programs, as Netscape does? We can define a viewer like this: viewer locus: a program that uses the Benchtop API to display a bicml entity in a Benchtop (gnome?) canvas. OR external viewer: a standalone program (binary, interpreted script, ...) that can display a bicml entity in a window. I think we should have the capability of using both. That way we can just steal viewers wholesale (like NCBI's Cn3D structure viewer). If we could find a way of wrapping up a standalone program so that it displays inside a Benchtop canvas it would be even more awesome (compose a figure with the sequence and structure on the same "page"). Some window manager panels like FvwmGoodStuff, and the Siag spreadsheet can "swallow" X Window apps like this. Siag can even print spreadsheets with embedded apps. OK, so native viewer loci should display on the benchtop, with full interactivity. At first, I guess these must be python scripts, perhaps using some Locus-megawidget library. If we can export some kind of API to the benchtop, perhaps they could even be written in other languages. External viewers would not have the ability to display on the bechtop, or be composited into figures, but would instead interact with the user in their own window, and be responsible for printing etc. Note that external viewers must be able to understand and display a bicml entity, but we could use some kind of translation locus to wrap an external viewer that read CML in a BICML -> CML translator. A "swallowed" external viewer could display on the benchtop, and interact with the user, but might look "bolted on" instead of publication quality. > > The app broker can > > return a list like > > > > python - ftp://bar.baz/pub/viewer.py > > compressed-multifile-python-tarfile - ftp://bar.baz/pub/fancy-viewer.tar.gz > > i386/libc6/rpm - ftp://rpmfind.net/libc6/i386/viewer1.0-2.rpm > > > > and the user can select which one he wants to retreive. > > Good idea. But these aren't executables, are they? Wht not? As long as it can display a bicml entity, it's a viewer. If it can't interact directly with the benchtop, it's an external viewer. -- Humberto Ortiz Zuazaga Bioinformatics Specialist Institute of Neurobiology hortiz at neurobio.upr.clu.edu