I am interested in exploring the creative use of the OSI model for informing a mobile application that can track my bicycle riding activities over a period of time. One of the features, Map my Ride, allows me to choose a route for riding and then tracks my progression on the route as I actually ride. Map data is shared via access to XML-encoded mapping information that packages available bike-ridable segments into a continuous route. Ride data is shared via access to a GPS system that updates my current position on the ground as I ride. Map data is stored locally in my application without the need for session management. GPS position data is stored locally in my application via sessions that I manage based on date and time. The application lets me initiate a ride, create a session for that ride, and then track GPS data for the duration of that ride via the session indicator.

I use a standard cellular service to connect my application to the Web in order to gain access to mapping data and share my ride information with other devices. Mapping data is transported via a TCP-managed session while GPS data is transported via a UDP-managed session. My application maintains a consistent IP address for TCP and UDP to use throughout all communications with the Web. As long as my mobile device can communicate via a reliable IP address for all application services, I don't care what the data link and physical layers look like — they are less important considerations for creating the Map my Ride service of my dreams.