1

I am developing desktop based GUI (single form) using wxPython and loads it using remote citrix access from client private network.

Suppose, the GUI has certain group of select and text boxes which are loaded together when application starts. The value of select boxes come from database and on the basis of selection of select box value, corresponding text boxes (which are initially blank) are populated from database.

Now the problem is, due to slow remote access, we have to wait for long time (approximately 5-7 minutes ) before all controls are loaded. Is there any suggestion, if we can reduce this time ?

One way coming in first thought is to divide the GUI in multiple tabs and divide the controls among tabs. This way I need to load less controls when application starts for showing first tab. Other controls load, only after user click corresponding tab.

Any other way or this one is the best approach?

2
  • 5-7 minutes?! that sounds crazy! how much data is actually loaded? To me it sounds like your application must serve an extraordinary purpose for anyone to even bare using it with those loading durations. Apr 17, 2012 at 9:33
  • I don't think that anyone in UX will be able to help you - you need to resolve your coding & network transfer issues first.
    – dnbrv
    Apr 17, 2012 at 12:32

1 Answer 1

2

Can you share a UI sketch of the kind of fields your form contain?

Generically I see two ways of solving this problem:

  1. If the fields have any dependency, do not load the fields or show them in the UI that has a dependency on a field above them. Once the user makes a selection, fetch the next fields accordingly with relatively smaller set of contents (which are applicable for current selection). This would mean more calls and maybe slightly increased waiting while interacting with the page, but will cut down on initial load time.
  2. Lazy load is another option to do this. Can the form be developed in a way that the UI is fetched first without any values for the fields (combo boxes, lists etc.)? This will reduce the time it takes to load the page initially. While the user is going through the page and understanding what fields need to be filled in, the system is populating the fields in page. Each of these fields when tried to use before loading will give the user information that this is still being loaded. This will make the user interaction with the page little slow unless the page is loaded, but will reduce the user wait time.

Depending on the context of usage, target audience, business goals etc. there might be other possible solutions. So it will help in getting a better and more focussed solution if you can share more details and a possible screenshot of your form.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.