Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Silverlight support! #1

Open
aseemk opened this issue Feb 25, 2011 · 0 comments
Open

Silverlight support! #1

aseemk opened this issue Feb 25, 2011 · 0 comments
Labels

Comments

@aseemk
Copy link
Owner

aseemk commented Feb 25, 2011

Zoom.it uses a "combo" viewer which seamlessly and automatically uses Silverlight if the user has it installed and is on a supported browser, otherwise falls back to Seadragon Ajax. This leads to an awesome experience because Silverlight Deep Zoom is really so fast and buttery smooth; it would be great to add the same support into Seadragon Ajax directly. Unfortunately, we never publicly released the source code to this combo viewer.

The way we implemented it though was a pain for rapid iteration and development: the Silverlight viewer was an entirely duplicate codebase, a Silverlight application written in XAML and C#, so any changes/improvements we wanted to make to the viewing experience had to be made to both codebases. This included e.g. pan/zoom constraints, buttons, and scriptable APIs. It also meant we couldn't easily add custom interactivity, e.g. overlays or highlights.

So perhaps we can try another way: use Silverlight's JavaScript API to construct inline XAML on the fly. Excanvas, for example, has a Silverlight version that does this. This way has major limitations, but the great news for us is that Deep Zoom (specifically, MultiScaleImage) is included, so we can still get a smooth experience. You can't have custom tile sources though (no C#), so this could only work for DZIs. We'd also need to be in windowless mode to support all of our HTML/JS code for interaction, overlays, controls, etc., so there might be visual tearing.

Overall though, this has the potential to lead to a much smoother experience across browsers -- esp. IE6-8 -- and the benefits very likely outweigh the costs, so we should look into this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant