SoHO Viewer: what's really behind the application.

When the SoHO Viewer application refresh its content, the process is a bit more complex than just downloading images from a website. Well, first versions used to do so but since version 2.0 of SoHO Viewer another mechanism is used.

What the application really do is send a request to a gateway, this "gateway" send a request to a NASA's web page and retrieve the result. As this result is the source code of an HTML page, it is analyzed to extract the last update date for each picture/instrument. This is then send back to your phone who is then capable of updating only required images, for a reduced bandwidth usage.

Why isn't the work fully done by the application?
The main reason is linked to the data provider : a web page, if the design of this one, or its location, were to change the application might not be able to extract required data anymore. By using a gateway it would be possible to adapt to such changes without needing to write an update for the application and wait for Apple's approval. 

Another reason of this gateway is it allow statistics on SoHO Viewer usage.

The last point concern notifications. Since version 2.1 a badge number indicates on the app's icon how many instruments have been updated since last access. 


How are managed notifications?
Please not that the badge number is given as an indication and might differs from reality.

When push notifications are enabled, each time the gateway is accessed a unique code identifying your SoHO Viewer application is transmitted.
It allows to keep trace, in a database, on devices last access and last badge number value sent in a database.
Twice by hour a script is launched, this script use start by retrieving SoHO's instrument last update, then it compute for each devices registered for push notifications what should be the value of the badge number. If this one is different to the last sent one, then Apple's server are notified that a given soho viewer installation should display a given badge value.