Recent activity
Subscribe to this feed
Aseem Kishore replied on March 09, 2010 23:00 to the question "How To Process Super High Resolution Images" in Microsoft Live Labs:
Hey Eric,
By "online ... processor within the Seadragon Ajax site", do you mean http://seadragon.com/? That can definitely handle more than 15k x 15k pixels. Do you have an example?
Under the hood, that uses our DeepZoomTools.dll .NET library, which is significantly more advanced than the typical C# code you find online. You can download that library (along with a wrapper .exe) for use yourself, or you can use http://seadragon.com/ to do the same thing if your image is online.
Does this help?
A comment on the question "API for Sea-Dragon" in Microsoft Live Labs:
Tom, it's under "Microsoft Expression" in the start menu programs. To use it, take a look at our Deep Zoom Composer guide. – Aseem Kishore, on March 09, 2010 16:29
Aseem Kishore replied on March 09, 2010 01:50 to the idea "Change colour (color) of error messages?" in Microsoft Live Labs:
Great catch indeed.
I looked into this and saw why we had added those inline styles explicitly: because many pages in the wild had text styles for all <p> or <div> tags on the page, and those took precedence over the inheritance from <div id="container">.
Here's an example of such a bug caused by a rule on the page that sets a text color to <div>, which overrides the text color on the Seadragon container.
div {
color: blue;
}

Our fix was not ideal for sure, but it wasn't an easy problem to solve. And since we saw not a single viewer out in the wild that changed the text color, we went with it.
But since you do want to change the text color, here's an alternate way to achieve what you want -- even using the official Seadragon Ajax JS file. Assuming you want the color red, move the text color style to apply to divs within your container, and add an !important flag:
#container {
width: 500px;
height: 400px;
background-color: black;
border: 1px solid black;
}
#container div {
color: red !important;
}
This will make your color override the inline white color in the script.
I hope this is a suitable workaround for now! You're right that we should update our example code everywhere and make it clearer. Thanks much for the feedback!
Aseem Kishore replied on March 08, 2010 22:14 to the idea "Change colour (color) of error messages?" in Microsoft Live Labs:
Aseem Kishore replied on March 08, 2010 22:08 to the question "Zoom to fit in Ajax-export from Deep Zoom Composer" in Microsoft Live Labs:
It's possible technically, but it hasn't been implemented by us.
All of your link info is exported under GeneratedImages/scene.xml, so you could use Javascript to read the XML yourself and use the Seadragon Ajax API to create links (overlays), menus (controls), etc.
But that's admittedly a lot of work. We also don't have plans to pursue that anytime soon, but perhaps this could be a fun open-source project? :)
Btw, the Silverlight export won't work on the iPhone, as the iPhone doesn't support Silverlight, Flash or other plug-ins. So what did you mean?
Aseem Kishore replied on March 08, 2010 22:03 to the question "Seadragron - Total compliments, 1 issue, 3 questions" in Microsoft Live Labs:
Victoria,
We're thrilled that you're loving Seadragon -- it's great to see such a reception.
I don't have an easy answer for you about starting at the zoom you set in Deep Zoom Composer, as Deep Zoom Composer doesn't output that information, and Seadragon Ajax has no way to know about it.
But in general, Seadragon also has a goal of resolution independence -- it shouldn't matter what the resolution is of your users' screens; they'll still be able to see all of the content efficiently and smoothly. And that's why we always start at "home" (zoom to fit the whole thing in view), so users can see everything in and zoom in to see detail.
You can easily limit zoom out; in fact, the default zoom out is limited to 80% of home. You can mess with that value by tweaking Seadragon.Config.minZoomImageRatio. Check out the API reference for more info.
I hope that helps, and let us know if there are any other questions we can answer. Good luck, and we're very much looking forward to seeing your site!
Aseem Kishore replied on March 08, 2010 21:49 to the question "How do I get powerpoint to work for pptPlex ?" in Microsoft Live Labs:
Hi Rana,
Unfortunately, pptPlex is completely unrelated to Seadragon or Photosynth. It doesn't use our technology, and we aren't the ones who made it. I'd suggest posting your questions on their discussion forum instead.
Good luck!
Aseem Kishore replied on March 08, 2010 21:41 to the question "Smooth Streaming of Deep Zoom Collections ?" in Microsoft Live Labs:
Hi pmansfield,
We don't have a walkthrough on it at this point, but that's good feedback. In the meantime, one of the gotchas I've found is that the DZC source you must specify in Silverlight isn't the .ism file itself, but rather foo.ism/Manifest.
Here's an example. Here's a file listing for a Deep Zoom Collection on our IIS7 server in Smooth Streaming format:
2/20/2009 2:25 PM 1892 RollingStone.ism
2/18/2010 2:39 PM 14798 RollingStone.ismc
2/20/2009 2:25 PM 2086 RollingStone_00.ismv
2/20/2009 2:25 PM 2428 RollingStone_01.ismv
2/20/2009 2:25 PM 3865 RollingStone_02.ismv
2/20/2009 2:25 PM 9943 RollingStone_03.ismv
2/20/2009 2:25 PM 26272 RollingStone_04.ismv
2/20/2009 2:25 PM 68780 RollingStone_05.ismv
2/20/2009 2:25 PM 199368 RollingStone_06.ismv
2/20/2009 2:25 PM 668994 RollingStone_07.ismv
And here's the source URL we specify in Silverlight Deep Zoom:
http://path/to/RollingStone.ism/Manifest
And this works for us. You can verify by hitting that URL directly and getting back Deep Zoom Collection XML. And in the DZC XML, the paths to the DZIs are the same format -- ending with .ism/Manifest -- since the DZIs are also in the Smooth Streaming format.
Does this help?-
Aseem Kishore started following the problem "Deep Zoom Composer failing to output images." in Microsoft Live Labs.
Aseem Kishore replied on March 04, 2010 23:47 to the question "Seadragron - Total compliments, 1 issue, 3 questions" in Microsoft Live Labs:
Hey Victoria,
It's awesome to hear that you're loving our stuff, and I hope we can help you out. I'll toss in a couple of comments.
Melinda's totally right that you shouldn't delete the smaller tiles. The reasons she mentions are totally right -- those smaller tiles are what makes Seadragon load the stuff instantly but still "resolve" to the sharper tiles. But moreover, those smaller tiles probably contribute almost nothing to your total file size. You can see for yourself. So if it won't save you much space by deleting them, we'd recommend against doing so.
For your other question, if you're using the Seadragon Ajax library, check out the API reference to see what all you can do! You can remove the full page button like so:
var navControls = viewer.getNavControl();
var fullPageButton = navControls.lastChild;
navControls.removeChild(fullPageButton);
Hope this helps, and good luck!
Aseem Kishore replied on March 04, 2010 17:00 to the question "Advanced Seadragon Overlays" in Microsoft Live Labs:
Hey Riaan,
Sorry to hear that you're having trouble.
What are you using for the lines, circles and polygons? Someone asked a similar question a while back and since overlays in Seadragon Ajax can be any DOM element, I recommend SVG (VML for IE): Scalable Polygon Overlays.
You will indeed have to control the overlays yourself to have them appear/disappear at appropriate zoom levels. You can do this really easily with the "animation" event:
var viewer;
var drawer;
var overlays = [
{ elmt: $("mySvgElmt1"), rect: new Seadragon.Rect(/* ... */) },
{ elmt: $("mySvgElmt2"), rect: new Seadragon.Rect(/* ... */) },
// etc.
];
// just a convenience method for this example:
function $(id) {
return document.getElementById(id);
}
function init() {
viewer = new Seadragon.Viewer("container");
viewer.openTileSource(myMapTileSource);
viewer.addEventListener("animation", onViewerAnimation);
drawer = viewer.drawer;
for (var i = 0; i < overlays.length; i++) {
drawer.addOverlay(overlays[i].elmt, overlays[i].rect);
}
}
function onViewerAnimation(viewer) {
for (var i = 0; i < overlays.length; i++) {
// decide if overlay[i].rect is small enough
// to be hidden or big enough to be shown
if (/* too small */) {
overlays[i].elmt.style.display = "none";
} else {
overlays[i].elmt.style.display = "block";
}
}
}
I hope this helps. Let me know if I misunderstood your question or if you have others.
Cheers!
A comment on the question "Question about Seadragon Ajax" in Microsoft Live Labs:
aadi2103, the answer is right below this. "That code won't load all of the tiles right away, but it will load as many of the tiles as necessary to view the image at its current size. When the user zooms in, it will load new tiles as needed." You can also just open up Firebug or Fiddler and see the network requests yourself. What do you need help with? – Aseem Kishore, on March 04, 2010 16:36
Aseem Kishore replied on March 02, 2010 16:04 to the question "How do you compose a deep zoom image?" in Microsoft Live Labs:
Jason, you do indeed need to upload of those files. But if this is a pain point for you, you might find some other options compelling; check out our deployment guide. In particular, the Smooth Streaming feature is really nice here if you're running IIS7. Let us know if this helps.
Aseem Kishore set one of Aseem Kishore's replies as an official response to "API for Sea-Dragon" in Microsoft Live Labs
Aseem Kishore set one of Bill Crow's replies as an official response to "API for Sea-Dragon" in Microsoft Live Labs
Aseem Kishore replied on February 26, 2010 15:53 to the question "API for Sea-Dragon" in Microsoft Live Labs:
Satya,
It would be great to hear what you'd want or expect the API to look like, and how you plan on using it.
Until we release an official API, I was going to suggest the exact same thing: just use a regular HTTP POST to submit the form on the create page. Success means the response is a 302 redirect to your view/{id} page, which you can scrape to get the embed script.
I'm very much looking forward to hearing your thoughts and seeing what you come up with. Cheers!
Aseem Kishore replied on February 26, 2010 00:49 to the update "Seadragon.com: Flickr, Developer & Showcase" in Microsoft Live Labs:
Oh, and to address a couple of the other comments:
- Indeed, the showcase isn't being updated often enough. Again this is because these sites are handpicked, and we're just a tiny labs team. But, we do have plans to get an official blog set up, so at least that way you can follow the blog e.g. via RSS and get notified of updates.
- In theory, you can view any image in Seadragon. Whatever site you're on, if you want to view an image on that site in Seadragon, just paste the image's URL into Seadragon, and voila. You won't be able to see it embedded into the site directly without the author doing so, but does that shed some light for now?
Aseem Kishore replied on February 26, 2010 00:45 to the update "Seadragon.com: Flickr, Developer & Showcase" in Microsoft Live Labs:
Charlie and Geoff,
Apologies for the delayed reply!
There is indeed no gallery of publicly submitted images yet. The short answer is indeed due to the anonymous nature of the service. We aren't actively monitoring every submission; instead, we reactively take down offensive and abuse images. This means we wouldn't want to show any random image, as it may be offensive.
So if we were to have a gallery of publicly submitted images, it would have to consist of handpicked ones. That's absolutely not a bad idea, and we've thought about it from the start, but we just haven't had the resources/bandwidth (in a figurative sense) to do this yet.
But thanks for sharing your interest; we'll consider it. Let us know if we can answer any other questions.
Cheers!
Aseem Kishore set one of Aseem Kishore's replies as an official response to "Seadragon Ajax.Net viewer object" in Microsoft Live Labs
Aseem Kishore replied on February 25, 2010 18:49 to the question "Seadragon Ajax.Net viewer object" in Microsoft Live Labs:
Sorry for the delay in responding!
My worries were confirmed: it very unfortunately seems that you can't access the underlying Javascript object from Javascript, if you created the Seadragon control via ASP.NET markup. By "ASP.NET markup" I mean e.g. this:
<ajaxToolkit:Seadragon ID="Seadragon"
runat="server"
SourceUrl="sample.xml"
CssClass="seadragon">
</ajaxToolkit:Seadragon>
I'm looking at the sample page, and both of those viewers were created with such markup. When I view the source of the page, that markup got translated to, among other things, these lines of Javascript:
Sys.Application.add_init(function() {
$create(AjaxControlToolkit.Seadragon.Viewer, {
"controls":[],
"overlays":[],
"prefixUrl":"/AJAX/AjaxControlToolkit/Samples",
"xmlPath":"sample.xml"
}, null, null, $get("ctl00_SampleContent_Seadragon"));
});
I've bolded the $create call (shorthand for the Sys.Component.create method) because that's what returns the underlying Javascript object, but that return value isn't getting saved anywhere.
So all this is also to say that if you want access to the Javascript object so that you can dynamically script and change it from Javascript, you should create it in Javascript yourself instead of using the ASP.NET markup.
I'll also contact the ASP.NET team to see if they can think of any other workarounds or can improve this in a future version. Thanks!
| next » « previous |
Loading Profile...






