- Device type (tablet, phone, TV, ...)
- Device brand and browser
- Screen size
- Location: continent, country, distance around a point
- GET-parameters, e.g. affiliate IDs
- Logical combination of any of the above
The main extension lets you configure if pages and content elements shall be shown or hidden when such a configured "context" is active. It also provides an API that can be used in own extensions.
If you understand German, have a look at the extensive blog entry about contexts .
For distance selection, I embedded OpenStreetMap directly in TYPO3 backend forms: