Welcome to MSDN Blogs
Sign in
|
Join
|
Help
stevencl's WebLog
This Blog
Email
Syndication
RSS 2.0
Atom 1.0
Search
Tags
API Usability
Usability
Archives
January 2006 (2)
December 2005 (1)
November 2005 (2)
August 2005 (1)
July 2005 (2)
June 2005 (2)
May 2005 (2)
April 2005 (1)
March 2005 (1)
February 2005 (1)
January 2005 (3)
October 2004 (1)
August 2004 (3)
July 2004 (4)
May 2004 (7)
April 2004 (3)
March 2004 (4)
February 2004 (7)
January 2004 (3)
December 2003 (6)
November 2003 (6)
October 2003 (5)
Using the cognitive dimensions
Abstraction level
Learning style
Working framework
Work step unit
Progressive evaluation
Premature commitment
Penetrability
API elaboration
API viscosity
Consistency
Role expressiveness
Domain correspondence
Feedback on Avalon CTP?
If you've
downloaded
and played around with the Avalon CTP release would you be willing to share some of your feedback? I'd love to hear what you think of the usability of the Avalon APIs.
Published Friday, January 28, 2005 9:20 AM by
stevencl
Filed under:
API Usability
Comments
#
re: Feedback on Avalon CTP?
The avalon newsgroup contains a continous stream of usability and scalability problems.
Sunday, January 30, 2005 5:37 AM by
Frank Hileman
#
re: Feedback on Avalon CTP?
Parts of it I love - when elements in XAML map directly onto objects I can program against just be referring to the by the ID, that's great. When my code does things to those objects and the changes just appear on screen, that's great too.
But there are a lot of areas where it feels rather more opaque, particularly in contrast to the clarity you get when it's working well.
The whole Changeable thing is one of the parts I've found hardest to get my head around to date. The current documentation is a lot better than it was at first, but there are still some surprises. For example, sometimes you can elect to make something a ChangeableReference so you can keep changing it from time to time. But sometimes you can't - for example, animations all opt out of this behaviour, taking a copy of the Changeable regardless of what its StatusOfNextUse is. Also, I could be wrong, but I think I've seen StatusOfNextUse get ignored whenever you use it in the context of a Style.
Speaking of Styles, the relationship between elements defined in a Style's visual tree, and objects I can get hold of at runtime is one of the areas that feels rather fuzzy. (Certainly very fuzzy in comparison to the very straightforward way I can, outside of the context of a Style, give an element an ID, and just start doing stuff with it in code.)
Also, it struck me as being hard to work out whether should be working with a FrameworkElement, UIElement, Control, Panel, Shape, Geometry or whatever... There seem to be all these different levels of detail, and it's not always clear what the right one is for any given scenario.
(If you want a more continuous stream of issues as and when I hit them, I'll happily email you with them on an ongoing basis - let me know...)
Monday, January 31, 2005 4:45 AM by
Ian Griffiths
#
re: Feedback on Avalon CTP?
Ian - It would be great to hear your feedback. What I'll use the feedback for is mainly to develop ideas for further usability studies and reviews but I will also pass on the issues to the appropriate people so that they can be addressed.
Apologies for the delay in responding - I've just returned from vacation.
Thursday, February 17, 2005 4:39 PM by
Steven Clarke
#
re: Feedback on Avalon CTP?
I had some interesting problems with the binding/IValueTransformer. I have the same value bound to multiple controls and I was trying to transform a value based on which control the value was changed from. Unfortunately I couldn't find an equivilent of a "this" pointer of XAML to pass to the IValueTransformer. I also cannot bind to the properties of a binding (to pass data into IValueTransformer's extra data argument.)
Eventually, I could not find a way to pass local data into a IValueTransformer and I ended up re-architecting the program to circumvent this limitation. It was discouraging because it seemed like it should be so easy.
Sunday, February 20, 2005 7:03 PM by
John Melville
#
re: Feedback on Avalon CTP?
John - I passed your comments on to some folks on the Avalon team and got the following response:
<Button Background="{Binding Path=Foo, Converter={StaticResource MyConverter}, ConverterParameter=abc}" />
This passes the string "abc" as the converter's extra data argument. For more elaborate data: ConverterParameter={StaticResource MyData}
Let me know if this helps resolve your problem.
Wednesday, February 23, 2005 9:02 AM by
Steven Clarke
New Comments to this post are disabled