Reply to comment

The nature of portable devices means there will be occasional disruption in connectivity. Designing your software to account for these conditions will help your users to have a better experience. Here’s a few suggestions to consider as you plan for your Netbook applications.

Issue and Recommendation

Unreliable Connection
  • Use subscription methods to maintain understanding of connection status.

Online transition to offline workloads
  • Begin caching of information that will need to be synchronized upon reconnection.

Offline transition to online
  • Detect new connection, synchronize data as previously prepared while offline

Data loss during on/offline transition
  • Use secure methods of data transmission to maintain data integrity (avoid data-gram packets)
  • Maintain local cache until transmission verified to server system.

Server or web-service non-responsive
  • Treat as connection failure, maintain local cache and wait for working connection

Synchronous Messaging
  • Use Asynchronous Messaging to avoid potential blocking issues

Additional considerations

Provide On and Offline capability for you application.

Provide an Intelligent transition between on/offline and data management.

Deliver an “always connected” experience by using store and forward architecture, working for seamless transitions. [like podcasting]

What aspects of your app require a connection, are there ways to mitigate that?

Can you defer communication activities? (email send/receive when connected)

Can you anticipate users needs to cache in advance?

How will you respond due to a connection failure during a data access or file transfer?

Handle unreliable network connections.

Information on designing Asynchronous Messaging systems may be found here:

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. http://www.amazon.com/exec/obidos/ASIN/0321200683/interncom-20

6Kviews

Reply

The content of this field is kept private and will not be shown publicly.