All posts by Andy Geers

PrayerMate Useability Improvements Part 1

Do you ever get that feeling that you’ve been doing something for years, but are still only just beginning to figure out what you’re really supposed to be doing? I’ve been feeling a bit like that with PrayerMate for a while now. It’s grown considerably over the past year or so, both in terms of features and in terms of the number of people using it and the number of organisations publishing their prayer points through it (over 80 now!) One of the downsides of doing something as a side-project, and being massively overworked, is that you don’t always get to invest the amount of time as you would like just polishing the little details.

I think over the years I’ve been lulled into a false sense of security by all the positive encouragement I’ve received from people about PrayerMate, when the truth is that there’s lots about it that could be better. The truth is that the positive encouragement all comes from people who have managed to figure it out and have started using it, whereas the negative feedback comes in the form of silence from the people who downloaded it, tried it once, couldn’t really figure out what it was for or how to get going with it, and then never came back to it ever again. It’s only very rarely that you get emails from those people, so it’s easy to miss just how many of them there are.

This last month or so I decided that enough was enough, and whilst my wonderful iOS beta testers have been trying out the new (as-yet-unreleased) syncing functionality, I’ve been taking a break from that brain-melting hardcore coding kind of work to tinker with the basic interface to try to improve the useability of the app, especially for brand new users. I’m still only really half-way through my list of ideas (with some of the more dramatic changes still to come!) and I haven’t yet had a chance to port these over to Android, but I thought I’d give you a little taste of what’s coming up when Apple approves the next release.

Improved onboarding process

I did a little experiment with a new onboarding process back at Easter, but for various reasons I don’t think it hasn’t proved too successful. Instead I’ve opted for more of a light touch approach. The user’s first session now starts and ends with these two pages:

useability_first_session
useability_last_page

The first page introduces some vocabulary (“My first prayer session”) and now gives a more explicit call to action (“Swipe left to start”). The last page urges people towards the key value-add action: adding your own subjects to pray for.

Revamped ‘Add subject’ process

That leads nicely onto the next big change, which is a totally revamped process for adding new subjects. Over time the subject settings page has become a slightly overwhelming and scary mess of options and features, and from the very earliest days I know people have struggled how to do even the most basic task of adding a new subject. Taking the approach that people basically want to focus on one thing at a time, PrayerMate will now hold your hand a little bit more through the process.

useability_new_subject_page

It starts off by asking you just to enter a name for your subject. I’ve observed that the majority of new users stick entirely to the default categories, so I thought I may as well make the most of that and tailor the description you see based on which of those default categories you’re adding to. So you’ll get given different instructions and example names if you’re adding family members to if you’re adding Biblical prayers, for example.

Historically there’s also been a bit of a discovery problem: people didn’t know that the feature existed to download prayers or subscribe to online feeds, so the new “Add subject” page is the perfect place to direct people towards these alternative ways of getting new content into the app.

Scheduling modes explained

When choosing the scheduling mode for a subject, you now get a very brief explanation of what each option means:

useability_scheduling_modes

Downloadable biblical prayers

Although previously there was a gallery of Bible verses that would make for good prayers, for copyright reasons I was unable to make the text of those verses available for download directly into PrayerMate. Instead it took you to BibleGateway in your browser, from where you could copy and paste into PrayerMate. For various reasons, this really sucked. Mark Strivens has donated a huge amount of time to contact various Bible publishers and has managed to secure permission for me to include extracts directly from the NET Bible translation. He’s then set it all up, so now if you want to download a Bible prayer the text is right there and you just have to hit a button to turn it into a subject in PrayerMate.

“Download all” in prayer gallery

This one was sheer laziness on my part when I first added the prayer gallery: it’s been obvious all along that there needed to be a quick way to download a whole bunch of prayers all in one go. So now if you’re a wife wanting to pray for your husband, you can open up Jen Thorn’s “Seven hard things to pray for your husband” and download all seven with the touch of a button.

useability_download_all

Much better!

Changes to how feeds work

When I first added online feeds to the app last year, I had an inkling that people would love it, but I didn’t really know what it was that I was making. As people have started using it, and as more and more organisations have come on board, it was inevitable that there would be some changes required. The Android app benefitted from this hindsight and got built properly the first time around, but now iOS is catching up. The biggest change I’ve made is that feed subjects are now scheduled just like any other kind of subject – so I could say “I want to pray for Tearfund on Wednesdays and UCCF on Mondays”, and feed subjects no longer receive priority in the way that they used to, making it a bit easier to have several subjects all in the same category.

I’ve also tweaked the lingo when you first subscribe to a feed, so that instead of confusingly saying “View prayers” it now makes it more obvious that a new subject has been created for you. There’s also a little indicator of how often a particular feed is likely to be updated (daily, weekly or monthly)

useability_feed_changes

When viewing your feed subject, I’ve also broken out the upcoming prayers into a separate “feed items” page, making the subject page a bit more manageable:

useability_feed_items_page

Action button on prayer cards

I’ve been resisting this one for years, but it seems that no matter how many ways I try to teach people, most people still don’t realise that you can press and hold on a card whilst you’re praying to open a menu of actions. If you don’t know this menu is there, the app is so much harder to use. So I’ve finally succumbed, and added an explicit button to each prayer card to open the action menu:

useability_explicit_button

More tiny tweaks

There’s plenty more tiny little tweaks here and there. One user commented that it’s a little strange that the “Archive” button should be green when it’s really kind of a negative action. So that’s now orange:

useability_archive_button

PrayerMate is done as a labour of love in my spare time, but it does cost me real money to keep it all running month by month. Would you consider making a donation towards the work? Click here for details.

Kingdom Code: Christians In Tech London Meetup

As London Technology Week kicked off on Monday, it was thrilling to see a room at the Impact Hub Westminster packed with 60 Christians from the world of technology – developers, designers, tech entrepreneurs, data geeks, IT administrators and basically just all kinds of fascinating people united by a desire to see God glorified in and through technology. I co-organised it with Rupert Edwards, CEO of Lepton, and he described one of the central themes of the evenings as being about creating a space for “divine serendipity”. One of the exciting things about the evening was that we had absolutely no idea who was going to show up (when I organised it I thought we might get 20 people – perhaps 30 at a push!) and so we worked hard to try and create ways for people to figure out who else was there and what we had in common, and how we could help and encourage one another. And what a fantastic range of folks there was! It included representatives from all sorts of fantastic Christian organisations like Scripture Union, Wycliffe Bible Translators UK and the Good Book Company, as well as the creator of the Manga Jesus – and thrilling to see that over half the room was from outside the M25, including one guy who’d heroically travelled all the way from Northern Ireland to be there!

KingdomCode1

I opened the evening by saying there was one particular Bible verse that God had put on my heart as I thought about the event: Matthew 9:38. Jesus has just been out proclaiming the gospel of the kingdom. When he saw the crowds, he had compassion for them, “because they were harassed and helpless, like sheep without a shepherd”. Then he turns to his disciples, and says this:

“The harvest is plentiful, but the labourers are few; therefore pray earnestly to the Lord of the harvest to send out labourers into his harvest.”

We live in a world that is so lost and confused when it comes to God – and nowhere is that more obvious than on the internet! But what an incredible opportunity our modern technology gives us to get the gospel out there, and what a great responsibility we have to make the most of our gifts and our skills to use them to further the work of God’s kingdom. It was great to hear from some of the “founders” there at the event of some of the ways they were hoping to see technology used for God’s glory – but I hope also that even those who don’t think of themselves as “makers” could find encouragement to live our their lives for the glory of God in the roles in which he has put them.

I for one had a really enjoyable evening, enjoyed seeing some old friends and meeting some new ones too, and I look forward to seeing what God is able to do with the connections that were forged. We have a follow-up event planned for Monday 13th October.

A Health Warning About Prayer Apps

If you’ve not come across it already, can I commend to you an excellent little book by Mike Reeves called “Enjoy Your Prayer Life“? It’s super short (genuinely! only 46 pages) so that even I managed to read it in just two sittings, but it packs so much encouragement into such a small space!

As the developer of a prayer app, there was one little chapter near the beginning that leapt out at me. Mike says this:

“It’s very easy to think and speak about prayer as if it’s some abstract exercise – one of those ‘things Christians “do”‘”

As a consequence we fall back on all sorts of tips and techniques to help us do prayer “better”:

“So, for example, you sort out a prayer diary, get a prayer list app for your phone, use Operation World, try praying out loud, and have your quiet time first thing in the morning.”

Mike says that advice like this can be helpful… “in its place”.

“However, that’s not the heart of prayer. Furthermore, if those techniques are what hold together ‘prayer’ for you, then it’s going to be a burdensome duty – or perhaps something that even veers towards magic, whereby you can get what you want by saying the right ‘spell’.”

He cites the chilling example of the Israelites in the book of Isaiah, who come near to God with their mouths but their hearts are far from him – “Thus prayer is not an abstract ‘thing to do’, for clearly you can ‘do’ prayer and get it all wrong

Yikes! That’s a serious health warning to people like me!

So what is prayer? Mike turns to John Calvin for a definition, who calls prayer “the chief exercise of faith”.

“In other words, prayer is the primary way true faith expresses itself. This also means that prayerlessness is practical atheism, demonstrating a lack of belief in God.”

So if you’re a fan of apps like PrayerMate, then good! But take heed:

WARNING! Regular use of this app does not guarantee good standing before God

Using submodules in Cocoapods sourced from Git

I’ve been banging my head against a brick wall for a few hours now on this, so I thought I’d post this for the benefit of anybody else searching:

If you are using the wonderful Cocoapods in an iOS project you’re developing, and you make one of your Pods load directly from a Git repository (perhaps GitHub) then there’s a little gotcha to be aware of: if the Podspec includes :submodules => true in the source section then it is necessary to manually add that to your Podfile too.

In my case, I’m hacking on my own version of the Bypass-ios Pod, so I had tried adding this line to my Podfile:
pod 'Bypass', :git => "git@github.com:andygeers/bypass-ios.git"

However, that was missing a few files from a submodule, causing compile errors like this:
'element.h' file not found

It feels a bit cumbersome, but instead it is necessary to write the Podfile like this:
pod 'Bypass', :git => "git@github.com:andygeers/bypass-ios.git", :submodules => true

Announcement: Christian Developers & Designers Meetup

For a while I’ve been planning on organising a meetup for Christians in software / IT and graphic designers. If you’d be interested, join the mailing list and I’ll let you know as details firm up.

The basic idea is this: it’ll be a week night in early June, and not on a Wednesday. It’ll be in London somewhere at the Impact Hub Westminster.

Update: we now have a date, Monday 16th June, a venue, and a page on Eventbrite, so sign up there.

Who am I?

I’m a Christian software developer, behind the PrayerMate app. By day I work for Hubbub.co.uk. Also involved in organising is Rupert Edwards, CEO of Lepton, the Christian generosity app.

PrayerMate’s new onboarding process

I’ve been reading the fantastic User Onboarding website a lot lately, and it’s really got me thinking about the initial experience that PrayerMate users have. Anecdotal evidence suggests that people find it quite hard to get over that initial hump of adding all of their prayer points, and until you do, there’s very little to ever bring you back to the app. The result is that the number of active users has never grown nearly as quickly as the number of downloads.

With today’s update to the iOS app, hopefully that’s all about to change. There’s now an official “onboarding” process for new users:

Step 1: An explanation

For people who have already used paper prayer lists, the concept of PrayerMate is pretty self-explanatory. But if you’re completely new to the whole idea, it can be a bit hard to get your head around. So step one is simply to explain what on earth PrayerMate is for:

iOS Simulator Screen shot 7 Apr 2014 12.13.55

Steps 2 and 3: Creating some initial data

If you can get even a couple of your friends and family into the app, then immediately you’ll be a lot more engaged and find the app more useful. So I’ve added a couple of intro steps that encourage you to type in just a few names under two of the default categories:

iOS Simulator Screen shot 7 Apr 2014 12.14.12

There’s still plenty of room for improvement in the future here, but hopefully this’ll just take the edge off the first run experience and help people grasp the basic concepts of the app a little quicker.

Pray for the World With PrayerMate

Prayer is one aspect of the Christian life that very often leaves us feeling guilty. We know we don’t pray often enough, and we probably like like we don’t pray widely enough either.

Three years ago I set out to see what I could do to help in this important area. As a software developer, it’s perhaps not surprising that my thoughts turned to ways in which the new crop of mobile devices such as the iPhone & tablet devices could be employed to improve our prayer life. Hence the PrayerMate app was born. By God’s grace it’s come a long way since then, with a host of new features, being downloaded over 17,000 times, being named runner up in the Christian New Media Awards 2013, a successful Kickstarter campaign to fund development of the Android version, and now being sponsored by the Diocese of London as part of their “Pray for Seven” initiative, allowing the app to be offered free of charge to users. Most importantly, it seems to have really been a blessing to many in their desire to pray more – for which I give thanks to God!

An EPIC Android update

screenshot_feeds Today I am thrilled to announce the next step forward in PrayerMate’s mission to help people pray. Firstly, there’s a HUGE update to the Android version of the app, adding a whole range of features that were previously only available to iOS users. In particular, you can now subscribe to regular prayer updates from over 60 mission organisations and charities, including the likes of Open Doors UK and Australia, UCCF The Christian Unions, London City Mission, the Mothers’ Union, Pioneers, NZCMS, Crosslinks, FIEC, Church Society, Wycliffe Bible Translators UK and USA and many many more. The full list is available here. If you represent a church or charity and would like to see your prayer points added to PrayerMate, I’ve added a little guide here.

Other new features include the ability to archive prayer points you no longer want to pray for and better support for tablet devices. You can also attach any PDF prayer letters that you receive in your email inbox to your subjects, giving you that little extra help to know how to pray for people. Just “Share” your document with PrayerMate, and it’ll let you choose or create a subject to attach it to.

Operation World

operation_world But that wasn’t nearly enough – not wanting iOS users to feel left out, I’ve also got one brand new prayer feed on both platforms that I am bursting with excitement about: you can now get the Operation World country for the day through PrayerMate – completely free of charge! If you’ve not come across it, Operation World is a truly fantastic resource brimming with information on every country in the world and how to pray for it. The country of the day feed is a great way to help you pray for our world, which is something I’m sure we all want to be doing. In time I hope to add individual countries to the prayer gallery too, so that if you have a heart for a particular country you can access prayer points on that too, but that may take a little longer.

Truth be told, I won’t be totally happy until I’ve persuaded Banner of Truth to let me get some prayers from the Valley of Vision into PrayerMate, but one step at a time, right?! Of course, you could always sign the petition to lend a helping hand to my cause.

One more thing…

Oh, and one more thing… I’ve also quietly been working on adding syncing to the iOS version of the app, for those of you with multiple devices. It’s not quite ready for general release yet, but if you’d like to be a beta tester then get in touch and I’ll let you get a sneak preview.

Tell the world

I hope you enjoy these new features. Do tell all your friends to download the app (remember, it’s totally free thanks to the generous sponsorship of the Diocese of London!) and feel free to hit the “Send feedback” button inside the app any time you like if you have problems, questions or suggestions for how to make the app even better. If you’ve not joined the mailing list yet then that’s a great way to keep up to date with the latest news and tips – I tend to post no more than once a month.

Above all, keep praying.

Get it on Amazon Appstore Get it on Google Play app_store_badge

Get the world praying for your organisation with PrayerMate

PrayerMate Logo 1 Users of the free PrayerMate mobile app on iOS and Android can enter all of their personal prayer points for friends and family, but they can also subscribe to online feeds from over 100 mission organisations and churches.

If you represent a church or charity and want to get involved, there are three options:

Option 1: Sign up to the PrayerMate Publishing Platform

By far and away the best option that will give you the nicest user experience is to sign up for an account on the PrayerMate Publishing Platform. You can schedule prayer points one by one, upload a spreadsheet to do it in bulk, or use the super-clever “Quick import” feature to let you schedule prayer points by copying and pasting from an existing source like a weekly church bulletin or a PDF (video walkthrough here). It can even tweet your prayer points for you each day or post them to Facebook. Once you’ve created your prayer diary, you’ll then be given a private URL / QR code that you can use to subscribe in the app to preview your prayer points and check it’s set up exactly how you want it (look for the “Mobile app” link in the right sidebar of the site). Once you’re happy send me an email to ask to be added to the public feed gallery if you want – or you can keep your feed as a private one for members only.

Option 2: Use an existing iCal feed

If you are already publishing your prayer points in an existing Google Calendar or other system that can produce “iCal” feeds, then you might decide you don’t want the overhead of also maintaining them in a separate system. That’s no problem – iCal feeds can be integrated directly into the PrayerMate system with no additional ongoing admin required. When you’re in the mobile app, there’s a page where you can submit details of your organisation and request to be added to the prayer gallery – use this and simply send me a link to your iCal feed, a bit of blurb about your organisation and a logo image (ideally, a square one). It probably works best if they’re all-day events with a title. If you also use the notes field then please mention this when you get in touch. Please note that this option is only for EXISTING calendar feeds – please do not create one specifically for use in PrayerMate.

Option 3: Use an existing RSS feed

If you already have your prayer points in an RSS feed, the PrayerMate system can also use these, although it’s not as ideal as a calendar. Again, hit the button in the app to submit details of your feed, along with blurb about who you are, your website, etc. and a link to the feed. Please note that this option is only for EXISTING RSS feeds – please do not create one specifically for use in PrayerMate.

How much does it cost?

Now that PrayerMate is a free app for users to download, my main source of financial income to support the flourishing of PrayerMate is from organisations who are represented within the feed gallery. The PrayerMate publishing platform has packages to suit different kinds of organisations – with a £5 per month package for medium sized churches and a £20 per month package for larger organisations. There’s plenty of flexibility in this if the prices put you off, but the income helps make a better app which in turn hopefully leads to more people using it to pray. For the iCal / RSS route, still sign up to the PrayerMate.net site, but for now you’ll then have to email me separately to get set up.

Pray for Seven

Today I am pleased to announce a new PrayerMate sponsor, the Diocese of London. As part of their “Capital Vision 2020” programme, the Diocese is encouraging people to commit to praying regularly for seven people, for an opportunity to share the story of our faith. PrayerMate seemed like such a good fit as something that could help people in this that it seemed like a great opportunity.

Thanks to the Diocese’s sponsorship, PrayerMate will continue to be available free of charge until the end of June 2014.

fake_pray_for_seven

Reporting how many people performed a particular event in Google Analytics

Almost every website on the planet implements Google Analytics to help understand their traffic, and now a fair few mobile apps use it too. At its most basic it tracks the number of visitors/users and page views, but it can also be used to track specific “events” too, things like adding stuff to your basket or pressing a particular button, so that you can get a better understanding of how people are engaging with your product.

It turns out that there’s one incredibly important stat which (as far as I can tell) is ridiculously hard to get hold of: how many unique people performed a particular event?

“Unique Events”: What it is, and what it isn’t

When you look at an events report in Google Analytics, you see two headline stats: Total events and Unique events.
ga_events

The “Total events” is pretty obvious: the total number of times anybody has performed that event during the given time frame. The “unique events” however, is rather more confusing. As the help text explains, this is the number of unique sessions in which this event was performed. So if I log onto the website and add five products to my basket, that only counts as one unique event. If I come back tomorrow and add some more, that counts as a second “unique event”.

That confused me. For a long time I was labouring under the misunderstanding that it was the total number of users who had performed that event, so it always confused me that it came out higher than I was expecting.

Counting unique users

So if that’s not what “unique events” means, then how do I found out how many unique users have performed that event? As far as I can tell, the answer is depressingly complicated. The best way I’ve managed to find is to create a custom segment that segments the set of users based on whether or not they’ve performed that event. Then Google Analytics can tell me how many users are in my segment during the given timeframe.

Custom Segments

Custom segments are created by pressing the big down arrow button at the top of any given page. You can then create an advanced custom segment based on two conditions: the event action and (optionally) the event label (see picture above). This lets you create a segment based on having performed a particular action with the given label (if you want to see just people who have added one particular product, use the label, if you just want to see total people performing that event you can leave the label out). Then Google Analytics will tell you the number of people in that segment.

If you know of a quicker way to find out this information, I’d love to hear it!

If I had unlimited time…

Scarcity of time is one of God’s great inventions to make us get off our behinds and do something. Yet sometimes we wish it wasn’t so.

If I had unlimited time to work on PrayerMate, here’s some of the things I would do:

  • Spruce up the website to make it less cluttered and much more mobile friendly
  • Finish implementing syncing on the iOS version, and add it to the Android version too
  • Finish porting all of the features from the iOS version over to the Android version (I’m making good progress on this! Can’t wait to show off what I’ve done soon!!!)
  • Add support for private prayer feeds that aren’t publicised in the gallery
  • Create some kind of web based interface to manage your content
  • More tools for power users to import large amounts of prayer points (e.g. from CSV spreadsheets)
  • Make a better onboarding process to get new users up and running faster
  • Make an animated overview video to help introduce the core concepts of the app
  • Make a promo video for the Android version of the app to go on Google Play
  • Write some proper documentation for the PrayerMate Publishing Platform
  • Make a snazzy mobile-friendly landing page for the Publishing Platform to explain its benefits and how it works
  • Develop an analytics system so that content publishers can get regular reports on how people are actually using their content
  • Try to build some kind of way for users to visualise the “schedule” behind their upcoming prayer points, and manage their schedules more easily

Instead I must have patience and trust that God had a reason when he gave me the limited hours in the day that he has chosen to give me. If, however, any of you out there have skills and time that might be able to help out with some of those things, then I’m all ears – just hit the “Send feedback” button in side the app to drop me an email.

  • Do you have new-fangled HTML and web design skills and a good eye that you might be able to donate for a few hours?
  • Are you an experienced Android / iOS developer looking for a full-time/part-time gig for 3-6 months working on a Christian app?
  • Do you have pots of money to help fund an experienced Android or iOS developer working full-/part-time on a Christian app for 3-6 months with no guarantee of any financial return on your investment?

If any of the above fit you, drop me an email.

Adding cloud functionality to an Android app

It’s often said that Apple don’t do cloud services as well as Google, and one very clear example of this can be seen in the Android SDK. Right from API Version 1 Android has supported something called “Sync Adapters“. They’re a little convoluted to set up, but basically Android provides an abstract framework straight out of the box for adding any kind of background network sync behaviour you need to your app. It handles calling your sync task at suitable times, for optimum battery usage, and makes sure it all runs nicely in a background thread. All you need to do then is define the behaviour each time the sync is performed.

The step by step instructions here are pretty thorough in talking you through what you need to do. I got stuck at just a couple of points:

  1. Firstly, they provide incomplete code in step 3 for their CreateSyncAccount method. I had assumed that if addAccountExplicitly failed then that was a fatal error, so was returning a null account. In fact, you can ignore this error completely and still return the new account object you’ve created.
  2. In the final step, running your adapter, it would appear from what I’ve experienced and what I’m reading on StackOverflow that the documentation everywhere is completely lying to you, and you do in fact need to turn setSyncAutomatically ON even to use addPeriodicSync. What’s more, addPeriodicSync takes an interval in seconds not in milliseconds like the example code would suggest.
  3. Finally, the example code passes a null extras bundle to addPeriodicSync, but this will in fact cause an exception. So make sure you pass in a bundle, even if it’s completely empty.

Despite these initial hickups, Sync Adapters have given me a real headstart in adding online feed subscriptions to the Android version of PrayerMate, so consider me impressed.

Update: Big gotcha – setting the frequency

It’s worth being aware that if configured naively, your SyncAdapter could be run arbitrarily frequently, i.e. multiple times per minute, effectively constantly running in the background and draining the battery. You are therefore strongly advised to make sure your onPerformSync method sets the delayUntil property. Just be aware that the documentation on this is completely misleading – if you look at the source code to how the SyncManager works, delayUntil isn’t “the number of seconds to wait before running again” at all – it’s the absolute timestamp when it should next run. So don’t set syncResult.delayUntil = 60*10 to make it wait for ten minutes, instead set syncResult.delayUntil = (System.currentTimeMillis()/1000) + 60*10.

PrayerMate Amnesty Week: Day 5

This post is part of PrayerMate Amnesty Week. Yesterday we talked about how to download prayer content.

The idea that originally inspired me to develop the PrayerMate app was this paragraph from Don Carson’s “A Call to Spiritual Reformation” on how he prays for people:

“The rest of [my manilla folder] is filled with letters– prayer letters, personal letters, occasionally indepedent notes with someone’s name at the top. These are filed in alphabetical order. When a new letter comes in, I highlight any matters in it that ought to be the subject of prayer, and then file it in the appropriate place in the folder. The letter it replaces is pulled out at the same time, with the result that the prayer folder is always up to date. I try to set aside time to intercede with God on behalf of the people and situations represented by these letters, taking the one on the top, then the next one, and the next one, and so forth, putting the top ones, as I finish with them, on the bottom of the pile. Thus although the list of alphabetized, on any day a different letter of the alphabet confronts me.”

If you’re anything like me, you probably have an email inbox full of prayer letters that, on your better days, you read once, but which all too often never really go much further. Long gone are the days when I have a printer anywhere near my email inbox– I had the growing sense that the 21st century needed a digital equivalent to Don Carson’s manilla folder. Thus PrayerMate was born.

Today’s task: adding attachments

Today we’re going to look at two tasks to help you pray more fruitfully for your friends. Firstly, something that everybody can do: adding photos.

prayer_cardTap into a subject, and tap the pencil icon to put it into edit mode. If you then tap the circle that appears near the top of the card, you can then pick a photo that represents that person, choose your cropping circle by dragging around and pinching to zoom in and out, and finally hit “Done” when you’re ready. Next time you pray, that person’s face will pop up as a little reminder to help you think of them.

Next, let’s add a PDF attachment. There’s two ways to do this: the most likely route is via your email inbox. If anybody’s ever emailed you a PDF prayer letter, open it up in your email client, then when you tap on the attachment you should get the option to “Open with…” PrayerMate (if you’re on iOS) or if you’re on Android you should be able to find a way to “Share” it with PrayerMate. Track down the subject you want to attach it to, then it will be saved against that subject in the app. Now when you reach that item in your prayers, there’ll be a little “PDF” link which you can tap to open up the PDF full screen.

The other way you can get PDFs into PrayerMate is via the “Import from Dropbox” feature under the “Settings” menu. This will list all of the files in your “Apps/PrayerMate” Dropbox folder, including PDFs (as well as .txt files that you want to import as subjects).

Conclusion

Well that’s it for PrayerMate Amnesty Week. I hope you’ve found it helpful. Now it’s over to you to actually get on and use the app. You might find it helpful to set a reminder alarm under the “Advanced Settings” menu to help you make a habit, but ultimately there’s nothing it can do to overcome a sinful heart. Go well, and don’t forget to join the email newsletter if you haven’t already.

PrayerMate Amnesty Week: Day 4

This post is part of PrayerMate Amnesty Week. Yesterday we talked about how to actually get on and pray.

One of the things that can be a barrier to regular, faithful prayer for people is the feeling that our prayers are “stale”, that we’re just praying the same things over and over. One of the points that Don Carson makes in his wonderful book “A Call to Spiritual Reformation” is that this is one of the ways that praying Bible prayers for people can really help. Biblical prayers are often much bigger in scope than the things we sometimes ask God for – so instead of praying that their sick cat will get better, we pray that they might be rooted and established in Christ, and that they may truly grasp what is the height and breadth and depth of the love of God – huge, eternal prayers that there’s always room for growth in.

“Where shall we learn the will of God, the values of God, the character and purposes of God, the promises of God? We shall learn such things in the Scriptures he has graciously given us. But that means that when we pray, when we ask God for things, we must try to tie as many requests as possible to Scripture.”

Of course, it’s also helpful to pray some of those Biblical prayers into the specifics of people’s lives, and so it’s helpful to have some up-to-date prayer requests from people. Today we’re going to focus on three kinds of people that PrayerMate can help us pray for, and tomorrow we’ll focus on one final way it can help with praying for specific prayer requests.

Praying for mission organisations & churches

screenshot_feedsPrayerMate allows you to subscribe to regular prayer updates from all sorts of fantastic Christian organisations, including London City Mission, Open Doors, UCCF The Christian Unions & many more. There are also a growing number of local churches who publish their prayer diary through the PrayerMate.net website.

Praying for missionaries

As well as the subscriptions mentioned above, both versions of PrayerMate include a “prayer gallery” where you can do a one-off download of set prayers. OMF UK have very kindly donated a handy range of prayers to help you pray for missionaries. There’s a suggestion for each day of the week as well as some more general prayers. These can be used exactly as they are, or I suggest you customise them with the specific names and details of particular missionaries you’re supporting.

Husbands praying for their wives

Part of the responsibility of being husband is being faithful in prayer for your wife, the one nearest to you. In partnership with 10ofthose.com, you can download some sample prayers from the upcoming book “Water on the Word” by Andrew Case, designed to help husbands pray biblically for their wives.

Todays task: downloading some prayers

prayer_galleryIn the main “add” page (accessed by pressing the + button) you’ll find a section titled “Ready made content and organisations”. This is where you’ll get access to both the downloadable prayers and automatically updating “feeds”.

Let’s focus on the downloadable prayers today. Tap into the “World Mission & Bible Translation” category and then choose “OMF Missionary Prayer guide”. You can preview it first, then if you want to download it, tap the “Download prayer” action in the top right. This will begin the process of creating a new subject. Assign it to the list that makes most sense (perhaps “World Mission”). If you want, you could use the pencil icon on each card after you’ve downloaded them and replace Paul’s “I” with the name of your missionary friend.

Elsewhere in the Prayer Gallery you’ll also find some Bible prayers, or many suggested prayers for various family members.

Extra credit: subscribing to feeds

You might also find it helpful to subscribe to one or two feeds. Tap again to the “Add” page and find the “Ready made content and organisations” section. From here you can browse around various categories. One of the recent additions is the “Devotional” category, where you’ll find content from Scotty Smith’s “Heavenward” blog and Glen Scrivener. If you tap into a feed you’ll get further details, then you can tap the “Subscribe” action at the bottom. You’ll need to assign it to a list, then new content should start showing up automatically as it is published.

PrayerMate Amnesty Week: Day 3

This post is part of PrayerMate Amnesty Week. Yesterday we entered some people we want to pray for regularly.

Throughout PrayerMate Amnesty Week I’ve been referring to the book that first taught me how to pray, “A Call to Spiritual Reformation” by Don Carson. Carson begins the book with some fantastically practical wisdom on the business of getting on and praying. Among other things he says “Much praying is not done because we do not plan to pray.”

“What we actually do reflects our highest priorities. That means we can proclaim our commitment to prayer until the cows come home, but unless we actually pray, our actions disown our words.”

Cuts straight to the heart, doesn’t it? I often need this rebuke – after all, there’s no point being the developer of a prayer app if you don’t also get on and use it yourself!

He also says this, which is perhaps a helpful warning against dipping in and out of a prayer session too quickly:

Pray until you pray. That is Puritan advice. It does not simply mean that persistence should mark much of our praying– though admittedly that is a point the Scriptures repeatedly make.. What they meant is that Christians should pray long enough and honestly enough, at a single session, to get past the feeling of formalism and unreality that attends not a little praying.. “If we ‘pray until we pray,’ eventually we come to delight in God’s presence, to rest in his love, to cherish his will.”

Today’s task

OverviewToday’s task is both the easiest and the hardest – the easiest because there’s not much to it, the hardest because it’s where the spiritual battle rages in our heart. Today we’re going to get on and pray.

When you first open up PrayerMate, you should be presented with an “Overview” page, listing the subjects you’ll be praying for today. Swipe this to the left to reveal the first item, then it’s over to you to do the praying. After you’ve prayed for each topic, just carry on swiping to the left to reveal the next item. Each time you swipe past a subject, PrayerMate will mark it as “prayed”, so that next time you ask for a new set of cards it will give you something fresh to pray for instead.

Once you have prayed for your final card, you’ll get a few extra screens – a “blessing”, the feedback page (with links to leave a review of the app, or to send me an email) and the “new session” page. You should be taken to this final page each time you open the app now for the rest of the day. From here you have two choices: go back to the start to pray for the same subjects over again, or tap the praying hands to request a completely new set of cards.

new_session

Extra credit: Editing as you go

For bonus points, you can try adding details to one of your cards as you pray. When you are looking at a card that you want to add some notes on (e.g. specific prayer requests they’ve given you, or notes on answers to these prayers) press the pencil icon in the top right corner of the card. From here you can add notes or change the name of the subject. You can also tap the list name to move it to a different list, or you can tap the circle to add a photo. Each subject also has a cog button to access “Subject settings” where you can change the scheduling rules or priority (e.g. if you want to make it appear more or less often, or only on certain days of the week).

PrayerMate Amnesty Week: Day 2

This post is part of PrayerMate Amnesty Week. Yesterday we looked at using lists to help you pray

We all know that prayer is an important part of the Christian life, but what sorts of things are we actually supposed to pray for? Here are a few pointers that we find in the Bible:

  • Jesus gave his disciples the Lord’s prayer, telling his disciples to pray for God’s name to be honoured, for his will to be done, and for our daily needs of bread and forgiveness
  • One of the few really explicit things Jesus tells us to pray for is found in Matthew 9:38: he calls us to pray for God to raise up people who will take the gospel to the lost
  • In Colossians 4:3, Paul says “pray for us, for God to open a door for the word”. In other words, we’re to pray for the gospel to advance, and for ministers of the gospel to have opportunities to preach
  • Read Don Carson’s A Call to Spiritual Reformation too all of the ways in which Paul himself prays for the various believers he’s writing to – there are loads of these, and they’re all great models for us!
  • In 1 Timothy 2:1-2 Paul says “I urge that supplications, prayers, intercessions, and thanksgivings be made for all people, for kings and all who are in high positions, that we may lead a peaceful and quiet life, godly and dignified in every way” – not just for our leaders and those in authority, but for all people

Creating subjects in PrayerMate

Yesterday I talked you through setting up your lists in PrayerMate. But of course, they’re useless without some specific things to pray for in each of those lists. This can be a fairly time consuming process, but I recommend you start small with just a few items in each category, and you can always add more gradually over time. There are three main ways you can add subjects:

  1. Manually adding subjects: this is the ‘old-school’ way. From the front page of the app, tap the ‘+’ button at the top of the screen to access the new subject page. Enter the name of the person or topic you want to pray for, select the list, and if you want, pick a photo to go with it (we’ll cover this in more detail later in the week).
  2. Add from listEnter a list of names: this is a new addition to the app, but makes creating large numbers of subjects much quicker. You can access this through the ‘+’ button on the “Overview” page, but for variety lets go a different route. Tap the icon to access the “lists” page, then find the list you want to populate. Press the “+” button at the bottom of that list, and then choose the “Enter a list of names” option under “Quick add”. If you tap into this, you can then just type in a whole bunch of names, pressing the ‘return’ key in between each one so that they each appear on a separate line. When you press the ‘Done’ button in the top right, PrayerMate will then go away and create a new subject for each of those names, under the selected list.
  3. Create from address book: you can also create subjects by browsing through your address book and selected contacts who you want to turn into subjects. This has the added bonus that those subjects will be linked with those contacts so that you can text them as you pray, and it will also pull in any photos associated with those contacts automatically. The option to create contacts from your address book will be next to the ‘enter a list of names’ option.

Today’s task

Pick a couple of your most important lists, and try to come up with seven subjects in each of those categories. As a suggestion: enter the names of seven people from your church, and seven friends or family members.

If you don’t need some of the default subjects that get created automatically for you, you can always delete them. When looking at the list, do a long press-and-hold on the subject you want to delete and choose “Delete subject”.

PrayerMate Amnesty Week: Day 1

Many people find it helpful to have a bit of structure in their prayer life, as a way to help ensure they’re praying over a wide range of topics and people, and maintaining a helpful balance in what they give their attention to. One very popular prayer scheme is ACTS:

  • Adoration: the ACTS scheme begins by focussing the mind on God with a time of ‘adoration’ or worship. Praising God for who he is and what he has done for us in Christ.
  • Confession: next it is right that we spend a bit of time acknowledging the ways in which we’ve failed to live with Jesus as Lord in our life, and asking for God’s forgiveness.
  • Thanksgiving: there is much to be thankful for in the Christian life – not least of all the forgiveness which our confession makes us mindful of. There’s also something very healthy about making it a regular part of our prayer times to bring to mind all of the other little ways in which God has answered our prayers and blessed us abundantly.
  • Supplication: only after we have worked through our prayers of adoration, confession and thanksgiving to we finally turn to ‘supplication’ – bringing our requests before God. Putting this at the end can help guard against the ‘shopping list’ mentality of just coming to God with our list of wants and expecting him to grant them like some kind of genie in a bottle.

Another very popular prayer scheme along the same lines is STOP: Sorry, Thank you, Others, Please, which similarly puts God first and ourselves and our requests last. Even the Lord’s Prayer itself can be used as a very helpful structure for guiding our prayers.

Of course, within some of those overarching headings you can further break it down. Ever since reading Don Carson’s “A Call to Spiritual Reformation” as a student, I’ve always used lists to help me with my intercessory prayer – the “Supplication” or “Others” bits of those schemes I’ve mentioned. Don Carson writes this:

It is difficult to pray faithfully for a large spread of people and concerns without developing prayer lists that help you remember them.

I’ve tended to find it helpful to have a few lists which help me pray for a spread of issues:

  • Close friends and family – these are the people I want to be praying for every day, the people who are part and parcel of who I am as an individual
  • My church and small group – part of being part of the body of Christ is praying regularly for those in my local church, and especially within my small group, for whom I have an extra responsibility of care.
  • My evangelism – we know that it is the Lord’s work to open the blind eyes of those who don’t yet know him, and so I am called to pray regularly for opportunities to share my faith, and for the particular people that I rub shoulders with regularly that God might have mercy on them. If I don’t make a point of praying regularly for this, then I should hardly find it surprising if I don’t see God at work!
  • Wider society – the Bible calls us to pray regularly for our politicians and those in authority over us, as well as for the lost in our world.

PrayerMate is a mobile app designed to give a helping hand, particularly in this area of intercessory prayer. Lists like the ones above are at the core of its design, so that each time you fire it up it gives you a selection of items from across all of your lists. For instance, for me this morning it suggested a devotional prayer (perhaps part of the “Adoration” section of the ACTS scheme), a prayer for my wife, for my oldest son, a couple from my small group, a Christian software developer who I meet up with from time to time, an aspect of the life of my church and today’s prayer point from the UCCF Christian Unions prayer diary. That’s seven items from seven different lists – just about at the limits of what my little brain is able to cope with!

Today’s task

default_categories_screenshotIf you’re somebody who would find this kind of structure helpful to you in your prayers, then you might find the PrayerMate app helpful. It comes preinstalled with some suggested lists, and of course you could leave them as they are and you’d get on just fine. But I strongly suggest that you tweak them so that they make sense for you and your particular context. Step one, then, is to decide what lists you want to use.

Some general guidelines

If there are particular people or causes that you want to be praying for every day, PrayerMate tends to work best if you give each of these topics their own list, just for them. That way, you can make sure that list appears every day, and you also have the flexibility of creating more than one subject in each list to help you pray for a spread of concerns for each person. For example, you could have a “My job” list, with subjects for “Evangelism”, “The people I manage”, “Working as to the Lord”, etc. – and you’d be prompted to pray for a different one of those each day. The flip side of this is that if you have too many lists, you’ll probably find yourself being overwhelmed with things to pray for each day. After about seven or eight prayer points my mind starts to feel a bit swamped, so although I have lists for my wife and my son, after that I then just use fairly broad lists for all of the other friends I want to be praying regularly for.

How to manage your lists

To manage your lists, press the “lists” icon (in the top right hand corner of the app on Android, or a tab at the bottom on iOS), where you’ll see all of the default lists. You can add new ones easily enough (you might also want to use the button in the top right of the first “My lists” column to change the list order by dragging your new lists higher up in the order). You could also rename existing default lists to reappropriate them – to do this just tap the cog button in the top corner of that list to access “List settings” and then edit using the ‘name’ field. To delete a list, again press the list’s cog button and choose “Delete list”.

Each list has a setting to choose whether you want to “always pray for this list” – and if so, how many items you want from that list. For example, you might just want one prayer point from your small group, but then two or three from your other “friends” list. Used sparingly, this is handy for those really important people in your life.

PrayerMate Amnesty Week

Why do Christians bother to pray?

It’s a good question to be asking at the start of Lent, a time traditionally set aside for contemplation and prayer. For many of us, prayer is something we know that we ought to be doing as Christians, but it can be surprisingly difficult to motivate ourselves to get on and do it. So why should we bother?

At the heart of the Bible’s answer to that question is the fundamental relationship that we enjoy with God. For the Christian is someone who has been adopted – by rights we are far from God and deserve absolutely nothing from him, but by his lavish grace, through Jesus, not because of anything we’ve done, we can be called God’s own children. What a remarkable truth that is – if only we would really grasp it!

As God’s children, it’s only natural that we should want to talk to our heavenly father. Prayer, then, is an expression of our complete dependence on him, our helplessness to do things by our own strength. No wonder, then, that straight after giving his disciples that most famous of prayers, the “Lord’s Prayer”, Jesus turns to this relationship we enjoy with God to motivate them to pray:

“What father among you, if his son asks for a fish, will instead of a fish give him a serpent; or if he asks for an egg, will give him a scorpion? If you then, who are evil, know how to give good gifts to your children, how much more will the heavenly Father give the Holy Spirit to those who ask him!” (Luke 11:11-13)

If you then, who are evil, will give your children good things when they ask for them, how much more will our gracious God! Of course God will be gracious to us if we ask him – it’s in his very nature. He’s hardly going to be less generous than a human father is towards his children!

That’s the motivation that Jesus gives for his exhortation to pray:

“And I tell you, ask, and it will be given to you; seek, and you will find; knock, and it will be opened to you. For everyone who asks receives, and the one who seeks finds, and to the one who knocks it will be opened.”

Ask, because you know that God wants to give it to you. It’s not saying that absolutely everything I ask for will be given immediately in exactly the way I was hoping for – this isn’t a promise for the gift of a new laptop just because I fancy one. The specific example that Jesus gives here is “the heavenly Father will give the Holy Spirit to those who ask him” – so this is in the context of God-centred prayer that is described to us in the Lord’s Prayer itself, praying for his kingdom to come and his will to be done. But we shouldn’t let that diminish the force of this promise – God will answer our prayers, if only we’ll get on and pray!

A little extra help

Even given this wonderful encouragement to pray, there are still many distractions and temptations in the world. Personally, I find I need all the help I can get, so that’s why I built the PrayerMate mobile app, now on iOS and Android. This Lent, I am going to be running a series of blog posts under the title of PrayerMate Amnesty Week. I know that getting going with PrayerMate takes a bit of an investment of time, and I’m hearing from a lot of people that they have downloaded the app and are full of good intentions, but just haven’t quite got around to setting it up yet. PrayerMate Amnesty Week is an opportunity to put that right. Starting from Monday 10th March, I’ll be posting a new blog post each day, with a bit of encouragement to pray, along with some practical tips on getting going with the app. At the end of each post I’ll give you some homework to go away and do by yourself with the app.

PrayerMate Amnesty Week Posts:

Android Compatibility: a Primer for iOS Developers

I’ve been developing iOS apps since the end of 2010, so have only ever seen the world of Android from a distance. Where I’m from, you hear a lot of talk about the problem of fragmentation on Android. Whereas the adoption stats for new versions of iOS are pretty impressive (apparently iOS7 hit 33% iOS market share in just 24 hours, and 58% after one week) the situation on Android looks very different, with the second most popular Android version remaining Gingerbread, released in 2010.

With my iOS hat on, when PrayerMate launched on Android earlier this year, I assumed it would be far too much hassle for one independent developer working in his spare time to take on this fragmentation issue, so I decided to support only Honeycomb upwards – a major OS update which introduced some significant new changes to the core Android UI.

But what they don’t tell you over in iOS developer world is that the Android ecosystem provides some pretty impressive tools to make supporting older Android versions really easy. Let me give you a quick overview of just three reasons why adding support for older phones isn’t nearly as hard as you might imagine:

1. Compatibility-aware compiler

When you set up your Android project (I use Eclipse) you specify the minimum version your app supports. Out of the box, the compiler knows exactly which API level each feature was introduced at, and will throw a compiler error if you try to use functions that are too modern for the versions you claim to support. If you use conditional statements to alter behaviour by Android version, then you can use attributes in your code to say what API level a given function is designed to run against, to disable these compiler errors on just those bits of code. It also warns about deprecated APIs so that you can use more modern alternatives where appropriate.

This makes the situation so much easier than the native state-of-affairs on iOS. It wouldn’t surprise me if there was some way to figure out how to make XCode throw such compatibility errors, but out of the box you get no warning whatsoever if you use functions introduced in an iOS version later than the minimum one you hope to support, and the only way to discover this is through thorough testing and waiting for the crashes to happen (which needless to say is not very scalable!)

2. Compatibility support libraries

Another seriously impressive feature of the Android SDK is the compatibility support libraries. In many situations, where a new API has been introduced, the SDK then goes and adds an alternative implementation that conforms to the same method signatures but which ports the new functionality back so that it also works on older OS versions. This avoids the need to have lots and lots of conditional branches running separate codepaths on separate Android versions, and instead means you can just write one lot of code that works everywhere.

3. ActionBarSherlock

Ok, so this one isn’t native to the Android SDK (although a very similar library is) but there’s a great open source project out there called ActionBarSherlock which lets you add the “action bar” UI paradigm introduced in Honeycomb even when running on older Android versions. It requires a minimal amount of setup, and works almost identically to the real action bar. So, again, rather than having to invent two separate user interfaces depending on the Android version, you can have the same functionality running everywhere.

Conclusion

In conclusion, the Android fragmentation problem doesn’t seem nearly so scary to me as it once did. I managed to get PrayerMate to support Android versions all the way back to Froyo (v2.2) in a single (pretty relaxed) weekend, and because of support from the compiler I can be pretty confident of not having missed anything.

PrayerMate on older Android phones

144x144 I know that every time I release a new update to PrayerMate, I always say it’s the most exciting version ever. But today’s update to PrayerMate for Android makes me really extra excited!

New downloadable “Prayer gallery”

Firstly, it adds the downloadable prayer gallery that iOS users received earlier in the week. It’s very small for now, but it includes a small selection of Bible prayers (including the traditional form of the Lord’s Prayer that many of you have asked for) and some tips from OMF UK on how to pray for missionaries. You can download the prayers into PrayerMate, and then feel free to customise them, e.g. by inserting the personal names of your particular friends.

It also includes some extracts from a forthcoming book published by 10ofthose called “Water on the Word” by Andrew Case, designed to help husbands pray biblically for their wives. If you find these helpful, let me know, and I can add more to the gallery.

Support for older Android versions

Several of you expressed disappointment that PrayerMate wasn’t able to run on your particular phone, because it only supported the newer Android versions. I’m pleased to announce that as of today, it will now run on Android versions back to Froyo (v2.2.0). If you’re running a version of Android older than that then may I politely suggest that it’s really time you treated yourself to a new phone. I can’t necessarily promise that absolutely every feature will work perfectly, but the basics are all there and I can always release incremental fixes over time if you report specific problems to me.

Improved Dropbox support

As well as a little bug fix that was preventing Dropbox imports from updating your card details, you can now also import individual text files from your Dropbox folder. Add a “.txt” file to your “Apps/PrayerMate” Dropbox folder, fill it with the contents of your prayer, and you can then load that in as a subject.

Enter a list of names

One of the biggest factors that stops people getting started with PrayerMate is the challenge of actually setting up your prayer points. The new “create from list” feature aims to make this a little easier, by allowing you to enter a whole list of names, and PrayerMate will go away and create a subject for each one.

Download it today

If you’ve not got PrayerMate for Android already, you can download it on Google Play or on the Amazon App Store.

PrayerMate iOS v3.3.0

PrayerMate Logo 1Today there is a small yet important new update to PrayerMate for iOS. It addresses three very long-standing feature requests:

  1. It includes a new “prayer gallery” of downloadable content. This is very small and simple at the moment, but I can add it to gradually over time without requiring further app updates. It includes some links to various Bible prayers that you can copy and paste, and I’ll be sure to add many more over the coming weeks and months. If you have any prayers that you would like to share with other PrayerMate users, do hit the “Get in touch” button inside the app.
  2. Multiple reminder alarms. Where previously you could only have one reminder per day, you can now add as many as you like through the day. If you decide you don’t want one any more, just swipe that row to the left to delete.
  3. You must now explicitly ask for a new set of cards to pray for on any given day. If you like to pray for same things all day long, now you can! Once you’ve prayed, your cards will stay the same until the following day. If you prefer to pray for new things every time, there’s a button you can press to ask for a new set of cards.

The update also includes some other minor updates:

  • You can now create a bunch of subjects by entering a simple list of names
  • Subject ordering should now be respected properly in prayer mode
  • The date that you last contacted somebody is now tracked, so you know how long it’s been
  • New “Help” gallery, which will be gradually expanded over time

P.S. Bonus points if you spot the glaring typo in this update. I’ll try to fix it soon!

New PrayerMate for Android Features!

PrayerMate Logo 1Today I’m pleased to announce the release of the first big update to PrayerMate for Android. It has a bunch of the new features you asked for:

  • You can now attach photos of people to their cards, as a little prompt to help you pray!
  • You can now backup your prayer database to Dropbox, and import it back again. This should be completely compatible with the iOS version as well, allowing you to transfer your data between devices. (Note: if you have any trouble re-importing, do get in touch by hitting the ‘send feedback’ button inside the app)
  • Subjects can now be scheduled by date, by day of the week or by day of the month, in addition to the “default” scheduling mode.
  • I’ve added an explicit button to ask for a new set of cards on any given day, so you can choose whether to keep praying the same stuff or for new things each time.
  • It’s now possible to choose to install the app to an SD card rather than directly to your phone, if you’re running out of space.

There’s also plenty of bug fixes:

  • The reminder alarm is now properly fixed for all users – apologies for any inconvenience caused by this malfunctioning for some of you
  • The app now better tracks your state and how far you had got through praying
  • Some subjects that had got “stuck” should now be back in circulation
  • Fixed a few crashes whilst managing your data

Let me know how you get on – you can email me through the app, or follow @PrayerMateApp on Twitter, and PrayerMate is on Facebook too. Do leave a review on Google Play if you enjoy it!

How an ancient story from the Old Testament still affects software development today

Want to make a computer programmer groan? Just ask them to explain “unicode” to you and watch what happens, as all of the joy drains out of their face in an instant.

It turns out that an ancient story from one of the very earliest chapters of the Old Testament still casts a shadow over software development in the 21st Century. Which story? The account of the Tower of Babel and God’s subsequent judgement on the world – a judgement which still makes itself felt these many thousands of years later.

In the days of Noah, God recognised that the intentions of man’s heart was “only evil all the time”, and so he made a fresh start of the world, beginning again with just Noah and his family. Yet the human capacity for evil was undiminished, and it’s not long before we see the human race trying to exert their independence from God: “Come, let us build ourselves a city and a tower with its top in the heavens, and let us make a name for ourselves, lest we be dispersed over the face of the whole earth.”

In one of those verses that proves what a sense of humour God has, we read that whilst they were busy trying to build the tallest tower imaginable, reaching to the very heavens, God still found it necessary to “come down” to get a closer look at the city and the tower, which the children of man had built.

“And the Lord said, ‘Behold, they are one people, and they have all one language, and this is only the beginning of what they will do. And nothing that they propose to do will now be impossible for them.'”

It was a period of unprecedented harmony for the human race, but how did they choose to use that spirit of co-operation? To rebel against God and try to throw off his shackles, making a name for themselves. Even then, God loved us too much to leave us to this rebellion, and so he proposed a judgement fitting the crime:

“‘Come, let us go down and there confuse their language, so that they may not understand one another’s speech.’ So the Lord dispersed them from there over the face of all the earth, and they left off building the city. Therefore its name was called Babel, because there the Lord confused the language of all the earth.”

Whilst their great intention was to prevent themselves being dispersed across the face of the earth, God did the very thing that they were afraid of and caused them to divide and spread out across the earth. He muddled their languages so that the unity they had previously enjoyed was destroyed, and in its place there was misunderstanding and gobbledegook.

And that, my friends, is why software developers today still have problems making their programs handle foreign characters properly. It’s not simply that computers can’t agree on what language to speak – in many ways, English is the common tongue of most software. It’s that even when there IS agreement on the language, computers can’t even decide quite how to represent that language. As Joel on Software explains in his excellent little introduction to Unicode:

“In Unicode, a letter maps to something called a code point which is still just a theoretical concept. How that code point is represented in memory or on disk is a whole nuther story.”

apostrophe
The humble apostrophe causes no end of problems in even otherwise very straightforward English documents, if you use the curly kind rather than the straight line variety, since depending on the character encoding you use to save your document its codepoint could be presented in all manner of different ways: ISO-8859-1, UTF-8, UTF-16, big-endian, little-endian, blah blah blah. When you start getting in to languages with lots of accented characters like French, or even whole different alphabets such as Chinese, then it starts to get completely unmanageable unless you understand what you’re doing. And even when you understand what you’re doing, chances are you’re having to interact with libraries and services which DON’T understand what they’re doing, or which decide to handle things in an ever so slightly different manner.

So God’s curse on the sinful intentions of our hearts is still making itself felt even today. It can add all sorts of overhead when trying to get software based on different platforms to talk to each other. We’ve come a long long way from where we were a few years ago, but even so it can still cause much banging-ones-head-against-a-wall.

And so we cry, “Come, Lord Jesus!”

Letting people subscribe to your prayer diary by email

People have been asking for this for a while, so I’m pleased to announce that if you have set up a prayer diary on the PrayerMate.net site, then it is now possible to allow people to subscribe to your content by email if you sign up for a service such as MailChimp (which I love, by the way!)

1. Create a campaign

Step one is to log in to MailChimp and create yourself an “RSS-Driven Campaign”

RSS Driven Campaign

2. Enter feed URL

You’ll need to provide a feed URL:

RSS Campaign URL

You can get that URL by clicking the “Subscribe by email” link in the right sidebar on your prayer diary:

Subscribe by email sidebar

3. Configure email template

Next you’ll want to set up your email template. MailChimp allows you to use some special code in your template to embed the contents of the feed in your email – if you’re using a different email service then you’ll need to figure out what the relevant code is for that service (I’m afraid I can’t help you with this). Try copying and pasting this into your template:


*|RSSITEMS:|*
*|RSSITEM:DATE:l j F Y|*
*|RSSITEM:CONTENT_FULL|*

*|END:RSSITEMS|*

4. Create a signup form

Then all there is to it is to publicise your mailing list and let people subscribe. MailChimp also provides tools to let you create a mini signup form:

Signup forms

When given the choice, choose “General forms”, and then you can easily set up a form to let people join your list.

5. Go!

Then just enable your campaign and watch it go!

Handling Character Sets in the Dropbox API for Android

This all feels slightly ridiculous, but getting iOS apps and Android apps to talk to each other via Dropbox is complicated considerably by the issue of Unicode and Character Sets. For anybody who hadn’t realised – computer science is plagued by the effects of the fall, and the legacy of the Tower of Babel is keenly felt. Computers simply can’t agree on how to talk to each other, they can’t even agree on how to speak French – some computers representing characters in a character encoding like UTF8 that uses one byte per letter unless more are needed, and others encoding in UTF16 that uses two bytes per letter unless more are needed.

It would appear that the iOS Dropbox API is saving files out in UTF16 (at least in my app!) whereas Java (and therefore the Android Dropbox API) naturally reads things in UTF8, causing problems!

It feels like total overkill, but in the end I discovered this handy little Java library that can guess what character encoding has been used for a given string: juniversalchardet

PrayerMate Stash

After the Kickstarter campaign to bring PrayerMate to Android, I have a few items of PrayerMate branded clothing spare. If you would like to offer your support to the PrayerMate cause, here’s what’s on offer:

Medium T-Shirts x3 – £15
Medium Hoodies x2 – £22
Large Hoodies x2 – £25

It’ll be first come first served, and you can haggle with me over how much postage and packaging you pay. Drop me an email here.

photo

Online Reviews, Jesus Style

What Would Jesus Do when it comes to leaving online reviews on the App Store or Google Play? What does the Bible have to teach us about how to review apps in an Internet age? It turns out, quite a bit!

I think the clearest bit of teaching on the subject comes from Matthew 18:15-17:

“If your brother sins against you, go and tell him his fault, between you and him alone. If he listens to you, you have gained your brother. But if he does not listen, take one or two others along with you, that every charge may be established by the evidence of two or three witnesses. If he refuses to listen to them, tell it to the church. And if he refuses to listen even to the church, let him be to you as a Gentile and a tax collector.”

Ok, so I’m stretching it a little. But notice that in disputes (particularly between believers) Jesus describes a clear process of escalation:

  1. Start by telling the person who has offended you in private. This is just good manners. It’s easy to take offence at someone, but there’s a good chance that they weren’t acting maliciously or with evil intent – and raising the matter privately avoids unnecessarily trashing their reputation and giving them a chance to repent.
  2. If that fails, bring in a couple of others. Sometimes our hearts are stubborn, and it takes a little social pressure to make us see the situation clearly. This still allows for the situation to be dealt with privately and without airing the dirty laundry in public, but helps show the seriousness of what’s going on.
  3. Finally, if and only if there is still unrepentance, get the whole church family involved. If even the whole body of Christ can’t help this person see what’s wrong, then there’s something really wrong.

So how would Jesus review? Here’s what I reckon:

  1. He’d begin by raising any issues privately with the developer. If it’s a bug in an app, then the best way to help the developer fix it is to get in touch and give helpful background such as your operating system version and the exact steps you went through. A 1-star app review isn’t the right place to report bugs.
  2. If reporting the issue fails to produce any response, he’d probably try to discover if it’s a widespread issue, to help the developer see the seriousness of the issue. Maybe he’d tweet or post on Facebook – “anybody else had this issue?” Most app developers are super busy with all sorts of competing priorities, and bugs that are affecting several people are much more likely to get attention than one-offs that are hard to reproduce.
  3. If the bugs persisted, then he might politely warn others in a review. Sometimes in good conscience you want to leave a negative review of a product, to warn others not to waste their money on something that doesn’t work. But you can still be polite about it! “I wanted to love this product, great concept, but sadly, after long conversations, the developer was unable to resolve some serious flaws”

Some examples of a really bad review:

  • 1 star – no explanation. Not even an “I hated it!”. This serves nobody – the developer has no idea how to improve her product, and other potential customers can’t tell whether they’ll hate it too for the same reasons. I’d suggest that this is pretty lazy.
  • 1 star – “the app crashed on launch, sort it out, waster!”. If this was the only review left on an app, this might be within the realms of the useful to other potential customers, but (apart from being pretty rude!) it’s very unlikely to actually help you get the app fixed, since the developer has no information to go on. If it’s the only such review amongst hundreds of very positive reviews, then it’s not even all that useful to other users since it’s probably a fairly specific issue that relates to your particular setup (as an aside, I might gently request that if you’re running a beta version of iOS then you should please refrain from leaving reviews about app crashes)

There are some cases where a negative review is appropriate, but I think one should always aim to be courteous, and remember that the person at the other end is a real human being who probably works hard and isn’t deliberately setting out to create rubbish apps:

  • Make a clear distinction between the app in general and specific updates / issues. Every app has its catastrophic update that goes disastrously wrong. This is inevitable from time to time. But I’ve also seen excellent reviews in such situations, along the lines of “This is one of my favourite apps but this particular version has serious issues”

What do you think? How do you think Jesus would review apps?

WorshipGOD UK 2014 Conference with Bob Kauflin

Have you heard about WorshipGOD UK, a new national worship conference that is taking place in the UK hosted by Bob Kauflin and Sovereign Grace Music?

The conference will be held on 5th-8th March 2014, at The Forum, in Bath and host by Bob Kauflin and Sovereign Grace Music. It’s a 3-day event on the theme of “Called to be Faithful” – the idea being that as pastors, leaders, worshippers, musicians and singers, we are not called to be famous or successful, or to put a primary emphasis on being creative, cool or impressive, but faithful. “We will explore what it means to be faithful to receive God’s grace, be faithful to proclaim his Word and gospel, be faithful to serve our local church with the gifts God has given us, be faithful to grow in musical skill, be faithful to prepare people for suffering and death.”

Sounds like a really good thing to me, and an event that I hope will be a real blessing to the church.

The conference will have loads of main sessions and seminars that promise to be “packed with both theological truth and practical instruction”. Speakers include Bob Kauflin and some Sovereign Grace guys (Craig Cabaniss and Jeff Purswell), as well as Mike Reeves, Tim Chester, and Donald Whitney, so it ought to be fantastic. Worship leaders and musicians will include folks from Sovereign Grace Churches in the UK and USA, as well as guests including Stuart Townend and Nathan & Lou Fellingham, and others.

All the details for the conference are on the website. There’s a full list of speakers, seminars, schedule, lodging info and costs. You can follow them on Twitter (@WorshipGODUK) or on facebook.