<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/assets/atom.xsl" type="text/xsl"?><feed
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:thr="http://purl.org/syndication/thread/1.0"
	xml:lang="en-US"
	><title>Sacha Chua - tag - tasker</title>
	<subtitle>Emacs, sketches, and life</subtitle>
	<link rel="self" type="application/atom+xml" href="https://sachachua.com/blog/tag/tasker/feed/atom/index.xml" />
  <link rel="alternate" type="text/html" href="https://sachachua.com/blog/tag/tasker" />
  <id>https://sachachua.com/blog/tag/tasker/feed/atom/index.xml</id>
  <generator uri="https://11ty.dev">11ty</generator>
	<updated>2015-06-05T14:07:00Z</updated>
<entry>
		<title type="html">Recreating and enhancing my tracking interface by using Tasker and Javascript</title>
		<link rel="alternate" type="text/html" href="https://sachachua.com/blog/2015/06/recreating-and-enhancing-my-tracking-interface-by-using-tasker-and-javascript/"/>
		<author><name><![CDATA[Sacha Chua]]></name></author>
		<updated>2015-06-05T18:09:08Z</updated>
    <published>2015-06-05T14:07:00Z</published>
    <category term="android" />
<category term="geek" />
		<id>https://sachachua.com/blog/?p=28259</id>
		<content type="html"><![CDATA[<p>I got tired of setting up Tasker scripts by tapping them into my phone, so I looked into how to create Tasker interfaces using Javascript. First, I created a folder in Dropbox, and I used Dropsync to synchronize it with my phone. Then I created a simple test.html in that folder. I created a Tasker scene with a WebView that loaded the file. Then I started digging into how I can perform tasks, load applications, and send intents to Evernote so that I can create notes with pre-filled text. I really liked being able to reorder items and create additional screens using Emacs instead of Tasker&#8217;s interface.</p>
<p>Here&#8217;s my code at the moment. It relies on other Tasker tasks I&#8217;ve already created, so it&#8217;s not a standalone example you can use right off the bat. Still, it might be useful for ideas.</p>
<p><a href="https://github.com/sachac/tasker-scripts/blob/master/test.html">tasker-scripts/test.html</a>:</p>
<div class="org-src-container">
<pre class="src src-html">&lt;<span class="org-function-name">html</span>&gt;
    &lt;<span class="org-function-name">head</span>&gt;
        &lt;<span class="org-function-name">title</span>&gt;<span class="org-underline"><span class="org-bold">Sacha's personal tracking interface</span></span>&lt;/<span class="org-function-name">title</span>&gt;
        &lt;<span class="org-function-name">style</span> <span class="org-variable-name">type</span>=<span class="org-string">"text/css"</span>&gt;
         button { padding: 20px; font-size: large; width: 45%; display: inline-block  }
        &lt;/<span class="org-function-name">style</span>&gt;
        &lt;<span class="org-function-name">script</span> <span class="org-variable-name">type</span>=<span class="org-string">"text/javascript"</span> <span class="org-variable-name">src</span>=<span class="org-string">"http://code.jquery.com/jquery-1.11.3.min.js"</span>&gt;&lt;/<span class="org-function-name">script</span>&gt;
    &lt;/<span class="org-function-name">head</span>&gt;
    &lt;<span class="org-function-name">body</span>&gt;
        &lt;<span class="org-function-name">div</span> <span class="org-variable-name">id</span>=<span class="org-string">"feedback"</span>&gt;&lt;/<span class="org-function-name">div</span>&gt;
        <span class="org-comment-delimiter">&lt;!&#45;&#45; </span><span class="org-comment">For making it easy to track things </span><span class="org-comment-delimiter">&#45;&#45;&gt;</span>
        &lt;<span class="org-function-name">div</span> <span class="org-variable-name">class</span>=<span class="org-string">"screen"</span> <span class="org-variable-name">id</span>=<span class="org-string">"main-screen"</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"note"</span>&gt;Do&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"note"</span>&gt;Think&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"note"</span>&gt;Note&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"note"</span>&gt;Journal&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span> <span class="org-variable-name">data-screen</span>=<span class="org-string">"track-screen"</span>&gt;Track&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span> <span class="org-variable-name">data-screen</span>=<span class="org-string">"play-screen"</span>&gt;Play&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span> <span class="org-variable-name">data-screen</span>=<span class="org-string">"eat-screen"</span>&gt;Eat&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span> <span class="org-variable-name">data-screen</span>=<span class="org-string">"energy-screen"</span>&gt;Energy&lt;/<span class="org-function-name">button</span>&gt;
        &lt;<span class="org-function-name">button</span> <span class="org-variable-name">id</span>=<span class="org-string">"reload"</span>&gt;Reload&lt;/<span class="org-function-name">button</span>&gt;
        &lt;/<span class="org-function-name">div</span>&gt;
        &lt;<span class="org-function-name">div</span> <span class="org-variable-name">class</span>=<span class="org-string">"screen"</span> <span class="org-variable-name">id</span>=<span class="org-string">"play-screen"</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"play"</span>&gt;Persona 3&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"play"</span>&gt;Ni No Kuni&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"play"</span>&gt;Hobbit&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span>
                    <span class="org-variable-name">data-screen</span>=<span class="org-string">"main-screen"</span>&gt;Back&lt;/<span class="org-function-name">button</span>&gt;
        &lt;/<span class="org-function-name">div</span>&gt;
        &lt;<span class="org-function-name">div</span> <span class="org-variable-name">class</span>=<span class="org-string">"screen"</span> <span class="org-variable-name">id</span>=<span class="org-string">"energy-screen"</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"energy"</span>&gt;5&lt;/<span class="org-function-name">button</span>&gt;&lt;<span class="org-function-name">br</span> /&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"energy"</span>&gt;4&lt;/<span class="org-function-name">button</span>&gt;&lt;<span class="org-function-name">br</span> /&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"energy"</span>&gt;3&lt;/<span class="org-function-name">button</span>&gt;&lt;<span class="org-function-name">br</span> /&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"energy"</span>&gt;2&lt;/<span class="org-function-name">button</span>&gt;&lt;<span class="org-function-name">br</span> /&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"energy"</span>&gt;1&lt;/<span class="org-function-name">button</span>&gt;&lt;<span class="org-function-name">br</span> /&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span>
                    <span class="org-variable-name">data-screen</span>=<span class="org-string">"main-screen"</span>&gt;Back&lt;/<span class="org-function-name">button</span>&gt;
        &lt;/<span class="org-function-name">div</span>&gt;
        &lt;<span class="org-function-name">div</span> <span class="org-variable-name">class</span>=<span class="org-string">"screen"</span> <span class="org-variable-name">id</span>=<span class="org-string">"eat-screen"</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"eat"</span>&gt;Breakfast&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"eat"</span>&gt;Lunch&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"eat"</span>&gt;Dinner&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span>
                    <span class="org-variable-name">data-screen</span>=<span class="org-string">"main-screen"</span>&gt;Back&lt;/<span class="org-function-name">button</span>&gt;
        &lt;/<span class="org-function-name">div</span>&gt;
        &lt;<span class="org-function-name">div</span> <span class="org-variable-name">class</span>=<span class="org-string">"screen"</span> <span class="org-variable-name">id</span>=<span class="org-string">"track-screen"</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Routines&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Subway&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Coding&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;E1 Gen&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Drawing&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Cook&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Kitchen&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Tidy&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Relax&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Family&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Walk Other&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Nonfiction&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Laundry&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"update-qa"</span>&gt;Sleep&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">id</span>=<span class="org-string">"goToWeb"</span>&gt;Web&lt;/<span class="org-function-name">button</span>&gt;
            &lt;<span class="org-function-name">button</span> <span class="org-variable-name">class</span>=<span class="org-string">"switch-screen"</span> <span class="org-variable-name">data-screen</span>=<span class="org-string">"main-screen"</span>&gt;Back&lt;/<span class="org-function-name">button</span>&gt;
        &lt;/<span class="org-function-name">div</span>&gt;
        &lt;<span class="org-function-name">script</span>&gt;
         function updateQuantifiedAwesome(category) {
             performTask('Update QA', null, category);
             hideScene('Test');
         }

         function showFeedback(s) {
             $('#feedback').html(s);
         }
         function switchScreen(s) {
             $('.screen').hide();
             $('#' + s).show();
         }

         $('.switch-screen').click(function() {
             switchScreen($(this).attr('data-screen'));
         });
         function createEvernote(title, body) {
             sendIntent('com.evernote.action.CREATE_NEW_NOTE', 'activity',
                        '', '', 'none', '', '',
                        ['android.intent.extra.TITLE:' + (title || ''),
                         'android.intent.extra.TEXT:' + (body || '')]);
         }
         $('.note').click(function() {
             createEvernote($(this).text());
         });
         $('.energy').click(function() {
             createEvernote('Energy', 'Energy ' + $(this).text() + ' ');
             switchScreen('main-screen');
         });
         $('#reload').click(function() {
             performTask('Reload Test');
         });
         $('.update-qa').click(function() {
             updateQuantifiedAwesome($(this).attr('data-cat') || $(this).text());
             hideScene('Test View');
         });
         $('#goToWeb').click(function() {
             browseURL('http://quantifiedawesome.com');
         });
         $('.eat').click(function() {
             updateQuantifiedAwesome($(this).text());
             loadApp('MyFitnessPal');
         });
         $('.play').click(function() {
             performTask('Play', null, $(this).text());
         });

         switchScreen('main-screen');

         &lt;/<span class="org-function-name">script</span>&gt;
    &lt;/<span class="org-function-name">body</span>&gt;
&lt;/<span class="org-function-name">html</span>&gt;
</pre>
</div>
<p>You can find the latest version at <a href="https://github.com/sachac/tasker-scripts">https://github.com/sachac/tasker-scripts</a>.</p>
<p>You can <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2015%2F06%2Frecreating-and-enhancing-my-tracking-interface-by-using-tasker-and-javascript%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></content>
		</entry><entry>
		<title type="html">Developing a sense of time with Tasker alerts on my Android phone</title>
		<link rel="alternate" type="text/html" href="https://sachachua.com/blog/2013/02/developing-a-sense-of-time-with-tasker-alerts-on-my-android-phone/"/>
		<author><name><![CDATA[Sacha Chua]]></name></author>
		<updated>2013-02-22T21:02:33Z</updated>
    <published>2013-02-12T13:00:00Z</published>
    <category term="geek" />
		<id>https://sachachua.com/blog/?p=24334</id>
		<content type="html"><![CDATA[<p>I wanted to get a better sense of time, so I configured my phone to vibrate every half-hour in a short pattern of two quick bursts. That way, I can feel time passing, and I can distinguish these vibrations from message alerts. I used the following <a href="https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm">Tasker</a> script:</p>
<p>Profile: Buzz time (13)   <br>Time: From 08:00 every 30m Till 22:00    <br>Enter: Anon (14)    <br>A1: Vibrate Pattern [ Pattern:0,100,100,100 ]</p>
<p>After the quick buzz, I usually glance at the clock to confirm the time. It&#8217;s a handy way to remember that time is passing and that I should make the most of it. It&#8217;s not a big distraction. I can still stay in flow when I&#8217;m coding or writing. If I find myself wandering, I can bring myself back. </p>
<p>I don&#8217;t remember whose blog post started me down this path of making time a sense, but that was a good idea. (If you recognize yourself, please comment!)</p>
<p>You can <a href="https://sachachua.com/blog/2013/02/developing-a-sense-of-time-with-tasker-alerts-on-my-android-phone/#comment">view 4 comments</a> or <a href="mailto:sacha@sachachua.com?subject=Comment%20on%20https%3A%2F%2Fsachachua.com%2Fblog%2F2013%2F02%2Fdeveloping-a-sense-of-time-with-tasker-alerts-on-my-android-phone%2F&body=Name%20you%20want%20to%20be%20credited%20by%20(if%20any)%3A%20%0AMessage%3A%20%0ACan%20I%20share%20your%20comment%20so%20other%20people%20can%20learn%20from%20it%3F%20Yes%2FNo%0A">e-mail me at sacha@sachachua.com</a>.</p>]]></content>
		</entry>
</feed>