As a developer, you don't have to care how the data is stored, and in most cases, how the functionality is implemented.
On the web so you can access it anywhere. Put your images on flickr.com instead of bobsimages.com. Hosting is expensive. All your images on flickr, all videos on youtube. Hosting is expensive. Don't have to write a program to plot every point and address on the planet, use geocoder.us.
Uses HTTP verbs (GET, POST, PUT, DELETE) PUT updates a resource (message, comment, to-do item), POST creates. Uses HTTP status codes to determine success (200 OK, 201 CREATED)
Flickr API It can send responses in the following formats - XML, XML-RPC, SOAP, JSON, PHP (a serialized format, which can be deserialized easily in PHP simply by calling unserialize ). There are many libraries written, in .NET, Java, C, etc, that implement the API.
APIs JSR 179 Blackberries run Java, JSR 179 is the location API for Java enabled devices Flickr API Geocoder.us API TinyURL API (URL based, returns a string) Twitter API EXIF data API How do I make it? Implement location tracker for blackberry phone to plot location every minute, which requires that clock on the blackberry and the camera are synched. Take pictures! Import pictures to computer, import GPS log from blackberry to computer Write application that will go through each image, find a log entry in the GPS tracker for the time it was taken (or interpolate location), use EXIF API to write into the file where the photo was taken Upload photo to flickr via API, grouping photos together by location and date into Albums. Send Flickr album url to TinyURL API Make a tweet through Twitter API that contains album name and tiny url.
A phone app that takes text like "Pick up milk at 7" and is always running in the background. Most phones provide a calendar, but they are usually multi-steps, like finding the date and time, clicking create event, adding the text, setting some parameters like duration, etc. This would be much simpler. Send create calendar event request to Google Calendar API Get list of events every hour for the next hour http://www.google.com/calendar/feeds/default/private/full?start-min=2009-10-14T12:30:00&start-max=2009-10-14T13:30:00 OR use Google Sync which does this for you. Buzz or beep to remind the user to look at the phone when a new item comes up. (Handled already if Google Sync is used)