User Experience Design And Experimental Evaluation Of Extensible And Dynamic Viewers For Data Structures