Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Surviving the Javascript Apocalypse

Surviving the Javascript Apocalypse

-or-
Your Fancy Javascript App is (Probably) 💩(a cautionary tale)

A talk about the missteps of applying javascript to ALL THE THINGS and how we extracted ourselves from a bad situation that resulted from the same.

Daniel Miller

February 28, 2016
Tweet

More Decks by Daniel Miller

Other Decks in Programming

Transcript

  1. or

  2. Netscape introduced an implementation of the language for server-side scripting

    with Netscape Enterprise Server in December, 1995, soon after releasing JavaScript for browsers. Random aside: node is the new hotness, eh?
  3. gon to the rescue 80% of the improvement for 20%

    of the work still serving us well 2 years later
  4. "{"user":{"id":57,"email":"[email protected]","created_at":"2013-04-25T10:38:03.000-05:00","updated_at":"2015-12-25T15:13:43.547-06:00","role":"superadmin","first_name":"Daniel","last_name":"Miller","entrata_id":89028,"entrata_auth":"5026950d2be0250b182c85dc5c3166895129b338","entrata_data":[{"id":83140,"name":"Brandywine Apartments","address":"1699 68th Street North Apt 0101, St. Petersburg, FL

    33710"},{"id":82095,"name":"Mission Towers","address":"1450 Mission Blvd., Los Angeles, CA 92005"},{"id":65037,"name":"Shady Groves","address":"123 Test St., Test City, CA 92555"},{"id":82096,"name":"Springville Estates","address":"300 S 3500 W, Springville, UT 84613"},{"id":82093,"name":"The Keys on Third","address":"123 Keys St., Chicago, IL 84012"},{"id":65038,"name":"Thorneberry Villages","address":"124 Test St., New York, NY 10001"}],"facebook_properties":["913609808678988","230969417017301","17775570159","150617661683068","447526442016156"],"properties": [],"invitation_token":null,"invitation_created_at":null,"invitation_sent_at":null,"invitation_accepted_at":null,"invitation_limit":null,"invited_by_id":null,"invitations_count":0,"clients":[]},"player":{"id":632967,"property_id": 12,"created_at":"2015-12-22T16:53:39.478-06:00","updated_at":"2016-01-05T15:31:39.950-06:00","first_name":"Daniel","last_name":"Miller","rent_roll_email":"[email protected]","facebook_email":"[email protected]","preferred_email":"[email protected]","referral_clicks":0,"advocate":true,"becameadvocate":"2016-01-05T15:27:54.998-06:00","active":true,"user_id": 57,"campaign_id":2,"archived":false,"archived_at":null,"archived_player_id":null,"image_url":"https://pbs.twimg.com/profile_images/471029999361720320/kYvX6BdE_normal.jpeg","review_clicks":0,"locked_until":"2016-02-01T00:00:00.000-06:00","notified_of_gift_restructure":true,"facebook_friends":0,"google_friends":0,"submitted_verification_emails": ["[email protected]","[email protected]"],"verification_email_sent":true,"short_name":"Daniel M.","short_url":"http://communityrewards.me/p/dkef","referral_url":"http://communityrewards.me/r/dkef","score":11000,"monthly_score":5500,"leaderboard_place":6,"monthly_leaderboard_place":1,"points_redeemed":10000,"points_redeemable":1000,"verified":true,"campaign": {"product":"cr","short_url":"http://modm.sg/modernCR","pretty_product":"Community Rewards"},"property":{"id":12,"name":"100 Modern Apartment","slug":"100-modern-apartment","has_claimable_incentives":true},"gifts":[{"gift_type":"level_1","created_at":"2016-01-05T15:31:39.827-06:00","gift_cards":[{"value":10,"sent_at":"2016-01-05T15:34:01.046-06:00","state":"gift email sent; unclaimed"}],"created_at_readable":"34 minutes ago","gift_card":{"value":10,"sent_at":"2016-01-05T15:34:01.046-06:00","state":"gift email sent; unclaimed"}}]},"resident":{"id":704130,"first_name":"D","last_name":"M","email":"[email protected]","verified":true},"incentive":null,"authentications":{"facebook_app_rewards":{"id":39298,"user_id": 57,"provider":"facebook_app_rewards","uid":"578467109","created_at":"2014-11-20T16:20:05.566-06:00","updated_at":"2015-12-25T15:13:43.473-06:00","token":"CAAEN5sOBOeoBAK9QuHQudGxzrByaxGVbPO6xjENyDxZAsjZBQfX8WaqK9ACUWGoaZB04v7ZCOdmjTO36RG4ZApKDxfh788zJifg3X0BTlv3qDnZC9aebqFswMjfcW3bnCOXDJS6NAZCEpLLLCBiVAtKo6wrpGnX2tDn W46cpPMccSgj0A4hwQiF","image_url":"https://graph.facebook.com/578467109/picture?width=500&height=500","token_expire":"2016-02-23T15:13:37.470-06:00","s3_image":{"url":"https://modernmsg-assets.s3.amazonaws.com/f76cc8955e43.jpg"},"user_agents":{"Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/ 9.0.2 Mobile/13A452 (like Safari/601.1) MM App/1.12b5":3}},"twitter":{"id":124244,"user_id":57,"provider":"twitter","uid":"379983","created_at":"2015-12-07T14:22:30.312-06:00","updated_at":"2015-12-07T14:22:32.155-06:00","token":"379983-wQX2TScRFoJPU2QkKPYy5EWKIV31jOAhMvDTKPZKk38","image_url":"https://pbs.twimg.com/profile_images/471029999361720320/ kYvX6BdE_normal.jpeg","token_expire":null,"s3_image":{"url":"https://modernmsg-assets.s3.amazonaws.com/00f3cc1d18e6.jpeg"},"user_agents":{"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36":1}},"facebook":{"id":39195,"user_id": 57,"provider":"facebook","uid":"578467109","created_at":"2014-11-19T15:27:56.996-06:00","updated_at":"2015-12-07T17:50:42.055-06:00","token":"CAAE3hAyMYokBAL29r8esoCDQYieFAsZBqJhAIuvZC57RzlmVSQVh1vm7jzZCRqqVSLcCFzivoEtrQQ2mMuQJxDMS6XrPr7NmvrjU2eW7uIKD4T9wjr1JoE3VqITOso9ZBZACZChoU5wqTMbYaDrZB1fIl8spmzk5NGvCMhZCytbqAnEbgP nczaQy","image_url":"https://graph.facebook.com/578467109/picture?width=500&height=500","token_expire":"2015-12-07T17:50:42.051-06:00","s3_image":{"url":"https://modernmsg-assets.s3.amazonaws.com/29ebb38eb14d.jpg"},"user_agents":{"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36": 1}},"google_oauth2":{"id":39165,"user_id":57,"provider":"google_oauth2","uid":"113081088099993409551","created_at":"2014-11-19T13:25:22.105-06:00","updated_at":"2015-10-20T15:10:35.228-05:00","token":"ya29.EgJO5pppQ6SoLR1UAwJGnLae1TSeFTIAykjeceT3XfPimS6VpzYIZId7jcUOzya2DvuSg-iEELA","image_url":null,"token_expire":null,"s3_image":{"url":"https://modernmsg- assets.s3.amazonaws.com/0584a1bb6f37.jpg"},"user_agents":{"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0":1,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36":1,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36":2,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36":3,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36":1,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36":2}},"google_contacts":{"id":117995,"user_id":57,"provider":"google_contacts","uid":"113081088099993409551","created_at":"2015-11-23T11:21:36.809-06:00","updated_at":"2015-11-23T11:21:37.843-06:00","token":"ya29.NQIagYMWp4MkEv5gbF8pkje3mIyOFURKeqNps9htc54hzbE5xCMaw- w6qIAfrIdP39l18Q","image_url":"https://lh3.googleusercontent.com/-kaR6RUhc_AY/AAAAAAAAAAI/AAAAAAAAANI/5s33GB9G0vU/photo.jpg?sz=500","token_expire":null,"s3_image":{"url":"https://modernmsg-assets.s3.amazonaws.com/394cad1999aa.jpg"},"user_agents":{"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ 46.0.2490.86 Safari/537.36":1}}},"contacts":[],"monthly_leaderboard_gift_value":25,"property":{"id":12,"name":"100 Modern Apartment","facebook_url":"https://www.facebook.com/ModernApartmentCommunity/","facebook_id":"230969417017301","url":"http://modernmsg.com/","client_id": 2,"created_at":"2012-04-24T11:07:53.000-05:00","updated_at":"2016-01-05T13:53:59.717-06:00","twitter_id":"modernmsg","address":"750 N St Paul, Dallas, TX 75201","phone":"972-123-4567","google_plus_url":"https://plus.google.com/+Modernmsg/about","logo_url":"https://modernmsg.com/assets/logo- black.png","email":"[email protected]","vanity_email":"[email protected]","leaseup":false,"slug":"100-modern-apartment","entrata_id":null,"entrata_user_id":null,"lead_email1":"[email protected]","lead_email2":"[email protected]","market":"student","level_1_gift_value":10,"level_2_gift_value":15,"monthly_leaderboard_gift_value": 25,"lead_gift_value":5,"google_reviews_url":"https://www.google.com/search?q=Community+Rewards+by+Modern+Message,+750+No…1&ludocid=15716811470040768748#lrd=0x864e9923a3deca4b:0xda1d54c2c190a0ec,2","yelp_reviews_url":"https://www.yelp.com/biz/modern-message-llc-dallas","apartment_ratings_url":"https://www.apartmentratings.com/rate/TX-Houston- Estates-at-Memorial- Heights.html","status":"enabled","facebook_ads":false,"manager_name":null,"manager_email":"[email protected]","regional_manager_name":null,"regional_manager_email":null,"has_facebook_access":true,"instagram_id":"modernmsg","instagram_hashtag":"#modernapartment","setup_fee":"150.0","monthly_fee":"150.0","launch_special":null,"billing_email":"ashley.mallett@gr andcampus-usa.com","billing_phone":null,"billing_address":null,"community_rewards":true,"scratch_and_win":true,"survey_url":"http://example.com/survey/100-modern-apartment","survey_code":"super secret!","country":"United States","background_color":"#121010","video_url":"https://www.youtube.com/embed/hj8fd_1AnPo","video_embed":"https://www.youtube.com/embed/ hj8fd_1AnPo?rel=0","show_lead_button":true,"gift_card_budget":50,"report_id":"9f194fc91","gift_card_budget_locking":false,"locked_until":null,"drawing_name":null,"drawing_description":null,"gift_card_auto_send":false,"cover":{"id":"632502970197275","source":"https://scontent.xx.fbcdn.net/hphotos-xpt1/v/t1.0-0/p480x480/10424326_63250…_8568725348905843243_n.jpg? oh=8974c619322d7eee7eef843d7ee47eed&oe=56E085E1","cover_id":"632502970197275","offset_x":0,"offset_y":64},"old_slugs":["modern-apartment","1-modern-apartment","100-modern-apartment","101-modern-apartment"],"api_token":"93af9723-28dd-43d0-a934-996106a4c296","level_3_gift_value":40,"account_manager_id": 44038,"realpage_subscription_id":null,"yardi_property_id":null,"instagram_image_url":"https://instagram.com/p/7qaSv5Lrn3/","sales_person_id":66911,"chatmeter_id":"515922","reputation_management":true,"reputation_management_price":19.99,"incentive_funds_unused":0,"has_claimable_incentives":true},"client":{"id":2,"name":"Modern Message","created_at":"2012-05-09T12:39:22.000-05:00","updated_at":"2015-11-13T08:23:20.343-06:00","player_verification_disabled":false,"settings":{"sales_person_id":66911,"account_manager_id":57}},"property_data":{"property-name":"100 Modern Apartment","property-url":"http://modernmsg.com/","level_1_gift_value":10,"level_2_gift_value":15,"property-logo-url":"https:// modernmsg.com/assets/logo-black.png","property-address":"750 N St Paul, Dallas, TX 75201","facebook-id":"230969417017301","facebook-url":"https://www.facebook.com/ModernApartmentCommunity/","twitter-id":"modernmsg","google-plus-url":"https://plus.google.com/+Modernmsg/about","google-reviews-url":"https://www.google.com/search?q=Community+Rewards+by +Modern+Message,+750+No…1&ludocid=15716811470040768748#lrd=0x864e9923a3deca4b:0xda1d54c2c190a0ec,2","yelp-reviews-url":"https://www.yelp.com/biz/modern-message-llc-dallas","apartment-ratings-url":"https://www.apartmentratings.com/rate/TX-Houston-Estates-at-Memorial-Heights.html","instagram_hashtag":"#modernapartment","survey_url":"http:// example.com/survey/100-modern-apartment","survey_code":"super secret!","scratch_off_url":"http://modernmsg.com/scratchoff/100-modern-apartment","video_url":"https://www.youtube.com/embed/hj8fd_1AnPo","video_embed":"https://www.youtube.com/embed/hj8fd_1AnPo?rel=0"},"token_error":null,"auth_error":null,"monthly_leaderboard":[{"player":{"short_name":"Daniel M.","image_url":"https://pbs.twimg.com/profile_images/471029999361720320/kYvX6BdE_normal.jpeg","short_name_obscured":"Daniel M.","score":11000,"monthly_score":5500},"place":1,"type":"odd"},{"player":{"short_name":"[email protected]","image_url":"https://graph.facebook.com/v2.2/101455273561166/picture? width=500&height=500","short_name_obscured":"defg*@*.com","score":29750,"monthly_score":200},"place":2,"type":"even"}],"leaderboard":[{"player":{"short_name":"[email protected]","image_url":"https://graph.facebook.com/v2.2/101455273561166/picture?width=500&height=500","short_name_obscured":"defg*@*.com","score":29750,"monthly_score":200},"place": 1,"type":"odd"},{"player":{"short_name":"Sean L.","image_url":"https://lh4.googleusercontent.com/-fXBHWF4pBHs/AAAAAAAAAAI/AAAAAAAAADY/td34RD69pn8/photo.jpg?sz=500","short_name_obscured":"Sean L.","score":17000,"monthly_score":0},"place":2,"type":"even"},{"player":{"short_name":"Betty B.","image_url":"https://graph.facebook.com/100007916028462/picture? width=500&height=500","short_name_obscured":"Betty B.","score":16000,"monthly_score":0},"place":3,"type":"odd"},{"player":{"short_name":"Kayla M.","image_url":"https://graph.facebook.com/10152766908902595/picture?width=500&height=500","short_name_obscured":"Kayla M.","score":13500,"monthly_score":0},"place":4,"type":"even"},{"player":{"short_name":"Carol S.","image_url":"https://graph.facebook.com/100005284339222/picture?width=500&height=500","short_name_obscured":"Carol S.","score":11500,"monthly_score":0},"place":5,"type":"odd"},{"player":{"short_name":"Daniel M.","image_url":"https://pbs.twimg.com/profile_images/471029999361720320/kYvX6BdE_normal.jpeg","short_name_obscured":"Daniel M.","score": 11000,"monthly_score":5500},"place":6,"type":"even"},{"player":{"short_name":"Charlie W.","image_url":"https://graph.facebook.com/100005907106274/picture?width=500&height=500","short_name_obscured":"Charlie W.","score":10500,"monthly_score":0},"place":7,"type":"odd"},{"player":{"short_name":"Maria C.","image_url":"https://graph.facebook.com/100004529625902/picture? width=500&height=500","short_name_obscured":"Maria C.","score":10500,"monthly_score":0},"place":8,"type":"even"},{"player":{"short_name":"[email protected]","image_url":"https://graph.facebook.com/v2.2/124081494627361/picture?width=500&height=500","short_name_obscured":"iqhx*@*.net","score":10500,"monthly_score":0},"place": 9,"type":"odd"},{"player":{"short_name":"Audee 'adooy' V.","image_url":"https://graph.facebook.com/100000810108100/picture?width=500&height=500","short_name_obscured":"Audee 'adooy' V.","score":9500,"monthly_score":0},"place":10,"type":"even"}],"last_winner":{"name":"defg*@*.com","image_url":"https://graph.facebook.com/v2.2/101455273561166/picture? width=500&height=500","date":"Dec '15","score":29550},"moves":[{"id":791525,"score":5500,"move":"initial_score","t_move":"joined Community Rewards","content":null,"published":null,"created_at":"2015-12-22T16:53:39.501-06:00","vote_target_id":null,"vote_score":0,"approved":null},{"id":815444,"score":1500,"move":"desktop-review-cr","t_move":"reviewed us","content":"Four dollar toast kickstarter cray vice, meditation normcore lo-fi jean shorts wayfarers organic vinyl typewriter. Cronut selvage post-ironic kinfolk, salvia four dollar toast tacos messenger bag. Banjo bitters roof party banh mi, irony sriracha craft beer squid readymade blue bottle schlitz synth chambray keytar. Occupy godard polaroid you probably haven't heard of them schlitz cliche. Keytar pickled YOLO pug. Ramps wayfarers health goth 3 wolf moon, fixie tousled pitchfork XOXO gastropub try-hard. Messenger bag mumblecore twee chartreuse mustache, flannel waistcoat sartorial tattooed kogi.","published":true,"created_at":"2016-01-05T15:27:31.313-06:00","vote_target_id":null,"vote_score":0,"approved":null},{"id":815445,"score":1000,"move":"desktop- rating-cr","t_move":"rated us","content":"5","published":true,"created_at":"2016-01-05T15:27:31.543-06:00","vote_target_id":null,"vote_score":0,"approved":null},{"id":815446,"score":1500,"move":"feedback","t_move":"gave us feedback","content":null,"published":null,"created_at":"2016-01-05T15:27:48.921-06:00","vote_target_id":null,"vote_score":0,"approved":null},{"id":815447,"score": 1500,"move":"poll","t_move":"answered a question","content":"Facebook","published":null,"created_at":"2016-01-05T15:27:54.970-06:00","vote_target_id":null,"vote_score":0,"approved":null}],"tasks":[{"title":"Join Community Rewards","points": 2500,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-auth-cr"}, {"title":null,"points":null,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"weekly","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-01-12T16:06:02.396-06:00","playable":true,"move":"cr-monthly-leaderboard"},{"title":"Make a donation to Pencils of Promise","points":1000,"requires_approval":true,"enabled":false,"description":"University Mills has partnered with Pencils of Promise to help build schools in Africa. Donate and be entered to win a trip abroad! Click the website below for more information. We will verify that a donation has been made before any points will be awarded. <br> <a href=\"http:// fundraise.pencilsofpromise.org/universitymills\"><img src=\"https://modernmsg-assets.s3.amazonaws.com/eff5c615e46c.jpg\" style=\"color:blue\"></a><br><br><a href=\"http://fundraise.pencilsofpromise.org/universitymills\" class=\"button1\" style=\"text-decoration:none;\">Donate Now</a>","action_text":"Confirm Donation","bonus_text":"1,000 Points<br>In order to receive points, please include your name with the donation. We will be unable to issue points to any anonymous donation. <br>","bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"custom"},{"title":"Share events","points": 1000,"requires_approval":false,"enabled":true,"description":"The more the merrier! Invite your friends to our event and earn more points while you're at it!","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"weekly","product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":"2016-01-12T16:06:02.396-06:00","playable":true,"move":"event-share-cr"},{"title":"Log in to Start","points":5500,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":false,"move":"initial_score"},{"title":null,"points":0,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"review-aptratings-share"},{"title":null,"points":0,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"review-yelp-share"},{"title":"Like and follow us","points":250,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-googleplus-cr"},{"title":"Like and follow us","points":250,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-twitterfollow-cr"},{"title":"Google +1","points":250,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-plusone-cr"},{"title":"Share your review on Facebook.","points":0,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"quarterly","product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":"2016-04-05T16:06:02.398-05:00","playable":true,"move":"desktop-review-share-fb-cr"},{"title":"Spread the word","points":0,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"quarterly","product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":"2016-04-05T16:06:02.398-05:00","playable":true,"move":"desktop-review-share-cr"},{"title":null,"points":1000,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"resident-verification"},{"title":"Attend our upcoming event","points":2000,"requires_approval":false,"enabled":true,"description":"Join our Facebook event below and confirm that you plan on attending to earn your points.","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"weekly","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-01-12T16:06:02.399-06:00","playable":true,"move":"event-rsvp-cr"},{"title":null,"points": 0,"requires_approval":false,"enabled":false,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"anytime","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"downvote-received"},{"title":null,"points": 10,"requires_approval":false,"enabled":false,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"monthly","product":"cr","moves_per_period":10,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-02-05T16:06:02.399-06:00","playable":true,"move":"downvote"},{"title":"Rate your experience","points": 1500,"requires_approval":false,"enabled":true,"description":null,"action_text":"Send Feedback","bonus_text":null,"bonus_expires":null,"recurrence":"quarterly","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-04-05T15:27:48.921-05:00","playable":false,"move":"feedback"},{"title":"Renew your lease","points": 5000,"requires_approval":true,"enabled":true,"description":"Renew your lease through Community Rewards and get 5,000 points.","action_text":"Renew My Lease","bonus_text":"$200 Gift Card","bonus_expires":"2016-01-31T22:21:00.000-06:00","recurrence":"yearly","product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":"2017-01-05T16:06:02.400-06:00","playable":true,"move":"desktop-renew-cr"},{"title":"Take our quick poll","points":1500,"requires_approval":false,"enabled":true,"description":"We want to get your opinion on something really quick!","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":"What social media site to you prefer to use?","options":["Facebook","Instagram","Twitter","Snapchat","Wechat","What's App"],"start_date":"2015-10-23","end_date":null,"next_recurrence":null,"playable":false,"move":"poll"},{"title":"Email your friends","points": 2500,"requires_approval":false,"enabled":true,"description":"Know someone who might love it here? Earn points for each friend that requests leasing information from your apartment.","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"anytime","product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-referral-cr"},{"title":null,"points":250,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"instagram-follow"},{"title":null,"points":500,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"video-tweet"},{"title":"Share our video","points":500,"requires_approval":false,"enabled":true,"description":"Share our video on Facebook and Twitter for 500 points a pop!","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"video-fbshare"},{"title":"Like and follow us","points":0,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-fblike-cr"},{"title":"Take our survey","points":1000,"requires_approval":false,"enabled":false,"description":"Help us make living here even better while earning points towards your Rewards!","action_text":"Take survey!","bonus_text":null,"bonus_expires":null,"recurrence":"twice a year","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-07-05T16:06:02.401-05:00","playable":true,"move":"survey"},{"title":"Share recent post","points":500,"requires_approval":false,"enabled":false,"description":"Click \"Share\" below to post this to your News Feed, then click the button below the box to get your points.","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"yearly","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2017-01-05T16:06:02.402-06:00","playable":true,"move":"post-share-cr"},{"title":"Refer your friends","points":1000,"requires_approval":false,"enabled":true,"description":"Share with your friends and earn points for each friend that requests leasing information from your apartment.","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-tweet-cr"},{"title":null,"points": 100,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"anytime","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"upvote-received"},{"title":"Signup for online rent payments","points": 3000,"requires_approval":false,"enabled":true,"description":"Click the button to go signup for online rent payments. Submit your transaction number when complete to receive your points!","action_text":"Get Started","bonus_text":null,"bonus_expires":null,"recurrence":"monthly","product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":"2016-02-05T16:06:02.403-06:00","playable":true,"move":"paylease"},{"title":"How are we doing?","points":1500,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":false,"move":"desktop-review-cr"},{"title":"How are we doing?","points":1000,"requires_approval":false,"enabled":true,"description":null,"action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":false,"move":"desktop-rating-cr"},{"title":"Give your friends a chance to win","points":500,"requires_approval":false,"enabled":true,"description":"Click the button to share our Scratch &amp; Win app. It gives your friends the chance to win a gift card too.","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"monthly","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-02-05T16:06:02.404-06:00","playable":true,"move":"desktop-scratchoff-share-cr"},{"title":"Vote for the best Instagrams","points": 10,"requires_approval":false,"enabled":true,"description":"Reward your neighbors' amazing photos with bonus points and earn points for yourself as well!","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"monthly","product":"cr","moves_per_period":10,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":"2016-02-05T16:06:02.404-06:00","playable":true,"move":"upvote"},{"title":"Post to Instagram","points":1000,"requires_approval":false,"enabled":true,"description":"Upload a picture at the community with the hashtag <span class=\"instagram_hashtag\"></span>, then click the button to get <span class=\"instagram_pts\"></span> points! Each vote from other players gets you <span class=\"upvote_pts\"></span> points!","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":"weekly","product":"cr","moves_per_period":1,"question":null,"options":[],"start_date":null,"end_date":null,"next_recurrence":"2016-01-12T16:06:02.404-06:00","playable":true,"move":"desktop-instagram-post-cr"},{"title":"Refer your friends","points":1000,"requires_approval":false,"enabled":true,"description":"Share with your friends and earn points for each friend that requests leasing information from your apartment.","action_text":null,"bonus_text":null,"bonus_expires":null,"recurrence":null,"product":"cr","moves_per_period":1,"question":null,"options": [],"start_date":null,"end_date":null,"next_recurrence":null,"playable":true,"move":"desktop-fbshare2-cr"}],"leads":null,"recent_instagram_posts":[{"id":769338,"score":3000,"move":"desktop-instagram-post-cr","t_move":"shared us on Instagram","content":"{\"caption\":{\"created_time\":\"1449709454\",\"text\":\"#modernapartment\",\"from\":{\"username\":\"_obob\",\"profile_picture\":\"https:// scontent.cdninstagram.com/hphotos-xap1/t51.2885-19/10611082_747753095296631_718902603_a.jpg\",\"id\":\"204627698\",\"full_name\":\"Bobo\"},\"id\":\"1136567748225805507\"},\"id\":\"1136567741414255804_204627698\",\"images\":{\"low_resolution\":{\"url\":\"https://scontent.cdninstagram.com/hphotos-xtp1/t51.2885-15/s320x320/ e35/12317376_922832881125647_1448743031_n.jpg\",\"width\":320,\"height\":320},\"thumbnail\":{\"url\":\"https://scontent.cdninstagram.com/hphotos-xtp1/t51.2885-15/s150x150/e35/12317376_922832881125647_1448743031_n.jpg\",\"width\":150,\"height\":150},\"standard_resolution\":{\"url\":\"https://scontent.cdninstagram.com/hphotos-xtp1/t51.2885-15/s640x640/sh0.08/ e35/12317376_922832881125647_1448743031_n.jpg\",\"width\":640,\"height\":640}},\"link\":\"https://www.instagram.com/p/_F5lbKKiy8KwEPBTqb1RxUHEDJm-FZfvHRyjg0/\",\"location\":null,\"tags\":[\"modernapartment\"],\"user\":{\"username\":\"_obob\",\"profile_picture\":\"https://scontent.cdninstagram.com/hphotos-xap1/t51.2885-19/10611082_747753095296631_718902603_a.jpg \",\"id\":\"204627698\",\"full_name\":\"Bobo\"}}","published":null,"created_at":"2015-12-09T19:04:19.415-06:00","vote_target_id":null,"vote_score":4,"approved":null}],"popular_instagram_posts":[{"id":769338,"score":3000,"move":"desktop-instagram-post-cr","t_move":"shared us on Instagram","content":"{\"caption\":{\"created_time\":\"1449709454\",\"text\":\"#modernapartment\",\"from\": {\"username\":\"_obob\",\"profile_picture\":\"https://scontent.cdninstagram.com/hphotos-xap1/t51.2885-19/10611082_747753095296631_718902603_a.jpg\",\"id\":\"204627698\",\"full_name\":\"Bobo\"},\"id\":\"1136567748225805507\"},\"id\":\"1136567741414255804_204627698\",\"images\":{\"low_resolution\":{\"url\":\"https://scontent.cdninstagram.com/hphotos-xtp1/t51.2885-15/ s320x320/e35/12317376_922832881125647_1448743031_n.jpg\",\"width\":320,\"height\":320},\"thumbnail\":{\"url\":\"https://scontent.cdninstagram.com/hphotos-xtp1/t51.2885-15/s150x150/e35/12317376_922832881125647_1448743031_n.jpg\",\"width\":150,\"height\":150},\"standard_resolution\":{\"url\":\"https://scontent.cdninstagram.com/hphotos-xtp1/t51.2885-15/s640x640/ sh0.08/e35/12317376_922832881125647_1448743031_n.jpg\",\"width\":640,\"height\":640}},\"link\":\"https://www.instagram.com/p/_F5lbKKiy8KwEPBTqb1RxUHEDJm-FZfvHRyjg0/\",\"location\":null,\"tags\":[\"modernapartment\"],\"user\":{\"username\":\"_obob\",\"profile_picture\":\"https://scontent.cdninstagram.com/hphotos-xap1/ t51.2885-19/10611082_747753095296631_718902603_a.jpg\",\"id\":\"204627698\",\"full_name\":\"Bobo\"}}","published":null,"created_at":"2015-12-09T19:04:19.415-06:00","vote_target_id":null,"vote_score":4,"approved":null}]}"
  5. We are stuck with technology when what we really want

    is just stuff that works. –Douglas Adams