Saturday, September 12, 2009

Silverlight Spy 3 – First Look

Silverlight Spy 3 was just released. I think you’ll want this in your tool bag right away. Why? Because it is a great way of seeing what’s going on in your Silverlight application … and twiddling its appearance … at runtime.

It is especially helpful if you’re building a compositional application of many, independently-designed views; you want to see them playing together and understand what’s happening.

Quick Tour

I’m looking at my Prism Explorer demonstration app right now. This demo shows our DevForce Silverlight Data Services product working with Prism.

Fired it up in Visual Studio (to get the Cassini server side going), then pasted the URL (http: //localhost:9006/) into Spy’s address bar. Spy fires up the client in its browser just fine.

Spy drew the red highlight box, not me. I held down the ctrl + shift keys and moved my mouse around the browsed page; as I did, Spy highlighted each element in this manner; and then I clicked on the address to set the focus as you see it.

Now I swing over to the Explorer view and I see that the address is a TextBlock in the middle of a DataGridCell … deep in the visual (or logical) tree that begins with my Prism shell. I love being able to start from something I see on the page right to the element in the object tree.

I get the same effect in the other direction by navigating from the tree: select a node and watch Spy highlight the corresponding visual real estate in its browser.

I can see the XAML for this TextBlock in Spy’s View window:

Suppose I want to see what would happen if I gave the address a little more air. I open Spy’s Properties window, locate the Padding property and try “20” all around. I see the effect immediately:

Peeking and tweaking the look on the fly is value that can hardly be overstated especially in a composite app. Sometimes you just have to see the app run in a production context with real data behind it to understand what is going on. Adjusting some values to visualize how it might look after correction … that’s worth something to me.

Spy integrates seamlessly with Reflector so I can poke around in the client-side source code while in Spy. First, I tell Spy where to find Reflector through Tools / Options / Reflector. Then, in the Explorer window, “Object Browser” node, I navigate the assemblies in the XAP:

The View window exposes the disassembled code using Reflector:

I can also spy on other people’s applications. Now, when I see an effect I like, I’ll have a fighting chance to figure out how it’s done. Nothing evil in that.

Perhaps more productively, Spy can help me better support my customers. I don’t have their code. I don’t want their code! Now I can fire up their app in Spy from out here in Stinson Beach (yes, kicking back with the blog) and gain immediate insight. Having reflector baked in makes it easy to walk their code too.

Helpful Touches

Spy let’s me monitor mouse and key events which I can filter. In this snapshot, clicking on the event also takes me to the associated visual element.

I like to know when my app is visiting the server. Fiddler, Firebug (FireFox), and Web Development Helper (IE) are superior tools for the in-depth analysis. But if I just need to know that something went over the wire and peek at the headers, Spy does nicely. In this snap I just asked for a projection over all customers and their orders:

The top window is a grid of the traffic; double clicking a row reveals the headers panels in the lower half.

There’s a Performance Monitor with the visual familiarity of the one in Windows Task Manager.

The processor metric seems parallel to the Task Manager’s. The memory metric probably tracks just your app’s usage although how and how precisely I can’t tell. I noticed unpredictable figures simply by refreshing the application address to restart the app. I think of it as a rough gauge of relative behavior. You’ll get a general feel and you might be able to detect some memory leaks this way.

There are other goodies. These are just the features that attracted my immediate attention and made me want to buy.

Price

Spy was free in earlier incarnations. It now sells for roughly US$100 for a personal copy. You can download an evaluation copy that’s good for 27 days.

Frankly, I’m glad to see a price. I love “free” as much as the next guy but nothing is truly free. I want Spy’s author to keep improving this tool and he has to make a living at it to do it well. I’m bummed when a great free tool comes along and then it just sits there, waiting upon the author’s free time to answer questions, fix bugs, and take the next giant leap.

The biggest shortfall (as I will repeat) is the utter absence of documentation. With a little dough, Koen Zwikstra - the man behind spy - can afford to hire a tech writer and cut some videos.

Full disclosure: I got a free copy as an MVP. This review, however, is entirely my idea with no promise of reward.

Wrap Up

Silverlight Spy 3 is a super tool and a fine piece of work. Runs like a top. No install issues, no runtime glitches so far.

No documentation! None that I could find. This is a huge weakness. Thank goodness for Koen’s Channel 9 video with Adam Kinney recorded at MIX in March 2009; it opened my eyes to the potential and gave me valuable operating clues. How else would I discover “Ctrl+Shift+Mouse+Click”? Web search revealed nothing else (there is material on Spy 2).

Fortunately, it is pretty intuitive. Just bang around on it awhile and it starts to make sense. But some kind of guide needs to come out soon.

I’m hopeful this introduction piques your interest and gets you started.

A few minutes with Spy and you remember in a hurry never to put anything secret in your Silverlight client; that’s the wrong place for the Coca Cola recipe. Sure other tools can do it …. but Spy makes it so easy.

Go Spy!

34 comments:

Unknown said...

Excellent review Ward. I hope Koen takes on board the lack of documentation criticism as I think this is the biggest impediment to its wider take-up. If you haven't got around to watching the C9 video (which is effectively the only form of documentation there is) you wouldn't know about key functionality like the CTRL+SHIFT combination.

As you say, it's a great tool and as someone who paid for it, I too am glad the author has decided to charge for it. The price is more than reasonable and Spy has been a life-saver for me on a couple of projects.

Blog entries like this will hopefully help spread the word amongst the Silverlight community.

Dr .Net said...

Thankyou for this review - it may actually be the best available doco for spy :-)

Silverlight Business Applications

Unknown said...

Some good news: @kozw has just posted documentation which will be included in an upcoming build but can be downloaded now (offline and online use)
http://firstfloorsoftware.com/blog/silverlight-spy-documentation/

Anonymous said...

[color=#f5deb3]Музыкальный ансамбль [url=http://dejavu-group.ru/svadba.php]Deja Vu[/url] - это коллектив заслуженных вокалистов и музыкантов.
[url=http://dejavu-group.ru/index.php]Deja Vu[/url]- лидер в области организации и проведения праздников, дней рождения, шоу-программ, копроративов, торжеств и дней рождения.
В репертуаре группы Дежа вю более 3000 песен.
Только живое исполнение. Ждаз, ретро, хиты 70-80-90-х, диско, поп, шансон, фоновое сопровождение .
ВИА Dejavu-group располагает мощной качественной музыкальной аппаратурой, позволяющей наполнить приятным и плотным уху звуком как небольшое помещение (фуршет), так и большое помещение (корпоратив до 1 тыс. человек).

Игорь +7 916 623 4047 [/color]

Anonymous said...

Подумали с мужем о гостинцах на Новый год ребенку, ему 3 года, всевозможные-пылесборники-конструкторы у него есть предостаточно, он любит мышонка Тич. Я откапала типа подобной игрушки, только медведя http://www.sweetwear.ru/video1.php , кто нить покупал такого? Стоит покупать? Или порекомендуйте что-либо ещё. Не дайте ребенку остаться без презента от ДедаМороза.

Anonymous said...

Интересно написано....но многое остается непонятнымb

Anonymous said...

Cool article you got here. I'd like to read something more concerning that matter. The only thing this blog needs is some pics of such devices as gps jammer.

Anonymous said...

[color=#f5deb3]ВИА [url=http://dejavu-group.ru/svadba.php]Дежа вю[/url] - это коллектив заслуженных вокалистов и музыкантов на праздник.
[url=http://dejavu-group.ru/index.php]Дежа вю[/url]- законодатель в области организации и проведения корпоративных вечеринок, свадеб, торжеств, шоу программ, музыкальных вечеров.
В репертуаре музыкальной группы Дежа вю около 3 тыс. произведений.
Живая музыка. Ретро, хиты 70-80-90-х, джаз, диско, поп, современная музыка, европейские хиты, фоновая музыка, шансон.
Музыкальный ансамбль Deja Vu располагает мощной качественной музыкальной аппаратурой, позволяющей наполнить приятным уху звуком как небольшое помещение (фуршет), так и огромное пространство (корпоратив до 1000 человек).

Андрей +7 910 483 8294 [/color]

Anonymous said...

[url=http://tinyurl.com/y9qxher][img]http://i069.radikal.ru/1001/35/75e72b218708.jpg[/img][/url]



Related keywords:
Tramadol free consultation fedex overnight delivery
Tramadol beware shipping
Tramadol cod saturday delivery
medicine Tramadol
talk Tramadol wikipedia the free encyclopedia
Tramadol online om
cash on delivery Tramadol no rx
Tramadol 180 tablets free fedex
[url=http://www.zazzle.com/AlexanderBlack]buy discount Tramadol online [/url]
[url=http://seobraincenter.ru]http://seobraincenter.ru[/url]
buy no perscription Tramadol
Tramadol online om
cod Tramadol cash on delivery
what does Tramadol look like
cod Tramadol
Tramadol Tramadol
cheap Tramadol online no rx saturday delivery

Anonymous said...

[color=#f5deb3]
Как жизнь? мм.. есть мега предложение по[url=http://www.pi7.ru] видео[/url] порталу Думаю вам понравится

[url=http://www.pi7.ru/]Скачать / Смотреть кино 2012[/url]
aнекдот для разнообразия :)

В секс-шопе продавец девчушкам-малолеткам:
- А вам здесь какого хрена надо?
- Вон того, на верхней полке, с вибратором! . .

Я 9 часов блуждала по сети, пока не вышела на ваш форум! Думаю, я здесь останусь надолго!
пршьу прощения за опечатки.... очень маленькая клавиатура у PDA!

[/color]

Anonymous said...

После вселенской катастрофы Америка превратилась в мертвую пустыню. По бескрайним дорогам, кишащим бандами, с враждой поражденной войной за воду и еду, путешествует мудрый Илай. Однажды он попадает в мрачные земли, где когда-то находился прекрасный штат Калифорния, а теперь это сущий ад, где бесчинствует тиран Карнеги.
книга илая

Anonymous said...

Мне вот кажется, что такое написать мог то ли креативный гений, то ли героиновый наркоман :(

Anonymous said...

У нас в Дагестане за такие слова могут и камням изакидать :(

Anonymous said...

Мудрость - это не морщины, а извилины… http://cans.ru/

Anonymous said...

you have a wonderful site!

Anonymous said...

me and my wife have been researching 2012 for about 2 years now and have allready started planning they say by 2010 you will see it in the sky and i think thats about the time we will have everything ready we are looking to start a survival group or if anyone else has one that we can join let me know ill check back later thanks
[url=http://2012earth.net/switch_to_consciousness_2012.html
]apocalypse 2012
[/url] - some truth about 2012

Anonymous said...

Не очень люблю такие тексты %:(

Anonymous said...

В Вашей RSS нельзя получать полные тексты записей, что ли?

Anonymous said...

Ну что вы тут раскричались? Пора успокоится и советую скачать Алису в стране чудес. Думаю просмотр успокоит немного нервишки;)

Anonymous said...

Логотип мне нравится:)

Anonymous said...

У Вас долго загружается блог - видимо, хостинг плоховат

Anonymous said...

Об этом уже писал кто-то из моих ЖЖ-френдов :(

Anonymous said...

Прошу прощения за оффтопик.
Вы продаете сквозные ссылки с сайта? Если да, свяжитесь со мной, плз!

Anonymous said...

На словах ты Лев Толстой, а не деле ... простой!

Anonymous said...

На словах ты Лев Толстой, а не деле ... простой!

Anonymous said...

А сегодня день архивного работника. У вас на сайте есть "Архив"? Можете праздновать! :))

Anonymous said...

У нас в жж за такой пост бы закидали какашками в каментах:)

Anonymous said...

У нас в жж за такой пост бы закидали какашками в каментах:)

Anonymous said...

Мульти портал. Есть все, почти всё. Немного из навигации сайта.

[url=http://pi7.ru/]Скачать кино [/url]
--------------------------------------- |
Анекдотик, не помешает... :)
Встречаются 2 подружки.
- Привет, Светка, как делишки?
- Да неплохо, Катя, только без конца живот болит.
- Ну, это хуйня, я например без конца вообще жить не могу.

блуждала по сети , [URL=http://pi7.ru][IMG]http://pi7.ru/pleer.gif[/IMG][/URL]

Anonymous said...

Подскажите, а у вас сквозную ссылку купить можно? Если да, сообщите цену на мыло, пожалуйста?

Anonymous said...

Подскажите, а у вас сквозную ссылку купить можно? Если да, сообщите цену на мыло, пожалуйста?

Anonymous said...

Хорошая статья. Действительно было интересно почитать. Не часто такое и встречается та.Наверное стоит подписаться на ваше RSS

Anonymous said...

Hello. And Bye.

Anonymous said...

Я это уже на другом сайте видел, но все равно спасибо.