/mad

Mindfulness Anti Distraction

Primary LanguageJavaScript

#MAD

Mindfulness Anti Distraction

Chrome extension to help curtail bad habitual distractions.

#How to run

  • Clone/Download zip.
  • Go to chrome://extensions
  • Check Developer mode in the top right
  • Load unpacked extension and select the folder with the manifest.json file

#About I have 0 idea if this works in practice.

Inspirations taken from bits and pieces of psychology studies and my own lazy-ass intuitions. Related : Baumeister's work. Insightful Daniel Golemann Vid

Previously tried using extensions that prevent distractions by fully blocking or restricting site usage (e.g. StayFocusd). Worked in the short term, but I would eventually just remove them out of inconvenience.

The goal is to aid the rewiring of wanting long-term goals (short-term happiness has value). Fun 'human-capital development' focused web browsing links are given as alternative browsing.

#Developer Diary Monitoring my process. Started at HackWestern.
v0.1 29/03/2015

  • Knowledge basis: code academy javascript, stack overflow, github files of other chrome extensions, chrome extension api and docs.
  • Heavily inspired by other anti distraction extensions, e.g. StayFocusd or ColdTurkey.
  • Wanted to manipulate myself into not being distracted, by criticizing and causing cognitive dissonance.
  • Knowledge gained: Negative, or annoyingly long to type guilt messages are draining. Hard to be productive when you're feeling shitty. Going to try to use inspiring, or user-empowering quotes that also make you think, but aren't depressing amongst other additional features in next vers.

v0.1.0.3 30/03/2015

  • Changed UI so the alternatives are upfront, more immediate and relatively bigger. Intuitively that should be the focus, not the typing to unlock/go to the website.
  • Learned a bit more jquery syntax. It's much nicer for manipulating html elements =D.
  • The more positive focused thoughts seem better for now... Blind optimism doesn't seem appropriate here though.

v0.1.0.5 02/04/2015

  • Fought around with AJAX functions. They're whack. Was too stubborn on trying to find a way to return a value from an async call. In the end, I should not fight with callback functions, just use em and reorganize my code so it's not like how you normally code in Java/C++,
  • Moving on to user customization now. Lots of things to consider. Should I use angular for 1-pagey-ness functionality? Tough questions. I think I'll try.

v0.2.0.0 10/04/2015

  • Learnt AngularJS to implement some one-page functionality goodness. It's SO COOOOOOL. Enjoying the simplicity of the MVC framework and how seamless and speedy things run.
  • Ran into more asynchronous problems, although this time I fixed them rather quickly now that I have more experience. Just gotta get used to that asynchronous thinkin ya feeeeel.
  • I keep on thinking of more and more things to do or add. I'm going to have to speed up the rate in which I complete things, or else I'm going to get squashed.

v0.2.1.0 12/04/2015

  • Now fully using AngularJS wherever I can. Still a newbie, but angular makes everything so much easier.
  • Had a real hard time setting up Protractor with angular + chrome extensions. Gave up, but I still want to get into TDD. Going to try using Karma next?
  • Finally got around to implementing some customization functionality. Took me around a whole day of coding.
  • My code base is getting progressively more and more disgustingly obese and gross.

v0.2.1.1 14/04/2015

  • Bug fixing day! I'm beginning to think I should stagger-schedule the implementation of new features vs bug fixing.
  • Man do I love bug fixing, seriously I'm hella good at it.
  • Major bugs: Fixed alternate ways of trying to bypass the typing challenge. Fixed blocking of embedded requests. Poor fix, but a fix of teh facebook redirection links.
  • Still wanting to explore developmental tools and TDD. Grunt or something to build everything would be nice. apparently chjrome extensions are auto minified?

v.0.3.0 08/06/2015

  • Added a few features, reason tracking and options to increase amount of phrases to get passed
  • Decided against implementing notifications for now. Difficult to determine false negatives.
  • Focused more on prevention methods. Reason tracking allows for immediate self evaluation. Gave an option to increase number of phrases to type. Delayed gratification works.