YES/NO/CANCEL
I recently received an issue from our diligent QA department asking to have a dialog box, which presented Yes/No/Cancel as options, shortened down to just Yes/No
I responded with my reason for the existance of this combination of options:
It is a UI decision. Both Yes and No are definitive answers to a question, however, sometimes a user will interact an application and perform actions that they had no intentions of doing.
Definitive answers like Yes and No imply that you are instructing the application to do something (even if you answer no). Because you answered the question, the application is going to take action accordingly.
The Cancel option gives the user peace-of-mind that, if they just cancel, nothing will happen because they have just instructed the application to "cancel" the previous action all together.
Of course wording the question is crucial here. The question could very well imply that clicking No means that the action will be cancelled. However with a very critical action, a user may feel more at ease indicating to the application to completely disregard the previous action, even if No does mean NO!
Friday, August 18, 2006
Wednesday, August 16, 2006
One of the most useful pieces of code used by the InfoPath Developers here at Visiphor is the SecondaryDataSource Class written by one of our senior developers, Keith Curtis.
This class exposes some simple methods which we use to interact with secondary data sources.
The GetNodeValue and GetValue methods behave more like typical XSLT xsl:value-of calls where xpath queries that result in missing nodes do not cause catastrophic exceptions, but rather return empty strings. Trace messages can be returned if the xpath query does not return a node, but the call will not fail.
We added a winform to the InfoPath form that is called by the query method. The winform displays a progress bar, which runs in a separate thread so while the form is disabled by calls to a datasource/webservice, the progress bar gives the user something to look at. Also, because the winform runs in a separate thread, it displays while the form is initially loading (before the first view is rendered) - NICE!
I'll talk more about the winform and the speed-of-load issues which spawned the need/want of the progress bar in future entries.
If you'd like more info about the class, drop me a line.
Thanks for reading,
Jessel
This class exposes some simple methods which we use to interact with secondary data sources.
- Call the secondary datasource (query()),
- Query data (GetNodeValue(), GetValue())
- Set data (SetNodeValue).
The GetNodeValue and GetValue methods behave more like typical XSLT xsl:value-of calls where xpath queries that result in missing nodes do not cause catastrophic exceptions, but rather return empty strings. Trace messages can be returned if the xpath query does not return a node, but the call will not fail.
We added a winform to the InfoPath form that is called by the query method. The winform displays a progress bar, which runs in a separate thread so while the form is disabled by calls to a datasource/webservice, the progress bar gives the user something to look at. Also, because the winform runs in a separate thread, it displays while the form is initially loading (before the first view is rendered) - NICE!
I'll talk more about the winform and the speed-of-load issues which spawned the need/want of the progress bar in future entries.
If you'd like more info about the class, drop me a line.
Thanks for reading,
Jessel
Sunday, July 23, 2006
It has been (now) 6 days since my first blog entry. A few people have inquired as to when the next entry will be published. Well I haven't formalized the intention of this blog, so let me simply outline the inspiration for it.
As part of the personal brand development at Visiphor, I intend to use this blog to showcase the particular niche I have found myself in and hopefully identify myself as viable resource on the topic(s).
In my time with this group, I have been exposed to a few new technologies (SQL Reporting Services, SQL Notification Services, Microsoft InfoPath). I intend on documenting our experiences and application of (at least) SQL Notification Services and Microsoft InfoPath. I am also very interested in expanding my introduction to K2.NET and its following release "Black Pearl"
The InfoPath form I am currently working is very exciting and full of interesting applications of the technology, which I plan on displaying. I will also provide a few "nice to have" features which we have not implemented and how to implement them.
That's all for now...
Thanks
Jessel Aquing
As part of the personal brand development at Visiphor, I intend to use this blog to showcase the particular niche I have found myself in and hopefully identify myself as viable resource on the topic(s).
In my time with this group, I have been exposed to a few new technologies (SQL Reporting Services, SQL Notification Services, Microsoft InfoPath). I intend on documenting our experiences and application of (at least) SQL Notification Services and Microsoft InfoPath. I am also very interested in expanding my introduction to K2.NET and its following release "Black Pearl"
The InfoPath form I am currently working is very exciting and full of interesting applications of the technology, which I plan on displaying. I will also provide a few "nice to have" features which we have not implemented and how to implement them.
That's all for now...
Thanks
Jessel Aquing
Monday, July 17, 2006
Hello all!
Yes, that does include you.
This constitues my first blog entry - ever. As my first blog entry I choose to focus mainly on the fact that this is my first blog entry. While I have plenty to say, I have never had a problem finding an audience (willing, unwilling, captive or evasive). So this blog will serve as a log of of my adventures in Enterpise Solution Development at Visiphor Consulting Services here in beautiful Vancouver, British Columbia, Canada.
The next entry will document in more detail the intentions of this Blog.
Thanks!
Jessel
Yes, that does include you.
This constitues my first blog entry - ever. As my first blog entry I choose to focus mainly on the fact that this is my first blog entry. While I have plenty to say, I have never had a problem finding an audience (willing, unwilling, captive or evasive). So this blog will serve as a log of of my adventures in Enterpise Solution Development at Visiphor Consulting Services here in beautiful Vancouver, British Columbia, Canada.
The next entry will document in more detail the intentions of this Blog.
Thanks!
Jessel
Subscribe to:
Posts (Atom)