Place social media on politicians’ maps, capture metadata & drill down.
The service captures social media issue hashtags and depicts them on politicians’ jurisdiction maps, displaying metadata & offers options to drill down. This 2014 proof of concept can be available for service for new issue hashtags within a week.
Tweets displayed on Congressional districts.
NYC example: If I live over the Spotted Pig on W 11th Street, what are my jurisdictions?
State: | New York |
County: | New York |
U.S.
Congressional District: |
NY 10 |
State
Senate: |
District 27 |
State Assembly: | District 66 |
City or Town: | New York |
City or Town Council District: | District 03 |
Unified School District: | New York City Department Of Education |
*The
representative for the 66th NY State
assembly district is affected ..when social media tags start with "#PZNY" & chars 10 & 11 = "66". |
PowerZone name space taxonomy.
4. PowerZone REST call: 61 lines of code that return 6-7 political jurisdictions:
Using FireFox, your temporary IP number approximates your location.
- locator = new esri.tasks.Locator("http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer");
- dojo.connect(locator, "onAddressToLocationsComplete", gcResult);
- zipQueryTask = new esri.tasks.QueryTask("http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_ZIP_Codes_2014/FeatureServer/0");
- zipQuery = new esri.tasks.Query();
- zipQuery.returnGeometry = true;
- zipQuery.outFields = ["ZIP"]
- powerzone_svc = "https://data.digitaldataservices.com/arcgis/rest/services/NGOV/us/MapServer";
- identifyTask = new esri.tasks.IdentifyTask(powerzone_svc);
- identifyParams = new esri.tasks.IdentifyParameters();
- identifyParams.tolerance = 0;
- identifyParams.returnGeometry = false;
- identifyParams.layerIds = [0,1,2,3,4,5,6,7,8];
- identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
- function enter_addy(){
- var _add = dojo.byId('addy_input').value;
- if(_add == "[number][street]"){
- alert("Please type in an address in the format:\n'123 Main'");
- }
- else{
- var single = dojo.byId('addy_input').value + " " + qs_zip;
- var address = {
- SingleLine: single
- };
- var options = {
- address: address,
- outFields: ["*"]
- };
- locator.addressToLocations(options);
- }
- }
- function gcResult(candidates) {
- if (candidates.length > 0){
- var us_x = candidates[0].location.x; ///USE THE FIRST HIT
- var us_y = candidates[0].location.y; ///USE THE FIRST HIT
- if(us_x < -64 && us_x > -180 && us_y > 20 && us_y < 72){
- var points = new esri.geometry.Multipoint(map.spatialReference);
- var wmp = esri.geometry.geographicToWebMercator(points);
- passIdentify(wmp);
- }
- else{
- alert("Address and zipcode not locatable in US.");
- }
- }
- else{
- alert("Address and zipcode not locatable.\nMissing Geocode Address Handler.");
- }
- }
- function passIdentify(point_wm) {
- identifyParams.geometry = point_wm;
- identifyParams.mapExtent = map.extent;
- identifyTask.execute(identifyParams, function(idResults) { setContent(idResults); });
- }
- function setContent(idResults) {
- else if (idResult.layerId === 8) { /// LAYER 8 IS THE POWER ZONE POLYGON!!
- if (!unioResults.displayFieldName) {
- unioResults.displayFieldName = idResult.displayFieldName;
- unioResults.features.push(idResult.feature);
- content = unioResults.features[0]; //take the first one, hit #0
- });
- }
- }
A PowerZone location code has no personally identifiable information, so a social network's members run no risk in sharing theirs (on average, there are 655 people per code). The upside: our representatives can detect what we've been saying, but can no longer pretend we're not. Issue advocates can publicize our constituent power so publicly and persistently that they we can finally drive policy.
6. GEOvoter API 22 Step Notification Cascade
- Twitter UID
- Date
- Time GMT
- Time local
- Time zone
- User name or Handle
- NewGov Member?
- NewGov SuperVoter?
- Tweet string
- Lat-Long
- *voteUS Hashtag(s) 1 . . . n #FemVoteUS, #STEMVoteUS, #IMMvoteUS, etc.
- @handle 1 . . . n All addressee(s) on DMs, RTs, etc.
- Retweet ID 1 . . . n All RT Twitter Record number(s)
- Image
- ZIP code
- State
- State Code
- US Congressional District
- US Congressional District NewGov Code
- County
- County Code
- State Upper House
- State Upper House Code
- State Lower House
- State Lower House Code
- City
- Ward
- Date of User's first use of targeted hashtag
- Is votepledged at NewGov.US? Y-N
- Date of User's first use of #votepledged hashtag
- Tweeter's total uses of targeted hashtags
When social media originates from a representative's jurisdiction, putting it on the political map can be the first of many consequential alerts and services. It's like Software as a Service, but Influence as a Service (IaaS), a Politician Notification Cascade: A series of signals published to Reps and their staffs and archived publicly and continuously.
- Place an interactive icon on a politician’s district map, as at GEOvoter.io, section 1, above.
- Provide a rich hover + drill-down experience from the icon.
- Archive the map and its build history so the events stay public
- Support replay of the map's build history to depict the viral quality.
- Any cascade event can be added to the map.
- Reward the social media author (constituent)
- "Congratulations! You're xx times as influential on Issue Y as the average voter!"
- A simple calculation based on her representatives' committee memberships & rank.
- "A copy of your message has been forwarded to your representatives"
- List the cascade events as they unfold.
- Send a fax to the politician’s offices using an email-to-fax service.
- Notify the constituent
- Snail Mail via the click2mail API.
- Introduce the constituent to her Rep
- Send a post card to the Rep's office ($1.40±)
- Send physical letters
- Original to District office
- Copy to Capitol office
- Likely to trigger an internal followup call:
- "Hey District office, do you have the original of a letter from Carl Constituent?"
- District Office assumes Sally SuperVoter must be a big deal.
- Consider the Handwriting.io API.
- (US) Send a web form message to the politician using the email-to-webform API
- Celebrate the constituent
- Generate a courier delivery to politicians and stakeholders.
- Celebrate the constituent
- Stylized text, charts & graphs formatted for media consumption. Needs formatting
- Alert issue-based NGOs
- Post links to advocacy pages & videos.
- Celebrate the constituent
- Generate a press release.
- Celebrate the constituent
- Place an article in local and national papers and online.
- Celebrate the constituent
- Fund a donation to an NGO on behalf of the user.
- Celebrate the constituent
- Fund a donation to the politician(s) from a PAC.
- Celebrate the constituent
- Schedule events using the Meetup API
- Optionally organize simultaneous Meetups in the district and the capitol
- Skype, Zoom or WebRTC the Meetups so the DC & District groups form a colloquium.
- Depict and publicize each user's cascade with rich text & graphics, online and as PDFs.
- Publicize the cascade archive’s scope and trends.