Life goes on and getting data

Life can be such a odd thing...

On Wednesday my grandfather died, and the family started gathering to morn and support my grandmother..
Today (Yesterday?) I went to Japan to explain how a system I work on, works.

It's quite a simply program, the most complex is managing the threads on which most of the data access is running (it's more important to be able to start the application and navigate between screens than to actually populate them with data (which can take a number of seconds to retrieve). One of the problems this presents me with, is what to show on the screen.
On the main screen, there are two data components whos population should never delay the user from performing an action (unless directly related to that data item), namely a grid & a tab control.
For the grid, I decided to hide the grid (it sits at the bottom of the screen). In the future I've been thinking about putting a message there, something like 'Loading'.
For the tab control, I'm not so sure. Some of the pages can be shown before the rest have been populated, so simply hiding the entire tab control is not the right answer (plus it would look odd). Am currently thinking that I'll hide the pages which have not loaded yet, but add another page on which I'll have 'Loading' both as content and as topic. Not sure yet.

I've also started thinking about scalability of the application, particulary as regarding database connections. At the moment, the client application connects directly to the database, and to ensure a low response time, each GUI uses several database connections (by the very nature, the application is likely to make bursts of requests). Now, most of the requests which a client makes on startup are identical for all users, so some sort of server/cache could, in theory, improve performance.

One particular application request results in approx 20 table screens on the same table, but with a different where clause each time. It would have been more than 50 without use of 'case/when/then'. Since a fair number of these scans envolve string comparisions, it's not the fastest thing in the world..

Ethernal question; Do you do the work on the database, close to where the data but with a system not built for computation, or on a client computer which can perform the calculations fast and pay the time it takes to download the data...

One ray of hope; the data itself is mostly static, so perhaps some cache which retrieves only the dynamic part.. Thoughts.. Thoughts..

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Print | posted on Tuesday, February 28, 2006 12:12 AM
Comments have been closed on this topic.