Facts
Project partner:
Skövde University and Change Attitude Foundation
Where:
Skövde and Stockholm, Sweden
Contact:
Susanne Drakborg
[email protected]
In police investigations, child sexual abuse material produced through grooming or sexual extortion, is very frequent. The children in the photos are most often between 8 and 16 years old, but one third of the investigating police officers have worked with grooming cases including children between 5 and 7 years of age.
Perpetrators use threats and extortion
The vast majority of children who are contacted for sexual purposes can handle the situation by blocking the perpetrator, shutting down their devices or talking to an adult. But perpetrators who search the internet to sexually abuse children online have developed increasingly sophisticated methods. They often contact a multitude of children at the same time, and once they have established contact they almost instantly start to threaten the child in order to get what they want. For the exposed children, this can have serious consequences. To inform children and adults about the risks online is vital, but general information is not enough.
Treasure hunt with a purpose
In order to strengthen children’s resilience online, Childhood has contributed to the Change Attitude Foundation’s development of the game “Parkgömmet” for elementary school children. The game, developed by researchers at Skövde University, consists of a physical board game making use of augmented reality through a tablet or smartphone. The game is similar to a classic treasure hunt, where each player hides a treasure. During the game, the children receive messages from an unknown person who tries to get them to reveal clues to where their treasure is hidden. This way the children can experience how it feels and how they can react to common grooming techniques, such as flattery, nagging and threats.
Follow-up conversations about online risks
When they created the treasure hunt, the researchers used authentic internet chat logs where children had been contacted for sexual purposes. The game, which doesn’t contain any scary elements, is a starting point for follow-up conversations about online risks. These discussions are led by a teacher, using accompanying material. The game has been distributed free of charge to elementary schools in Sweden.
Photo: private
.acf-map {
width: 100%;
height: 400px;
/*border: #ccc solid 1px;*/
/*margin: 20px 0;*/
}
// Fixes potential theme css conflict.
.acf-map img {
max-width: inherit !important;
} (function( $ ) {
/**
* initMap
*
* Renders a Google Map onto the selected jQuery element
*
* @date 22/10/19
* @since 5.8.6
*
* @param jQuery $el The jQuery element.
* @return object The map instance.
*/
function initMap( $el ) {
// Find marker elements within map.
var $markers = $el.find('.marker');
// Create gerenic map.
var mapArgs = {
zoom : $el.data('zoom') || 16,
mapTypeId : google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map( $el[0], mapArgs );
// Add markers.
map.markers = [];
$markers.each(function(){
initMarker( $(this), map );
});
// Center map based on markers.
centerMap( map );
// Return map instance.
return map;
}
/**
* initMarker
*
* Creates a marker for the given jQuery element and map.
*
* @date 22/10/19
* @since 5.8.6
*
* @param jQuery $el The jQuery element.
* @param object The map instance.
* @return object The marker instance.
*/
function initMarker( $marker, map ) {
// Get position from marker.
var lat = $marker.data('lat');
var lng = $marker.data('lng');
var latLng = {
lat: parseFloat( lat ),
lng: parseFloat( lng )
};
// Create marker instance.
var marker = new google.maps.Marker({
position : latLng,
map: map
});
// Append to reference for later use.
map.markers.push( marker );
// If marker contains HTML, add it to an infoWindow.
if( $marker.html() ){
// Create info window.
var infowindow = new google.maps.InfoWindow({
content: $marker.html()
});
// Show info window when marker is clicked.
google.maps.event.addListener(marker, 'click', function() {
infowindow.open( map, marker );
});
}
}
/**
* centerMap
*
* Centers the map showing all markers in view.
*
* @date 22/10/19
* @since 5.8.6
*
* @param object The map instance.
* @return void
*/
function centerMap( map ) {
// Create map boundaries from all map markers.
var bounds = new google.maps.LatLngBounds();
map.markers.forEach(function( marker ){
bounds.extend({
lat: marker.position.lat(),
lng: marker.position.lng()
});
});
// Case: Single marker.
if( map.markers.length == 1 ){
map.setCenter( bounds.getCenter() );
// Case: Multiple markers.
} else{
map.fitBounds( bounds );
}
}
// Render maps on page load.
$(document).ready(function(){
$('.acf-map').each(function(){
var map = initMap( $(this) );
});
});
})(jQuery);