tag:blogger.com,1999:blog-88710990442801392382018-08-28T18:20:03.202+01:00Meditation Helper<a href="https://market.android.com/details?id=com.nwalex.meditation&amp;feature=search_result">https://market.android.com/details?id=com.nwalex.meditation</a>Neill Alexandernoreply@blogger.comBlogger28125tag:blogger.com,1999:blog-8871099044280139238.post-79607739119238064602012-01-07T18:03:00.002+00:002012-01-07T18:03:43.246+00:00Comments are Suspended<div dir="ltr" style="text-align: left;" trbidi="on">I have suspended comments on the blog because I want to encourage people to use the new forum I have set up at <a href="http://multiordinal.com/forumdisplay.php?fid=2">http://multiordinal.com/forumdisplay.php?fid=2</a></div>Neill Alexandernoreply@blogger.comtag:blogger.com,1999:blog-8871099044280139238.post-13413419377866479832011-03-10T21:46:00.000+00:002011-03-10T21:46:44.126+00:00OoopsI released version 1.7.4 of Meditation Helper tonight, and was very happy with myself that I had fixed the last couple of lingering bugs. Imagine my horror when I found errors being reported, with comments like:<br /><blockquote><span class="Apple-style-span" style="color: #555555; font-family: Arial, sans-serif; font-size: 13px;">latest updates has messed up my samsung galaxy a keep getting errors and my favorite app does not open</span></blockquote><blockquote><span class="Apple-style-span" style="color: #555555; font-family: Arial, sans-serif; font-size: 13px;">Meditation Helper..don't work !</span></blockquote>The problem was that with this release I introduced Proguard for the first time. The reason for this was that I also introduced Jodatime to help solve some problems with time zone handling. Proguard helps to shrink down the size of the application to the minimum required.<br /><br />Anyway, to cut a long story short, because Proguard had changed package names, a call to getResourceAsStream() failed because the directory it was looking had been renamed. That caused a NullPointerException, which caused a force close.<br /><br />Ooops.<br /><br />The thing is, I'd been running the new version on my phone for the last couple of days, and it was all working fine. But I hadn't been running the signed version. And Proguard only runs when you export a signed version. In other words, I wasn't running the version of the app that I uploaded to the market.<br /><br />Ooops.<br /><br />Apparently it's possible to add some configuration to Proguard to handle looking up resources. But, since I wanted to get a fix out as quickly as possible. I simply removed the offending class. It provided functionality that I'd considered removing a few months ago anyway, so it was no great loss.<br /><br />I can only apologize to the people that were affected by this. Hope I didn't cause you too much trauma! I have updated my release process - from now on I will always run the signed version of the application on my own phone before uploading it to the market.Neill Alexandernoreply@blogger.com4tag:blogger.com,1999:blog-8871099044280139238.post-64447470328878461512011-03-06T18:10:00.002+00:002011-03-06T18:10:28.636+00:00Bad Design DecisionsIn the last release of Meditation Helper I made a design decision which I now regret. The app remembers the volume that was used for the last meditation session and automatically sets the volume back to that previous level. This is bad for 3 reasons:<br /><br /><ol><li>It changes the volume without letting the user know what it's doing or why.</li><li>It changes the volume only after the users starts the timer. This means that if I open the app, set the volume I want, then press start, the volume might change from what I've just set.</li><li>There is no option to disable this functionality.</li></ol><div>It's ugly and horrible and I'm going to change it. Look out for a patch release going out soon to address these issues.</div>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-65668583396793650092011-02-20T14:00:00.000+00:002011-02-20T14:00:54.837+00:00Version 1.7.0 - Release Notes<ul><li>Bell automatically reverts to the last bell volume.</li><li>Ability to set the day start time for the widget.</li><li>Backup profiles.</li><li>Added link to instructions.</li></ul>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-38679626690001383582011-02-20T10:25:00.006+00:002012-01-07T18:06:26.930+00:00Instructions<div dir="ltr" style="text-align: left;" trbidi="on"><div style="font-family: inherit;"><span class="Apple-style-span" style="font-size: small;">Please see&nbsp;<a href="http://meditation-helper.blogspot.com/2012/01/comments-are-suspended.html">http://meditation-helper.blogspot.com/2012/01/comments-are-suspended.html</a> regarding comments.</span></div><div style="font-family: inherit;"><br /></div><span class="Apple-style-span" style="font-size: x-large;">The Timer Screen</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-zxQtqhgbT4M/TWDeS3zSLwI/AAAAAAAAAGU/_DAjFQPbt4E/s1600/profile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-zxQtqhgbT4M/TWDeS3zSLwI/AAAAAAAAAGU/_DAjFQPbt4E/s320/profile.png" width="192" /></a></div>This is the screen that you will interact with most. The assumption I made when writing Meditation Helper was that most of the usage would involve starting the app, selecting the meditation profile, meditating, then doing something else. The app is designed to be quick and easy and to use, but hides away some fairly powerful settings, should you want to tweak things.<br /><br />The number in red shows the 'Preparation Time'. This is the countdown to the meditation proper starting. Use this to get comfortable on your meditation cushion and do whatever it is you need to do to mentally prepare for meditation.<br /><br />The number in green shows how many minutes are left in your meditation session.<br /><br /><span class="Apple-style-span" style="font-size: large;">Select a Different Profile</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-QWyoFUyU_Nk/TWDd5dlMyuI/AAAAAAAAAGQ/EJA5TjAJEhg/s1600/choose_profile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-QWyoFUyU_Nk/TWDd5dlMyuI/AAAAAAAAAGQ/EJA5TjAJEhg/s320/choose_profile.png" width="192" /></a></div>A 'Profile' specifies the parameters of the meditation session, the details of which are outlined below. The idea is that you will set up a few profiles, then choose the one you want to use for a particular session.<br /><br />There are 2 ways to load a profile. Either:<br /><ol><li>Tap the name at the top of the timer screen.</li><li>Use the menu button and select 'Load Profile'.</li></ol><span class="Apple-style-span" style="font-size: x-large;"><br /></span><br /><span class="Apple-style-span" style="font-size: x-large;">Add / Edit / Delete Profile</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-raXNHqfsTdk/TWDjwWxAjHI/AAAAAAAAAGo/ga-ZeoaKlR0/s1600/profile_editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-raXNHqfsTdk/TWDjwWxAjHI/AAAAAAAAAGo/ga-ZeoaKlR0/s320/profile_editor.png" width="192" /></a></div>This is the 'Profile' editor screen. Here you can specify:<br /><ol><li>The name of the profile by tapping on the top row.</li><li>The preparation time.</li><li>The sitting time.</li><li>Interval bells that you want to ring.</li></ol><div>Long clicking the profile name brings up a menu to load a different profile, delete the current profile, or create a new one. You can also create / load / delete profiles via the context menu (press the menu button).</div><br /><span class="Apple-style-span" style="font-size: large;">Intervals</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-ifoxAVbVuYU/TWDiOpKTPWI/AAAAAAAAAGg/QgYviJh4Btg/s1600/intervals.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-ifoxAVbVuYU/TWDiOpKTPWI/AAAAAAAAAGg/QgYviJh4Btg/s320/intervals.png" width="192" /></a></div>Intervals are the mechanism for specifying when you want bells to ring. You can add as many intervals as you want. You can also delete intervals by long clicking on them, however, you cannot delete the top or bottom interval. These represent the bells that ring at the start and finish of the meditation.<br /><br />If you don't want a bell to ring at the start or end of meditation, select the interval and set it to ring zero bells (see next section).<br /><br /><span class="Apple-style-span" style="font-size: large;">Bells</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-NqK_Z-JceaM/TWDgUehRynI/AAAAAAAAAGY/pcARO1B9ipc/s1600/interval_bell.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-NqK_Z-JceaM/TWDgUehRynI/AAAAAAAAAGY/pcARO1B9ipc/s320/interval_bell.png" width="192" /></a></div>You can configure a meditation profile to include a number of bells. Use there to keep track of where you are in meditation, to keep you awake in case you nod off (we all do it!), or whatever other reason you want or need.<br /><br />There are 2 types of bell:<br /><ol><li>The start / stop bell. You can configure these to ring 0, 1, 2 or 3 times. The start bell rings at the end of the preparation time, the end bell rings at (can you guess?) - yes, that's right, the end.</li><li>Interval bells. You can add as many interval bells as you want. When I meditate I ring a bell every 15 minutes to remind me to stay focussed and also to let my legs know that they are 15 minutes closer to being able to stretch out again.</li></ol><div>As you can see from the screenshot, you can configure the bells to ring after a specific amount of time, or at regular intervals. This should be enough to cover any pattern that you want to put in place.</div><br />Note that you cannot specify when you want to ring the start / stop bells. By definition, they ring at particular points in the session.<br /><br /><span class="Apple-style-span" style="font-size: large;">Types of Profile</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/-s-BjytaWz2w/TWDi7uOIkEI/AAAAAAAAAGk/QKRkpZntlfs/s1600/open_ended.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-s-BjytaWz2w/TWDi7uOIkEI/AAAAAAAAAGk/QKRkpZntlfs/s320/open_ended.png" width="192" /></a></div>When you edit a profile you can either specify a fixed 'Sitting Time', or you can set it as open ended.<br /><br />An open ended meditation is different in that it simply times how long you meditate for. It's up to you to press the stop button to indicate that you have finished meditating.<br /><br />During the week, when I'm on a tight schedule to get out of the house to go to work, I use a fixed length meditation profile. At the weekend when I have a bit more time, I use an open-ended meditation, with a repeating interval bell every 15 minutes. That way I can meditate for as long as I want.<br /><br /><span class="Apple-style-span" style="font-size: x-large;">Widget</span><br /><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">The Meditation Helper widget is my implementation of&nbsp;<a href="http://lifehacker.com/281626/jerry-seinfelds-productivity-secret">Jerry Seinfeld's productivity secret</a>:</div><blockquote><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;"></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;"></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;"></span></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;">Years ago when&nbsp;<i style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Seinfeld</i>&nbsp;was a new television show, Jerry Seinfeld was still a touring comic. At the time, I was hanging around clubs doing open mic nights and trying to learn the ropes. One night I was in the club where Seinfeld was working, and before he went on stage, I saw my chance. I had to ask Seinfeld if he had any tips for a young comic. What he told me was something that would benefit me a lifetime...</span></div></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;">He said the way to be a better comic was to create better jokes and the way to create better jokes was to write every day. But his advice was better than that. He had a gem of a leverage technique he used on himself and you can use it to motivate yourself—even when you don't feel like it.</span></div></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;">He revealed a unique calendar system he uses to pressure himself to write. Here's how it works.</span></div></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;">He told me to get a big wall calendar that has a whole year on one page and hang it on a prominent wall. The next step was to get a big red magic marker.</span></div></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;">He said for each day that I do my task of writing, I get to put a big red X over that day. "After a few days you'll have a chain. Just keep at it and the chain will grow longer every day. You'll like seeing that chain, especially when you get a few weeks under your belt. Your only job next is to not break the chain."</span></div></div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-family: 'Lucida Grande',Helvetica,Arial,sans-serif; font-size: 12px; line-height: 20px;">"Don't break the chain," he said again for emphasis.</span></div></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"></div></blockquote><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">The widget displays the chain of days where you have hit your meditation target.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><a href="http://2.bp.blogspot.com/_dKKZTnndKIU/TGq4V5ZSf7I/AAAAAAAAAEc/45bwyjQAkxk/s1600/widget.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_dKKZTnndKIU/TGq4V5ZSf7I/AAAAAAAAAEc/45bwyjQAkxk/s320/widget.png" style="cursor: move;" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">&nbsp;This is a copy of the widget from my current home screen. The top number shows the current chain, and the bottom number shows the highest chain that I have completed so far. So what this shows is that I am currently on a run of 59 days, and that is my longest run to date. The bar on the right represents the time I have meditated today, as a proportion of my daily target. I know by glancing at this that I have meditated for 50% of my target today, and if I don't do the other 50% before midnight, I will break the chain.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq5JqVkNiI/AAAAAAAAAEk/GxhYyh1igDc/s1600/settings_menu.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq5JqVkNiI/AAAAAAAAAEk/GxhYyh1igDc/s320/settings_menu.png" style="cursor: move;" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">The daily target is set via the settings menu. From the main timer screen, hit the menu button and select 'Settings' (see the screenshot to the right). That brings up the Settings page, which has the option to set the "Target Daily Time".</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Currently my "Target Daily time is set to 60 minutes. So the widget is telling me that I have meditated for at least 60 minutes for the last 59 days, and so far I have meditated for 30 minutes today.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">You can hopefully begin to see why this is useful. Having this kind of reminder on the home screen of your phone can serve as a powerful motivational tool. Before I had this, I tried to meditate for 1 hour every day, and managed to do so for maybe 8 or 9 days. But then something would happen that would make it easy for me to make an excuse not to meditate. Although I might regret not having meditated for a while, I would soon forget about it. There were no real consequences to skipping meditation.</div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><a href="http://1.bp.blogspot.com/_dKKZTnndKIU/TGq8S_3hLVI/AAAAAAAAAE0/SFIm2eLN6b0/s1600/settings.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_dKKZTnndKIU/TGq8S_3hLVI/AAAAAAAAAE0/SFIm2eLN6b0/s320/settings.png" style="cursor: move;" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">That is not the case with the widget. Now, if I skip meditation, I will break the chain and will need to start again from zero. And I really don't want to do that! I want to push on to the 100!</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq8vfNFIcI/AAAAAAAAAE8/qhfbqE4eHJE/s1600/empty_widget.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq8vfNFIcI/AAAAAAAAAE8/qhfbqE4eHJE/s320/empty_widget.png" style="cursor: move;" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">I really really really do not want to break that chain. Here is where my competitive nature kicks in to act as motivation. I just do not want to see this on my home screen!</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">As an example, for the last couple of days I have had a really heavy cold. Previously I would have used this as an excuse not to meditate. But now I don't want to break the chain, and so I sat down to meditate even despite the cold.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">So that's the widget. I hope you find it as useful as I do.</div><br /><span class="Apple-style-span" style="font-size: x-large;">Sitting Log</span><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-lX4MBblWLS8/TWDpr6WqJyI/AAAAAAAAAG4/vomEnh8scdY/s1600/sittings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-lX4MBblWLS8/TWDpr6WqJyI/AAAAAAAAAG4/vomEnh8scdY/s320/sittings.png" width="192" /></a></div><br /><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">The Sitting Log shows you all your meditation sittings. From this screen you can also manually enter sitting times, just in case you meditated somewhere without Meditation Helper.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;">Settings</span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;"><span class="Apple-style-span" style="font-size: small;">You access settings via the context menu on the main timer screen. Here I will describe what effect changing the various settings has, and why you might want to use them.</span></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: x-large;"><span class="Apple-style-span" style="font-size: small;"><span class="Apple-style-span" style="font-size: large;">Meditation Settings</span></span></span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-o6h_XwWy3-c/TWDkoVLmtGI/AAAAAAAAAGs/MVyhHaMvKd8/s1600/settings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-o6h_XwWy3-c/TWDkoVLmtGI/AAAAAAAAAGs/MVyhHaMvKd8/s320/settings.png" width="192" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"></div><ul><li>Target Daily Time - use this to specify how long you aim to meditate for every day. One of the main drivers of Meditation Helper is to help motivate you to meditate every day. This options allows you to specify how many minutes you would like to meditate every day.</li><li>Day Start Time - in the original versions of MH the meditation day was assumed to start at midnight. This meant that if you wanted to hit your target for the day, you had to start any meditation sittings before midnight. This was fine for me, because I go to bed early. But I received some requests from people who asked if I could make this configurable. That's what this setting is for. You can now specify the time that will be used to determine whether or not you met your target for a particular day.</li><li>Reminders Enabled - Meditation Helper will prompt you to meditate if you have not met your target for the day when this option is selected. A notification will appear in the notification bar.</li><li>Reminder Time - use this to specify what time you want to receive a reminder. I have this set to 19:15 since I like to meditate as soon as I get home from work.</li><li>Reminder Message - use this to specify what you want the reminder to say. Put something in here that will inspire you to meditate.</li></ul><div><span class="Apple-style-span" style="font-size: large;">Phone Options</span></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-nOGaFP6OKiU/TWDmionzgkI/AAAAAAAAAGw/RA2LE_kx690/s1600/phone_options.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-nOGaFP6OKiU/TWDmionzgkI/AAAAAAAAAGw/RA2LE_kx690/s320/phone_options.png" width="192" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"></div><ul><li>Auto Silent Mode - selecting this will put your phone into silent mode for the duration of your meditation. Use this to avoid being disturbed.</li><li>Auto Airplane Mode - like auto silent mode, but even more radical.</li><li>Stay Silent at End - originally both 'Auto Silent Mode' and 'Auto Airplane Mode' de-activated as soon as the meditation session finished. This option extends both modes until you actually exit the application. So, at the end of the meditation, you can take a few minutes to reflect before opening yourself up to phone calls, text messages, etc.</li><li>Keep Screen On - prevents the screen from going to sleep. Use this if you like to keep an eye on how long you have left.</li><li>Disable Screen Lock - if you want your screen to go to sleep, but still like to check your progress and don't want to have to use your pin or security pattern to activate the screen, enable this. The screen lock will be disable for the same period that Auto Silent / Airplane modes would be active.</li></ul><div><span class="Apple-style-span" style="font-size: large;">Bell Options</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/-wO29xRGES7E/TWDn990pHsI/AAAAAAAAAG0/Mw2Ac0WqPCU/s1600/bell_options.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-wO29xRGES7E/TWDn990pHsI/AAAAAAAAAG0/Mw2Ac0WqPCU/s320/bell_options.png" width="192" /></a></div><div><ul><li>Enable Faster Bells - if you ring more than one bell at a particular interval during your meditation, then you may want to do so quicker than the default. By default the entire bell rings before the next one starts (roughly 10 seconds per bell). With this option you are saying you want to have a smaller gap between bells. It simply enables the next option...</li><li>Gap Between Bells - how big a gap (in seconds) do you want between bells?</li><li>Remember Bell Volume - if this is set then the application will remember the bell volume from the previous sitting.</li><li>Vibrate Enabled - do you want the phone to vibrate when a bell rings?</li><li>Vibrate Only - rather than ring a bell, just vibrate the phone. I use this if I am away with my wife in a hotel, and want to meditate without disturbing her.</li><li>Bell Notifications On - do you want to receive a notification in the notification bar every time a bell rings? You are unlikely to want to use this. I added it as a feature when I was investigating a bug where bells sometimes didn't ring (now fixed).</li></ul></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><span class="Apple-style-span" style="font-size: large;">Backup</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-e77FbmNR1io/TWDc9aBvR_I/AAAAAAAAAGM/nOL_Z_tkwrQ/s1600/backup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-e77FbmNR1io/TWDc9aBvR_I/AAAAAAAAAGM/nOL_Z_tkwrQ/s320/backup.png" width="192" /></a></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">At the bottom of the settings screen there is an option to back up profiles and sittings. It should be fairly obvious what this does - it simply writes the settings to the various files, as specified.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">If you buy a new phone then this would be the way to transfer your profiles and sitting information to the new phone. Simply backup both sets of data, remove the SD card from your old phone and put it in your new phone, then restore both sets of data.</div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><br /></div><div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">Backing up sittings also provides a way to export your sitting information. The meditation-sittings.txt file is in csv format, and can be imported into Excel.</div></div>Neill Alexandernoreply@blogger.com64tag:blogger.com,1999:blog-8871099044280139238.post-51754913795346830092011-01-15T17:19:00.000+00:002011-01-15T17:19:07.029+00:00Version 1.6.0 - Release NotesVersion 1.6.0 includes the following changes:<br /><ul><li>Can now specify how many times to ring every bell. If you don't want a start bell, just set the number of times to zero.</li><li>The option to ring multiple end bells has been removed from the settings. You now specify this for each individual profile. If you are upgrading from an old version and you were using the setting to ring multiple bells, the new version will detect this and automatically set all your profiles to ring the end bell the correct number of times.</li><li>New setting to disable the screen lock. If you enable this it means that the phone won't lock while you are meditating, making it easier to switch it on and view the remaining time.</li><li>New setting to shorten the gap between bells. For example, if you have set the timer to ring 3 bells at the end of a meditation session, then currently the second bell won't start until the first bell has finished. In the new version, you can set "Enable Faster Bells" and then use the "Gap Between Bells" setting to specify how many seconds to delay before ringing each subsequent bell. I use this to ring 3 bells quickly at the end of the session (with a 0.5 second gap).</li></ul><div>Version 1.6.0 does NOT contain move to SD card. Having looked into this, it will greatly complicate things if I enable this feature. Therefore I have taken the decision not to enable this functionality.</div>Neill Alexandernoreply@blogger.com1tag:blogger.com,1999:blog-8871099044280139238.post-27915783544737443062011-01-05T20:24:00.000+00:002011-01-05T20:24:35.798+00:00Version 1.6.0 PlanMy current thinking is that I will do one final release of the app to add a few features that people have requested. After that I'm declaring the app finished, and will move on to work on other projects.<br /><br />The headline features that I will add to 1.6.0 are:<br /><br /><ul><li>Ability to configure how many times to ring every bell.</li><li>Enable move to SD card.</li></ul><div>I don't have any timescales for this. It will be done when it's done.</div>Neill Alexandernoreply@blogger.com6tag:blogger.com,1999:blog-8871099044280139238.post-67539782719721936192010-12-29T15:01:00.001+00:002010-12-29T15:02:05.870+00:00Bell Sound CreditThe bell sound that I use in the app i<span class="Apple-style-span" style="line-height: 18px;">s by Jan McLaughlin at&nbsp;<a href="http://janmclaughlin.tv/">http://janmclaughlin.tv/</a>. I found the sound at&nbsp;</span><a href="http://www.freesound.org/samplesViewSingle.php?id=42095">http://www.freesound.org/samplesViewSingle.php?id=42095</a>.Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-53244966452069562332010-12-04T19:34:00.000+00:002010-12-04T19:34:37.878+00:00Version 1.5.1 - Release NotesA very minor release with a bug fix and a couple of changes that different users have requested:<br /><br /><ul><li>Supports landscape mode (finally).</li><li>Adds setting to keep screen on while meditating.</li><li>Fixes refresh bug on timer screen.</li></ul>Neill Alexandernoreply@blogger.com6tag:blogger.com,1999:blog-8871099044280139238.post-55532211552971884562010-11-30T20:29:00.000+00:002010-11-30T20:29:28.094+00:00Version 1.5.0 - Release Notes<ul><li>Can now set the sitting time to 'unlimited'. Instead of running for a specific time, the timer will keep running until you hit 'Stop'.</li><li>Fixed bug which caused OutOfMemoryError when adding repeating interval.</li></ul>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-89826181719811665382010-11-25T22:06:00.001+00:002010-11-25T22:06:50.130+00:00Version 1.4.0 - Release Notes<ul style="line-height: 1.4; list-style-image: initial; list-style-position: initial; list-style-type: disc; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 2.5em; padding-right: 2.5em; padding-top: 0px;"><li style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-color: initial; border-top-style: none; border-top-width: initial; border-width: initial; margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;">Support periodic intervals i.e. instead of specifying each interval individually can specify either "at" or "every" along with time.</li><li style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-color: rgba(128, 128, 128, 0.496094); border-top-style: none; border-top-width: 1px; border-width: initial; margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;">Enable scrolling on the profile entry to allow entering multiple intervals.</li><li style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-color: rgba(128, 128, 128, 0.496094); border-top-style: none; border-top-width: 1px; border-width: initial; margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;">Option to ring bell more than once at end of meditation.</li><li style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-color: rgba(128, 128, 128, 0.496094); border-top-style: none; border-top-width: 1px; border-width: initial; margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;">Option to remain in silent / airplane mode until returned to home screen.</li><li style="border-bottom-style: none; border-color: initial; border-left-style: none; border-right-style: none; border-top-color: rgba(128, 128, 128, 0.496094); border-top-style: none; border-top-width: 1px; border-width: initial; margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;">Fix for reminder to make sure it plays alert (broken in last release).</li></ul>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-71534461218161857382010-11-18T21:50:00.000+00:002010-11-18T21:50:03.571+00:00Planned Features for Version 1.4.0I'm going to make 1.4.0 a fairly small release, with the following features:<br /><br /><ul><li>Support periodic intervals i.e. instead of specifying each interval individually can specify either "after" or "every" along with time.</li><li>Enable scrolling on the profile entry to allow entering multiple intervals.</li><li>Option to ring bell more than once at end of meditation.</li><li>Option to remain in silent / airplane mode until returned to home screen.</li></ul>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-73410569594062029582010-11-07T21:00:00.000+00:002010-11-07T21:00:22.140+00:00Version 1.3.1 - bug fix<ul><li>Fixes a race condition which sometimes prevented the final bell from ringing.</li><li>Removes the notification sound when starting meditation. It now will ring the bell and not play the default system notification.</li></ul>Neill Alexandernoreply@blogger.com5tag:blogger.com,1999:blog-8871099044280139238.post-56570835899029268002010-10-06T16:08:00.000+01:002010-10-06T16:08:33.835+01:00Version 1.3.0 - Release Notes<ul><li>Complete re-write of core timer functionality.</li><li>BellPlayer re-written to use SoundPool instead of MediaPlayer.</li><li>Fixes wake lock bug when application is closed.</li><li>Fixes pause / resume functionality.</li><li>Makes import sittings functionality more fault tolerant.</li><li>Adds option to enable / disable logging (disabled by default).</li><li>Takes up less space on the phone.</li></ul>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-51025729984313129832010-10-05T15:28:00.000+01:002010-10-05T15:28:24.448+01:00Version 1.3.0 is Coming...I am currently on holiday in the South of France (yes, I know, it's a hard life) and have taken the opportunity to complete the majority of the work on version 1.3.0 of Meditation Helper. This new version doesn't add any new features, however, I think it is a significant step forward. I have re-written a large chunk of the core code, replacing an over-complicated piece of code with something much simpler, much more modular, and much better tested.<br /><br />Along the way I have replaced the old implementation of the bell ringer, which used MediaPlayer, with a new implementation based on SoundPool. This has hopefully fixed a really annoying intermittent bug where the bell sometimes didn't ring. I have also fixed some issues to do with the way the background service was started and stopped.<br /><br />All in all I am very happy with the new version. I'm going to keep testing it for the next few days and then, once I'm confident it's working as expected, I will push the upgrade to the market.<br /><br />If anyone is interested in doing some beta testing, leave a comment here and I will send you a link to the new version.Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-50006401664698980672010-09-30T15:59:00.000+01:002010-09-30T15:59:58.776+01:00Making Meditation Helper BetterI am currently re-writing a large chunk of the core logic in Meditation Helper in order to eradicate once and for all some fairly nasty bugs. I haven't had much time to work on the app recently, so it isn't progressing as quickly as I would like. However, I am hopeful that I will be able to ramp things up a bit more over the next few weeks.Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-61483114712868631602010-09-17T08:16:00.001+01:002010-09-17T19:40:20.797+01:00Bug: Pause Causes Force CloseI've just seen a crash report in my developers console on the Android market. It looks like there is a bug in the pause functionality. I'm not sure exactly what causes this at the minute.<br /><br />I will look into this over the weekend and will push out a fix as soon as possible.<br /><br />Grrr. I hate bugs.<br /><br />Update 1: Ok, having looked at the code I can see that there is a fairly fundamental flaw in the way the pause functionality is implemented. It's going to take a fairly major re-write to make this work correctly. Until then I'm going to disable the 'Pause' functionality. Which is not ideal, but better than having the app crash unexpectedly.Neill Alexandernoreply@blogger.com4tag:blogger.com,1999:blog-8871099044280139238.post-33428857404216294912010-09-12T16:17:00.000+01:002010-09-12T16:17:18.075+01:00Version 1.2.0 - Release NotesThis is a bit of a tidy up release, making the timer a bit more robust, and adding a few new features.<br /><ul><li>Import / export of data done asynchronously to stop the GUI from freezing up.</li><li>New implementation of the timer which now runs as a service.</li><li>Ongoing notification in the status bar when a meditation is in progress</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_dKKZTnndKIU/TIzoW5HChbI/AAAAAAAAAFs/PEMxezJT1hE/s1600/ongoing.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_dKKZTnndKIU/TIzoW5HChbI/AAAAAAAAAFs/PEMxezJT1hE/s320/ongoing.png" /></a></div><ul><li>Can now pause a meditation</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TIzoyLnwYJI/AAAAAAAAAF0/GVpTs-tjovk/s1600/pause.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TIzoyLnwYJI/AAAAAAAAAF0/GVpTs-tjovk/s320/pause.png" /></a></div><br /><ul><li>Option to vibrate as well as / instead of the bell</li><li>Option to receive a notification in the status bar when each bell rings</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_dKKZTnndKIU/TIzpIErj6RI/AAAAAAAAAF8/j3qq3HYEQ4U/s1600/vibrate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_dKKZTnndKIU/TIzpIErj6RI/AAAAAAAAAF8/j3qq3HYEQ4U/s320/vibrate.png" /></a></div>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-72282210149022297632010-09-02T21:05:00.001+01:002010-09-02T21:24:28.139+01:00Version 1.1.0 - Release NotesThis release adds some options to make the application more useful. You can now:<br /><ul><li>Set an option to automatically go to silent mode during meditation</li><li>Set an option to automatically go to airplane mode during meditation</li><li>Set an option to be reminded to meditate. The reminder will go off at the specified time if you have not met your daily target.</li></ul><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody><tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TIAH2eRvm1I/AAAAAAAAAFk/AIFw_x8uOIE/s1600/new-settings.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TIAH2eRvm1I/AAAAAAAAAFk/AIFw_x8uOIE/s320/new-settings.png" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">New Settings</td></tr></tbody></table><br /></div>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-8340794198938858692010-08-25T14:29:00.001+01:002010-09-01T21:32:16.362+01:00Planned Features for Version 1.1.0This is what I'm planning to include in version 1.1.0:<br /><ul><li>Option to automatically go into to silent mode during meditation - <b>implemented</b></li><li>Option to automatically go into airplane mode during meditation - <b>implemented</b></li><li>Ability to set reminders to prompt you to meditate - <b>implemented</b></li><li>Add different bell sounds and make bell sounds configurable in the profile</li></ul>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-37560701372621027762010-08-18T08:29:00.002+01:002010-08-18T18:49:29.642+01:00Fixed: Crash When Delete All Interval BellsIf you delete the last interval bell, the app crashes. I will hopefully fix this and publish an update this evening, when I get home from work.<br /><br />Sorry about that.<br /><br />As a workaround, if you don't want the interval bell, edit it instead, setting the interval to longer than the total meditation time. That way it won't disturb your meditation.<br /><br /><b>Update 18th August 18:48 GMT: </b>I have just pushed version 1.0.3 to the market. It fixes the delete interval bug, and also makes it possible to edit the interval with a single click, as well as long pressing it.Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-47735935144718725862010-08-17T18:54:00.000+01:002010-08-17T18:54:05.656+01:00Quick Tips: Recording Extra SittingsYou have been to your meditation class, and you want to record the fact that you have meditated so that it is included as part of your <a href="http://meditation-helper.blogspot.com/2010/08/using-widget.html">chain</a>. You need to:<div><ul><li>Open the sittings log from the timer screen (menu --&gt; "View Sitting Logs"):</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_dKKZTnndKIU/TGrMXRMPIZI/AAAAAAAAAFE/HpmQOz-mP-A/s1600/view_sitting_log.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_dKKZTnndKIU/TGrMXRMPIZI/AAAAAAAAAFE/HpmQOz-mP-A/s320/view_sitting_log.png" /></a></div><div><ul><li>Select "Add Sitting"</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_dKKZTnndKIU/TGrMgzEmk0I/AAAAAAAAAFM/1cJwAvetyw4/s1600/add_sitting.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_dKKZTnndKIU/TGrMgzEmk0I/AAAAAAAAAFM/1cJwAvetyw4/s320/add_sitting.png" /></a></div><div><br /></div><ul><li>Enter the sitting details and click "Add"</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_dKKZTnndKIU/TGrMlQFfhoI/AAAAAAAAAFU/UrDgjlfBWn4/s1600/sitting_details.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_dKKZTnndKIU/TGrMlQFfhoI/AAAAAAAAAFU/UrDgjlfBWn4/s320/sitting_details.png" /></a></div><div><br /></div></div></div><div>That sitting will now be included in the chain displayed on the widget.</div>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-24690459198220121482010-08-17T18:04:00.000+01:002010-08-17T18:04:37.934+01:00Quick Tips: Timer Screen<ul style="font-size: medium;"><li>On the timer screen, if you tap the name of the profile (i.e. where it says "30 Minutes" on the screenshot below) a dialog will pop up to allow you to load a different profile. You can also do this by hitting the menu button and selecting "Load Profile".</li><li>Similarly, to open the profile editor screen simply tap either the of the two times. You can also do this via the menu button.</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_dKKZTnndKIU/TGqdh6bgjXI/AAAAAAAAAEE/oihb0A96o1A/s1600/timer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_dKKZTnndKIU/TGqdh6bgjXI/AAAAAAAAAEE/oihb0A96o1A/s320/timer.png" /></a></div>Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-74229305908250244382010-08-17T17:52:00.002+01:002010-09-06T12:43:30.312+01:00Quick Tips: Using the WidgetThe Meditation Helper widget is my implementation of&nbsp;<a href="http://lifehacker.com/281626/jerry-seinfelds-productivity-secret">Jerry Seinfeld's productivity secret</a>:<br /><blockquote><span class="Apple-style-span" style="font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 12px; line-height: 20px;"></span><br /><span class="Apple-style-span" style="font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 12px; line-height: 20px;"></span><br /><span class="Apple-style-span" style="font-family: 'Lucida Grande', Helvetica, Arial, sans-serif; font-size: 12px; line-height: 20px;"><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Years ago when&nbsp;<i style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">Seinfeld</i>&nbsp;was a new television show, Jerry Seinfeld was still a touring comic. At the time, I was hanging around clubs doing open mic nights and trying to learn the ropes. One night I was in the club where Seinfeld was working, and before he went on stage, I saw my chance. I had to ask Seinfeld if he had any tips for a young comic. What he told me was something that would benefit me a lifetime...</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">He said the way to be a better comic was to create better jokes and the way to create better jokes was to write every day. But his advice was better than that. He had a gem of a leverage technique he used on himself and you can use it to motivate yourself—even when you don't feel like it.</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">He revealed a unique calendar system he uses to pressure himself to write. Here's how it works.</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">He told me to get a big wall calendar that has a whole year on one page and hang it on a prominent wall. The next step was to get a big red magic marker.</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">He said for each day that I do my task of writing, I get to put a big red X over that day. "After a few days you'll have a chain. Just keep at it and the chain will grow longer every day. You'll like seeing that chain, especially when you get a few weeks under your belt. Your only job next is to not break the chain."</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 12px; margin-bottom: 1.5em; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">"Don't break the chain," he said again for emphasis.</div></span></blockquote>The widget displays the chain of days where you have hit your meditation target.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_dKKZTnndKIU/TGq4V5ZSf7I/AAAAAAAAAEc/45bwyjQAkxk/s1600/widget.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_dKKZTnndKIU/TGq4V5ZSf7I/AAAAAAAAAEc/45bwyjQAkxk/s320/widget.png" /></a></div>&nbsp;This is a copy of the widget from my current home screen. The top number shows the current chain, and the bottom number shows the highest chain that I have completed so far. So what this shows is that I am currently on a run of 59 days, and that is my longest run to date. The bar on the right represents the time I have meditated today, as a proportion of my daily target. I know by glancing at this that I have meditated for 50% of my target today, and if I don't do the other 50% before midnight, I will break the chain.<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq5JqVkNiI/AAAAAAAAAEk/GxhYyh1igDc/s1600/settings_menu.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq5JqVkNiI/AAAAAAAAAEk/GxhYyh1igDc/s320/settings_menu.png" /></a></div>The daily target is set via the settings menu. From the main timer screen, hit the menu button and select 'Settings' (see the screenshot to the right). That brings up the Settings page, which has the option to set the "Target Daily Time".<br /><br />Currently my "Target Daily time is set to 60 minutes. So the widget is telling me that I have meditated for at least 60 minutes for the last 59 days, and so far I have meditated for 30 minutes today.<br /><br />You can hopefully begin to see why this is useful. Having this kind of reminder on the home screen of your phone can serve as a powerful motivational tool. Before I had this, I tried to meditate for 1 hour every day, and managed to do so for maybe 8 or 9 days. But then something would happen that would make it easy for me to make an excuse not to meditate. Although I might regret not having meditated for a while, I would soon forget about it. There were no real consequences to skipping meditation.<br /><div class="separator" style="clear: both; text-align: center;"></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/_dKKZTnndKIU/TGq8S_3hLVI/AAAAAAAAAE0/SFIm2eLN6b0/s1600/settings.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/_dKKZTnndKIU/TGq8S_3hLVI/AAAAAAAAAE0/SFIm2eLN6b0/s320/settings.png" /></a></div>That is not the case with the widget. Now, if I skip meditation, I will break the chain and will need to start again from zero. And I really don't want to do that! I want to push on to the 100!<br /><br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq8vfNFIcI/AAAAAAAAAE8/qhfbqE4eHJE/s1600/empty_widget.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TGq8vfNFIcI/AAAAAAAAAE8/qhfbqE4eHJE/s320/empty_widget.png" /></a></div>I really really really do not want to break that chain. Here is where my competitive nature kicks in to act as motivation. I just do not want to see this on my home screen!<br /><br />As an example, for the last couple of days I have had a really heavy cold. Previously I would have used this as an excuse not to meditate. But now I don't want to break the chain, and so I sat down to meditate even despite the cold.<br /><br />So that's the widget. I hope you find it as useful as I do.Neill Alexandernoreply@blogger.com0tag:blogger.com,1999:blog-8871099044280139238.post-36887622740914789092010-08-17T15:47:00.000+01:002010-08-17T15:47:39.471+01:00Version 1.0.0 Release NotesVersion 1.0.0 doesn't add any major new functionality. The major focus of the release is to improve the user interface. The key changes include:<br /><br /><ul><li><a href="http://meditation-helper.blogspot.com/2010/08/060-new-widget-implementation.html">New widget implementation</a></li><li>Fixed&nbsp;<a href="http://meditation-helper.blogspot.com/2010/08/060-volume-control.html">volume control</a></li></ul><div>The rest of the changes are to the user interface. Here are some screenshots.</div><div><br /></div><div><span class="Apple-style-span" style="font-size: x-large;">New Timer&nbsp;</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://4.bp.blogspot.com/_dKKZTnndKIU/TGqdh6bgjXI/AAAAAAAAAEE/oihb0A96o1A/s1600/timer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/_dKKZTnndKIU/TGqdh6bgjXI/AAAAAAAAAEE/oihb0A96o1A/s320/timer.png" /></a></div><div><ul><li>Tap the profile name to quickly load a new profile.</li><li>Tap the time to go to the profile editor (also accessible via menu).</li></ul></div><div><span class="Apple-style-span" style="font-size: x-large;">New Profile Editor</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TGqdqBI2gMI/AAAAAAAAAEM/mpg_lOjCvM0/s1600/profile.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TGqdqBI2gMI/AAAAAAAAAEM/mpg_lOjCvM0/s320/profile.png" /></a></div><div><ul><li>Long press the Profile name to access the load, create new, delete functionality.</li><li>Tap the Profile name to edit it.</li><li>Tap the other profile elements to edit.</li></ul></div><div><span class="Apple-style-span" style="font-size: x-large;">New Logs</span></div><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_dKKZTnndKIU/TGqdxc2pYgI/AAAAAAAAAEU/N195sOUhfWg/s1600/sittings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_dKKZTnndKIU/TGqdxc2pYgI/AAAAAAAAAEU/N195sOUhfWg/s320/sittings.png" /></a></div><div><span class="Apple-style-span" style="font-size: x-large;"><br /></span></div>Neill Alexandernoreply@blogger.com1