AJAX Usability Question when the screen is being updated

 

I am working on a simple web application that aggregates RSS from different Online Deal Site in to one place. One of the things I wanted to do was to have one page and load the RSS details in to an Update Panel. I know Update Panel is not the best when it comes to performance but it does its job and with proper caching on the server side, it is very good for my purpose. And more over this blog is not about the merits and/or de-merits of UpdatePanel but on Usability from an end user perspective.

I was using “UpdateProgress” from AJAX control tool kit and it is working very well with simple “update message” while the update panel is being processed. But, there are times when there is not any delay and the “Progress Bar” is not coming up. This may not be the desirable condition as user might not recognize that the screen has new information.

So, I needed some thing more to say that the screen has been updated. I looked in to “UpdatePanelAnimationExtender” to work with the condition. This Extender supports Animations while the screen is being updated and after the update.

 

<cc1:UpdatePanelAnimationExtender ID=”UpdatePanelAnimationExtender1″ runat=”server” EnableViewState=”false” TargetControlID=”UpdatePanel1″>
<Animations>
<OnUpdated>
<Sequence>
<EnableAction Enabled=”true” />
<Color AnimationTarget=”UpdatePanel1″
Duration=”.5″
z-index=”5″
StartValue=”#FFCC99″
EndValue=”#FFFFFF”
Property=”style”
PropertyKey=”backgroundColor” />
</Sequence>
</OnUpdated>
</Animations>
</cc1:UpdatePanelAnimationExtender>

In addition to this I could have another animation to show while the target update panel is being updated with entry like

<OnUpdating>

</OnUpdating>

But I am not sure if this would inform the intended message to the end user! So I have decided to go in-between route. Show the “Progress Bar” while the update panel is being updated and show a simple color transition when the panel is being updated.

To outline the code is looks something like this

<asp:UpdatePanel id=”UpdatePanel1″>

<ContentTemplate>

<asp:UpdateProgress ID=”UpdateProgress1″ runat=”server”>
<ProgressTemplate>
<div class=”ProgressClass”>
Please Wait While the Page is Loading…
</div>
</ProgressTemplate>
</asp:UpdateProgress>

<asp:GridView>

</asp:GridView>

</ContentTemplate>

</asp:UpdatePanel>

<cc1:UpdatePanelAnimationExtender TargetControlID=”UpdatePanel1″>

</cc1:UpdatePanelAnimationExtender>

You could find more about these controls here

-Thanks,

Creating Temporary Projects in Visual Studio 2005

I read about creating temporary project in Visual Studio some time ago and kind of forgot about it. Few days ago, I needed to create a temp project for trying out something really quick.

There is a setting in Visual Studio that lets you create projects in temp directory and not save all the directory structure in to your main folder structure.

Follow these steps in Visual Studio 2005

Tools -> Options -> Projects and Solutions ->

and uncheck “save new projects when created” check box.

Good Luck…

Windows DreamScene for Vista

I have tried Windows DreamScene before but have not noticed the resources it is consuming. To day I was browsing around and landed on Microsoft Silverlight Wallpaper Section.

I went ahead and got the DreamScene from there and noticed that my computer usage has gone up about 15%. I quickly went back and changed my background to a static wallpaper image and saw the CPU usage going down.

Do I need a wallpaper, I know it moves, that consumes 15% of my Intel Core2 Duo processor, 2GB Ram laptop? I guess not!!!

Error: "Sys" is Undefined error

I was playing with AJAX enabled applications for some time but not really done any thing major yet. I was working on a small project that required me to add some AJAX functionality using simple updatepanels. I dropped the necessary controls like scriptmanager and updatepanel in to the page and added the references to System.Web.Extensions.

I ran the application and ran in the error message mentioned above.

Error: “Sys” is Undefined Error

I read some blogs and added another reference to “System.Web.Extensions.Design” and added some

<handler> tags to the web.config file.

Nothing seemed to work and I still had the issue.

I got smart at this time and created a new AJAX enabled web site in Visual Studio and copied the web.config file over to my existing application.

The error message is gone!!!

XmlDataSource databinding xML file to data-bound controls like DataView and DataList

I have pulled in few resources on couple of ways we could databind an XML file to a Data-Bound controls using XmlDataSource.

Basically the idea is to be able to bind an XML file, either a physical XML file or XML formatted String using XMLDataSource.

1) This article from MSDN talks about how to bind an external (physical) XML file to a TreeView Control. These Concepts are same for all the other data-boundable controls like DataView, DataList, etc

http://msdn2.microsoft.com/en-us/library/494y92bs(vs.90).aspx

You can see how you could simply bind the XML file, Transform it before binding, and using XPath to filter further.

One thing I think its missing is reading/binding values form an XML node attribute value.

Taking further the examples mentioned in the above article, assuming you have an XML attribute, “ID” for Person node, in the databinding columns you could read/bind it as

<asp:TreeNodeBinding DataMember=”Person” TextField=”ID” />

You are specifying the name of the attribute for “TextField” instead of the “#InnerText” that read the InnerText of the Node.

2) We could also bind an inline XML string using XmlDataSource as discussed in this article from another MSDN article

http://msdn2.microsoft.com/en-us/library/ms228250(vs.80).aspx

-Hope it helps…

OneCare Firewall Problem-Solution!

Yesterday, I have installed Vista and my Internet stopped working. You could find that post here.

The problem is not with Vista but with the Security Software I am using, Live OneCare from MS.

Apparently there is a problem with OneCare firewall that prevents Internet connection

The solution I found out was

The only solution I have found so far is to turn off the OneCare firewall (until they release a fix) and to turn on the regular Windows Firewall.  It warns you against this and my OneCare is now red, but I can connect to the Internet through my wireless router.

from a forum post.

-Cheers

My new Vista does not connect to Internet

I wanted to play with the Orcas Beta and really don’t want to mess up my existing dev environment. I am running Vista 64 Bit Ultimate with reasonable configuration. I dual boot my laptop with Vista 64 and XP MCE. Since I have not used/logged in to my XP in a long time, I thought of upgrading it to Vista 32 Bit. I guess I could download Virtual Server copies with ORCAS on it, but decided to update my XP. why 32 bit? Well, my 64 bit Vista is crawling at times and I wanted to see if 32 bit is any better (matured). Surprisingly, 32 Bit vista seems to be faster for me!!!

Any how, after the good upgrade, I have all the drivers resolved and windows did all its updated. And I was ready to connect to the Internet for the first time on this OS. I Could not get in to the Internet. I tried and tried by renewing my IP, disabling/enabling my network connections, wired/wireless and after good 3-4 hours with my limited networking skill, I kind of gave up for that time.

But, I was back to the issue after an hour and after enough poking around the Google from other computer, I found out that I could get to the Internet using IP address rather than the domain name.

Ex. I could load Comcast webpage using their IP address but not their domain name, comcast.com.

The domain names are not properly resolved in to IP address with DNS server! This is the only machine I could not get to the Internet in my home network and in fact, I could get to the Internet from the same machine when I log in to Vista 64 Bit.

I have no clue what is going on, except may be windows update is messed up some where and I am probably going to reinstall and rollback the updates if possible!

I am curious if any one out there had similar issue or know a solution and I would appreciate any response. I would post if I make any progress here…

After some google search, i found a solution.

An Introduction to JSON in JavaScript and .NET

I found this An Introduction to JavaScript Object Notation (JSON) in JavaScript and .NET article to be very useful especially if you are new to JavaScript Object Notation (JSON)

Explore some of the Object Oriented Techniques of JavaScript, check this MSDN article, http://msdn.microsoft.com/msdnmag/issues/07/05/JavaScript/default.aspx, by Ray Djajadinata (Ray Hsieh).

Happy Scripting!!!

Desktop Window Manager in Vista

I have been working my laptop for few hours and each operation is becoming painfully slow. Looked in to the Task Manager to see if there is anything unusual!

I have my Visual Studio 2005 open with 2 IE windows with each about 6-7 tabs.

My Visual Studio is taking about 56,000K and Each IE about 30,000K. What was surprising to me was a process dmw.exe, Desktop Window Manager, taking about 75,000KB!

After few google hits, i found out this is the process that manages my Vista Aero look! I got mad at it for a sec and said “End Processor”. My screen flickered for a second and the memory usage of this process kicked back to 60,000k in few sec !!!

Couple of links that explain this process

http://msdn2.microsoft.com/en-us/library/aa969540.aspx

http://blogs.msdn.com/greg_schechter/archive/2006/03/05/544314.aspx

PostBacks does not work with Url Rewriting

I use a Url Rewriting a lot and ran into this problem very offen. There are multiple solutions to this issue and basically we would be manipulating the “post” action of the web page.

Here is a link that talks about a more elegent approch to solove this problem, Postbacks does not work with URL ReWriting.

http://weblogs.asp.net/jezell/archive/2004/03/15/90045.aspx

EDIT: please see my new entry on this topic http://blog.budigelli.com/index.php/2007/06/14/aspnet-url-re-writing-and-postback-problem-solution/

– Thanks,