Simulating Connectivity in a Disconnected World

Okay here’s the scenario.   You have been giving the task of redesigning an old application mainframe application as a web application.   In this old application there are a lot of selection screens with lists of records where the user could do the following.

  1. Change the sort order of the list.   
  2. Position to a particular record by typing in values in fields at the top of the screen.  The “Position To” fields changed when the sort order changed.
  3. Use page up and page down to navigate through the list.
  4. Pick one or more records from the list.

The old system was optimized for fast response times so there was an index set up for each sort order that the users could select.    No matter how large the list was the user was provided with the illusion that all the records in the list were available at his fingertips.

As the designer the new application of this new web application you have to decide whether you are going to continue to provide the user with the illusion that all the data is at the user’s finger tips.

1.  The “Yes” Option 

You might decide that you don’t want to create a new system that isn’t as just as good as the old system.   In a web application what type of things might you need to do to maintain the illusion that the user has the entire file at his finger tips?

1.  You will need to remember the last and first records in the list so when the user presses page up or page down you can issue an appropriate query against the database.

2. You will need to have a buffer and/or cache to store records in memory so the user doesn’t always have to wait for you to connect and query the database.

3.  In order for the page down button to operate smoothly you may need to pre-fetch the next page of data into the buffer and/or cache in a separate process or thread while the user is looking at the current page. 

2.  The “No” Option 

The “Yes” option sounds like a lot of work so you might decide to tell the user that this new application is not going to work the same as before.   Instead when the user enter value’s in the “Position To” fields the application is only going to return 100 records for the user to page through.    If the record they want isn’t in those 100 records they will have to type different values in the “Position To” fields.   

Your justification for doing this is that it is too much work to maintain the illusion and it’s just not worth the cost.   The users should get used to this new world of stateless disconnected web applications and expect that most things will be better and but some things will be worse than the old system.   You try to console them by adding some filtering capabilities to the list screen.

So which choice would YOU make?

Advertisements

One Response to “Simulating Connectivity in a Disconnected World”

  1. Bill Hamaker’s Blog » Blog Archive » Caching using a Generic Step Function Says:

    […] Bill Hamaker’s Blog Just another WordPress.com weblog « Simulating Connectivity in a Disconnected World […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: