More Axure Fun

So I have been using repeaters in a couple of prototypes in Axure. Repeaters allow creating a single element that then is linked to a data table and will repeat content based on how many rows are in the data table. This can make it much easier to automatically simulate a list/grid of search results with real content. You can also then add controls to filter and sort and paginate the list. There is also the ability to dynamically load images from an external source. All of this awesome functionality was making it fun to build out some prototypes that I had intended to do some remote/unmoderated usability testing.

Unfortunately, complex repeaters (6+ columns, external images, links/refernce pages, etc) with more than around 12 rows can substantially slow down the loading of a prototype in a browser. It gets even worse from the axshare server. Also, having more than 1 repeater widget on a page can also slow down a prototype to make it basically unusable. So I fell back to using dynamic panels with states to represent more limited simulation of filtering.

There are some ways to optimize repeaters including using the pagination functionality to load a smaller set of content. However, even after this optimization I still found my prototype pages with repeaters taking upwards of 8-10 seconds to load locally. Viewing pages from the axshare server which can be slow on its own, was often pushing 20+ seconds to load a page. For all the power they offer it was a big dissappointment to not be able to use repeaters in the prototypes for the usability testing. I am still looking further in to how to optimize things. I think it would be helpful if we could make a repeater load asynchronously and perhaps have a place holder image or group of elements.