How to manage what you pray for in PrayerMate v5

In case you missed the news yesterday, there is now an all-new version of PrayerMate. Judging by the emails in my inbox, this update has caused a great deal of confusion and anxiety amongst many of you, and I hope that this post will help clear some of that up. I would also like to apologise if the changes have come as something of a surprise, and for not communicating better how to deal with the changes in advance.

Here are some brief notes about the new scheduling and how to deal with it:

1. Firstly, the new scheduler centres around a single total number of items that you wish to pray for, and then selects cards roughly in order of priority until it meets that quota. This is what the new +/- buttons on the first “Coming up” slide are about – it defaults to five but for many of you you will be used to seeing more, and should just press the + button until you are back to a number that suits you.

2. The caveat to point 1 is that it does also try to balance things between your various lists (formerly known as categories), so by default it should only ever pick one card from each list until it has run out of lists, at which point it will circle round once again.

3. For those who want more control, you can explicitly tell PrayerMate how many items you want from any given list, and it will then prioritise those lists before filling up the rest of its quota from elsewhere. Tap on to the new “Lists” page using the button (at the top on iOS and at the bottom on Android) go to the list you want to manage (either by selecting from the “List index” or by swiping sideways) and then press the “cog”/ settings button on that list and choose “List settings”. There you can tick “Manually set items per session” and drag the slider. For example, I have this set to “1” on my “Biblical prayers” list to make sure that I always start my prayer session by focussing on God, and I have one item from lists for my wife and for my children, but then I leave PrayerMate to decide how to fill up the rest of my daily quota from all of my remaining lists (of which I have many).

4. I’m hoping to add an explicit “pray for this every time” setting very soon (a somewhat obvious feature that PrayerMate has never had, because before this update it was too hard to figure out all the complicated interactions with per-category limits / the global limit / etc). In the mean time, as demonstrated in point 3, I suggest moving that subject to a list all by itself and manually setting the items per session on that list to “1”.

5. It should still be respecting any “day of the week” or other advanced scheduling that you have set up previously. You can access these by pressing the “cog”/settings button on any of your subjects. If things are appearing on days that you do not expect then that sounds like a bug and you should hit “Send feedback” inside the app. If things are *not* appearing on days when you *do* expect them to then try pressing the “+” button to ask for more subjects in your session – and if that doesn’t fix it then it also sounds like a bug and you should hit “Send feedback”.

6. Finally, can I share an email that really encouraged me, that gives you a feel for the motivations behind these changes? This lady said “I did not use the app before because it was so hard to use, but since this update it is much better!” I cannot deny that this recent update requires something of a transition, and *especially* from users who have invested time to setting it all up and who have discovered some of these “power-user” settings such as the per-category item limits. Sadly, for every one of them, there are probably dozens more who never even discovered that those settings existed, but the mere fact that they *did* exist created complexity and confusion for them. I definitely accept that I could and should have communicated better in advance about these changes, but I want you to know that the time and energy you are having to invest to adapt to these changes is an act of service to the wider body of believers.

If you’re not already signed up to the PrayerMate newsletter, do hit the button inside the app to do so. That’s the best way to be kept abreast of any important changes or PrayerMate news.

Many thanks for your support and for all of you who have been passionate enough to email me!

Keep praying,
Andy Geers
PrayerMate Developer

Announcing the all-new PrayerMate v5

The first version of the PrayerMate app was built almost five years ago, when I set out to create something to help people pray more faithfully. Since the Code for the Kingdom Hackathon weekend back at the start of October, I’ve been working on totally overhauling it to try to make it easier to understand and use. It’s been a long journey, but I’m delighted to announce that it is finally ready!

New layout

Simulator Screen Shot 10 Jan 2016 20.27.08 The app has a new layout, with each of the main functions occupying its own tab. I’ve also changed how you edit cards, to make the process much more visual: now you can press the edit button on any card to change the name or description, add a photo or PDF attachment, or move it to a different list.

Many thanks to Nick Muncey for his fantastic new design.

Managing your lists

Simulator Screen Shot 10 Jan 2016 20.28.44 Categories have now been renamed to lists. The new lists page lets you see all of your subjects on one page (on a tablet this is even more useful). You can create new lists, or add subjects to your existing lists.

New scheduler

The way that PrayerMate decides what you should pray for each time has been completely rewritten. Instead of having lots of per-category settings, there is now just one global setting for how many items you want to pray for in total – press “+” to ask for more, or “-” to ask for fewer. For those of you who want a bit more control, you can still go in to the settings for a particular list and manually set the number of subjects you want to see from that list each time.
Update: I’ve written a detailed migration guide here about how the new scheduler works

Take Words With You prayer builder

Some of you may have previously tried the TWWY prayer builder with mixed results. This has been simplified, to focus on just the two core steps: praying scripture promises, and praying scripture prayers. Once you have chosen a Bible verse from each section, PrayerMate will then add the results to your existing card, rather than replacing (as it used to).
Please note that sadly there is a little bug in the iOS version, and no “Select” button appears after you first tap into a Bible verse. Swipe right then left again to make it appear.

Dark mode

dark_prayer Lots of people have expressed an interest in a “dark mode” for when praying at night, and I’m pleased to say that this is now available under the “Settings” page (along with a few other colour themes).

Become a PrayerMate Patron

Finally, let me mention one last new feature: the option to become a PrayerMate Patron (iOS and Google Play only). PrayerMate has always developed more slowly than I would have liked, and this is mostly because it’s just me working on PrayerMate in my spare time, with a bit of help from some outsourcers. I’d love for a developer to be able to work on the app full time, and by becoming a Patron, you can help make this happen.

Over to you!

Anyway, I hope you enjoy the changes, and please feel free to hit the “Send feedback” button inside the app at any time. There’s bound to be a few bugs and teething trouble (big shout out to all my amazing beta testers for their help finding plenty so far!) so do let me know if you find any.

You can download the PrayerMate app for free on iOS, Android and Amazon Kindle Fire.

Prayers by Peter Adam

The Gospel Coalition Australia has very kindly given permission for some daily prayers by Peter Adam (recently published on their blog) to be made available through the PrayerMate app.

In Peter Adam’s own words:

“These are prayers which enlarge and enrich my praying, and which I need to pray every day…
You may not need to pray these particular prayers, but these prayers may encourage you to write the prayers you need to pray, if you find this practice helpful.

This is not a superior way to pray: it is currently a useful aid to my prayers.”

You can find them under the “Personal Godliness” prayer gallery, or you can try using this direct link if you have the app installed.

XCode 7 freezing whilst tooltips appear over project navigator

I’ve been having an extremely frustrating experience developing PrayerMate within XCode 7 recently, where the whole editor would just freeze for 30 seconds at a time. It seemed to work fine as long as I stayed within one file, but as soon as I needed to switch to another file, I’d have to wait again. Sometimes I’d see tooltips flash up over various filenames in my project navigator, ones that perhaps the mouse had glanced over half a minute earlier.

Clearly this is a bug in XCode (and an infuriating one at that!) but the workaround was remarkably simple and fixed the problem completely: make the project navigator pane ever so slightly wider, until none of your longer filenames get truncated with “…”.

PrayerMate is the People’s Choice!

I’m absolutely thrilled that last night PrayerMate won the Premier Digital “People’s Choice” Award. Of all the categories it could have been shortlisted for and ultimately went on to win, I think the People’s Choice couldn’t have been more fitting, since at the end of the day it’s PrayerMate’s wonderful community of users who, under God, are really the cause of its success – and of course who I make the app for! Thank you all so much for your support (and your votes!) and keep those feature requests and bug reports and general feedback coming!

It’s been a big year for PrayerMate, passing the 100,000 download mark, raising over £9,000 through a crowdfunding campaign, beginning the process of being translated into other languages, and now winning this award, but at its heart it remains a little app to help you pray, and my prayer is that this award simply means that it can reach, and thus help, a wider audience.

PremDAC15_1

PremDAC15_0

PrecDAC15_3

800 Christian developers and designers in one global hackathon

hackathon

This past weekend, 800 or so Christian developers, designers, entrepreneurs and technology fans gathered in 13 separate cities around the world for the Code for the Kingdom global hackathon.

Here in London we had about 120 or so folks gathered, and 18 separate projects – both ones aimed at helping Christians in their walk with God, and ones aimed at serving the wider world:

  • Flee! – a low-touch accountability app that pings you appropriate Bible verses when it spots you typing inappropriate web URLs
  • My refuge – “AirBnB for refugees”
  • Let’s pray for… – a prototype for a fantastic social prayer app, that I really hope comes to life soon!
  • Homely – a service to help people give financial aid to homeless people
  • B40 – helping teens pray intensively for breakthrough over 40 days
  • Adventure – an evangelistic Christmas treasure hunt
  • Tearfund Disaster Response – a practical tool to help responses to emergency situations
  • Peri – find the Christians that live and work nearby
  • Biybl – “Bible In Your Best Language”, a simple tool to help international visitors to your church follow the Bible readings
  • SeedBox – Digital Asset Management for church sermon videos / audio etc
  • LazyWorship – automatically display the correct verse/chorus on your projector as the software identifies the audio
  • Good News – a place to champion the good things that happen
  • Mentorship – a place for younger Christians to find people to mentor them, and vice versa
  • Where’s the meaning? – helping businesses avoid ambiguity in communication
  • Power of prayer – a simple SMS based service to help people pray
  • Worship helper – a quick way for band members to communicate key signature, tempo, etc
  • Verse of the day – Microsoft Band app to give you a verse each day
  • PrayerMate – simplifying and overhauling my prayer app

It was a brilliantly encouraging weekend, so fantastic to see people collaborating together to build genuinely useful things. The food was great, the fellowship was great, the projects were great.

Here’s a video that Dan Rackham put together to give you a flavour of our London event:

Bring on Code for the Kingdom 2016!

Countin’

Have you ever had that thing where you’re taking tea and coffee orders after a Bible study, and before you know it you’re running out of fingers trying to keep tabs of decaf coffee and peppermint tea and normal coffee and water and… well, it’s hard work, isn’t it?

I’d like to commend you a beautifully simple little iOS app that’s available for free on iPhone: Countin’. It gives you a grid of customisable counters that simply count up or down as you tap them. Simple!

It’s by a young man called Matthew Spear who I had the privilege of hanging out with at the Code for the Kingdom hackathon last weekend, and I know he’d be really chuffed if a few people downloaded it (and if you were feeling really generous you’d send a couple of quid his way by hitting the In-App Purchase – unlocking various colour options and feel-good vibes!)

countin

Get Countin’ here.

Developers and designers serving God with their gifts

“Whatever you do, whether in word or code, do it all in the name of the Lord Jesus, giving thanks to God the Father through him” (Colossians 3:17, sort of)

When I was working on my Bible-teaching computer game, this was the verse I used to put at the top of all of my source code files. Obviously I’m playing a bit fast and loose with the translation, but I think the intent is valid. All of us as Christians have been entrusted with certain gifts that God calls us to use in his service. For some of us that’s making a really good cup of tea to encourage the congregation on a Sunday morning and to make fellowship possible. For others it’s the remarkable gift of administration – that incredible ability to make things happen, that sounds really boring on paper but which those of us who lack it are immensely thankful for. For yet others its a deep understanding of electrical hardware like amplifiers and microphones and the ability to make sure that the speaker is loud enough but that the band is not too loud. Whatever our gifts, God calls us to use them to the glory of Christ. And not just in church – we can serve God with those gifts by enthusiastically serving others in the workplace too, or in our communities. The important thing is that we use those gifts, with the glory of God in mind.

For some gifts it’s easier than others to see how they can be used for explicitly Christian ends. Software development is one which sometimes seems harder. In our culture, software developers are like wizards. They have an incredible ability to make magic happen – to conjure up reality from mere ideas with the power of language. They have a “secret knowledge” beyond the understanding of outsiders that has a tendency to inspire awe. To a fault, many software developers know that they have the power to change the world – sometimes more so that is actually the case (sorry Facebook – you’re not going to bring about world peace, however many billion users you manage to sign up). But yet we often lack confidence that this is true when it comes to the growth of God’s kingdom and the spread of the gospel.

For many many organisations, which includes Christian ones such as charities and church plants just as much as for dot com startups and internet delivery businesses, the single most limiting factor is the technology resource – having the right person or people in place to design and develop something that can make a spark of an idea into a living and breathing product (or even just to support admin staff struggling with a too-simplistic database). If only Christians with gifts as developers and designers appreciated how precious their gifts could be in God’s service, I think we’d see some pretty incredible things happen. Last autumn I had the privilege of meeting Gerald Hinson who gave up a successful job at Microsoft to follow God’s call and build David vs Goliath, an incredibly fun and engaging retelling of the classic Bible story for iOS and Android. I found his story really inspiring – he’d never done anything like it before, but he saw a need, saw how God had given him the talents and the connections and the passion to make it possible, and he made it happen, despite all the challenges and an awful lot of hard work along the way.

From the 2nd-4th October this year, I’ll be participating in a “Christian hackathon” in London organised as part of a global Code for the Kingdom weekend. The big prayer is to get together a hundred or so developers, designers and tech entrepreneurs to dream big dreams, meet like-minded people and hopefully give birth to a diverse bunch of projects geared at meeting various needs of the church and the world for the glory of God. It’s a pretty big risk that the organising team and the sponsors are taking on – they’ve hired an incredible venue (the Impact Hub Westminster) and there’s no guarantees – but they trust in a big God and they know that he loves it when people desire to serve him with their gifts. So will you join us? And will you help spread the word and tell people and cajole people and pester people until they sign up? Early bird prices are only available for another few days until 31st August – but even then they’re not expensive for what you get.

“From everyone who has been given much, much will be demanded; and from the one who has been entrusted with much, much more will be asked” (Luke 12:48)
How will you use your gifts?

PrayerMate Video Project

prayermate_helps_me
Considering it started as a simple Easter holiday project for somebody who had never made an app before, it blows my mind that by God’s grace PrayerMate is very soon to celebrate its 100,000th download! I’m always so thankful to hear of people’s testimonies of how God has used the app to help them in their prayer life, and so I thought it might be a fitting way to celebrate this milestone by trying to get as many people as possible to record a super-short video finishing the sentence “PrayerMate helps me…”

Are you in?

Guidelines

  • The shorter the better – absolute maximum is 20 seconds I think
  • Landscape is preferable to portrait
  • Your video must begin “PrayerMate helps me…” – though you can try to be as creative as you like with the rest!
  • Please keep it family friendly!
  • You can have as many or as few people in the video as you like
  • Submissions can be made however you like – upload it to YouTube and Tweet the link to @PrayerMateApp, email me a link to something in your Google Drive to info@prayermate.net, or any other means you can think of!
  • If you’re willing, I’ll be adding a subtitle “Firstname, City/Country”, so it would help if you could tell me that information when you submit your video
  • The deadline for submissions is 1st September

Update: Here’s the finished product!

PrayerMate v4: Syncing, Take Words With You and more

Today I am pleased to announce the release of PrayerMate v4 for both iOS and Android, a substantial new update. Here’s an overview of the new features.

Automatic syncing via Dropbox

feature_syncThis release is the culmination of almost two years of work implementing automatic syncing between devices via the Dropbox Datastore. If you have, for example, an Android phone and an iPad, you can now keep all of your PrayerMate up-to-date between the two. Even if you’ve only got the one device, you might find this a convenient way to keep your data automatically backed up in the cloud so that you can access it again should you lose or update your device.

To enable syncing, tap the cog button in the app, go to the “Advanced settings” menu, and switch on the “Sync with Dropbox” setting. You’ll be given the choice of “merging devices” or “wiping local data” – this lets you say whether you want to keep the data on your current device or not (sometimes when you sync two devices, you want to treat the other device as the “master” copy, and throw away the data on the current device – other times you want to combine the data that’s on both of them).

Visual prayer galleries

The downloadable prayer gallery (accessible by pressing the cog button then “Download prayers”) has been upgraded so that when a choice of prayers is available you can now swipe left and right between the different options, before hitting the “Download” button in the top right. It makes it much easier to find and choose the prayers that suit you.

Praying scriptural prayers

The Psalms: new “Praying the Bible” feeds

The latest version of PrayerMate contains two exiting new features to help you pray scriptural prayers. The first is two new feeds based on Don Whitney’s new book “Praying the Bible“, published by Crossway, both of which help you pray some of the Psalms each day. The first feed gives you five Psalms every day, so that over the course of a month you will have prayed through the entire Psalter. Recognising that this is probably a bit much for most people, there’s a reduced version of the feed that gives you just one Psalm each day, so that you will pray through them all every five months.

“Take Words With You”

iOS Simulator Screen Shot 28 Jul 2015 21.58.52 The second extremely exciting new feature is the integration of the brand new 5th edition of Tim Kerr’s excellent manual for intercession, “Take Words With You“. Take Words With You is an amazing body of work, collecting together 2,500 Bible verses into categories, to help use them in prayer to God. The fifth edition contains a five step method to help use the scriptures in all of our prayers – and this forms the basis of a new “prayer builder” tool in PrayerMate.

Now whenever you are editing a subject in the app, you can hit the “Take Words With You” button to help you decide how to pray. Select a verse for each of the five steps (confess sin, praise God, pray the promises, pray scripture prayers, pray faith affirmations) and PrayerMate will then combine the results together for you.

Here’s a little walkthrough video:

Category images

You can now assign a default photo to each category, which will apply to all subjects in that category unless you explicitly override them. This also has the nice benefit that the default categories that PrayerMate gives you when it is first installed can have some images, to give the app a bit more colour:

default_categories

Premier Digital Awards

If you live in the UK, would you consider nominating PrayerMate for the Premier Digital Awards? The nomination form is here, the category you probably want is “Christian Mobile/Tablet App of the Year”

About PrayerMate: PrayerMate is a free app on iOS and Android designed to help you pray more faithfully and more widely. More details can be found here.

Hubbub is hiring!

Fancy a year’s free bacon?

Hubbub.co.uk is growing – and we’re on the look out for front-end and back-end developers. Not only is it a fantastic place to work doing great work, but we’re also offering a year’s worth of free bacon to anybody who we successfully hire – or who recommends somebody to us who we go on to hire. So even if you’re not a developer yourself, it’s worth thinking if you know anybody who is.

All the details, including instructions on how to apply, can be found on our Developer website.

My blog got hacked

Just before going on holiday a couple of weeks ago, I got a little email in my inbox that indicated my blog had been hacked (a “you just reset your password” warning). A quick look around the FTP server soon confirmed this.

By God’s grace I spotted it almost immediately and was able to lock the intruder out and get things back to a vague semblance of normality. Today is the first day that I’ve got things to the point where I can actually post new blog posts. Maybe one day I’ll even get around to customising the theme from the default one (if you’ve been wondering why the appearance changed, this is why).

Let this be a lesson to you: always keep your WordPress installation fully up-to-date. It may be a hassle (and these days it’s not even that much hassle!) but it’s a lot MORE hassle to have to reinstall from scratch.

A Setback to PrayerMate Sync

One of my favourite emails I have ever received about PrayerMate was from somebody who said “how have you managed to stop my PrayerMate data on my iPhone syncing with my iPad, and please can you turn this off so that they start syncing?” In the modern age it’s taken for granted that your data will sync via the cloud, but the truth is that for apps that aren’t web-based (where all your data is stored on a central server to start with), data syncing is one of the hardest features to implement – how I wish that it was as simple as “turning off” some extra code that I’d written to stop it happening!

I’ve been slowly working on adding sync to the iOS version of PrayerMate for almost two years now. It’s the kind of work that is only really possible given a decent chunk of time – ideally an entire day or more – and given that I work on PrayerMate in my spare time alongside a full-time job to support my family, these are quite rare and hard to come by. Even when you do make some good progress, it’s often then a few weeks before any issues in your code get discovered, and then you have to wait for another whole-day unit of time before you can investigate and fix said issues. So perhaps you can begin to understand why progress has been so slow!

After a long couple of years, I was all set to hit the big red button and release PrayerMate sync to the public (on both iOS and Android – thanks to last autumn’s crowdfunder that allowed Dave Bignell to work full-time on adding the equivalent feature to the Android app for a good couple of months). And then the email arrived from Dropbox: they’ve decided to discontinue the particular service I’m using due to lack of developer uptake (I partly blame myself, since I’ve been meaning to blog about it and help spread the word but was waiting until I publicly launched before doing so!)

Needless to say, this is a real blow. Not only does it affect the iOS and Android versions of PrayerMate, but it was also integral to the web-based desktop client that was about to go into private beta in the next few weeks.

Dropbox will continue operating their Datastore service for another year until April 2016, so the current plan is that I will still go live as planned, but then work must quickly commence rewriting everything – either built on top of Dropbox’s standard file-based service, or using another option such as Google Drive, or something more in-house (my least favourite option). Whatever the decision, this is extremely demoralising since I was really hoping to be rid of this burden and move on to more interesting features – and instead I face the prospect of yet another year working on the same problem.

I know that God is sovereign, however – and he was not taken by surprise by this issue (nor particularly was I, to be honest). But do pray for wisdom to know how to proceed! (and the determination to see this through to the end)

Perhaps now would be a good time to consider making a donation to the PrayerMate coffers? I’d love to outsource the solution to this problem if I could.

Edit: I’m collating alternatives to the Dropbox Datastore here

Publishing a Private Feed through PrayerMate

PrayerMate has long given churches and Christian organisations the option to publish prayer content that users of the app could then subscribe to. But until recently, the only choice available to those organisations was to make their feed publicly accessible through the “feed gallery”, meaning that anybody in the world could access your content and giving you no control over who could see the things that you published. This has typically worked well for Christian charities who already publicly publish a prayer calendar, but in general churches have been a bit more cautious about broadcasting the specific details of people and activities within their church to an unknown global audience.

Introducing PrayerMate Private Feeds

Since the end of December, PrayerMate now supports private feeds. Each prayer diary published through the PrayerMate Publishing Platform is given a unique (and hard-to-guess) URL and a corresponding QR code. Even if they’re not included in the public feed gallery, you can share that URL or QR code with whoever you want to, and they just open it up in their browser, or scan the QR code using the new button at the bottom of the feed gallery page in the app, and it will grant that person access to your feed.

As an example, here’s how you would subscribe to the Open Doors USA feed: http://prayermate.s3.amazonaws.com/1/f177274cde2d7063e38e03d24bed2f3769c0.html

What it is not: a “secure” feed

I refer to these as “private” feeds rather than “secure” feeds for good reason – that URL is all that’s required to access your prayer content, and ultimately as much as you can request that people don’t pass it on, you still don’t really know whose hands it has fallen in to. There’s no support at present for password-protected feeds or feeds that require specific approval from an administrator before people can access the content. For this reason, you are still advised not to publish content of an extremely sensitive nature, or which might put a missionary’s life or ministry at risk (or anonymise/generalise it where required).

Prayer feed short URLs

Although I originally developed this functionality to create hard-to-access prayer feeds, I quickly realised that it also made existing public feeds earier to access. Upon request, I can now create you a nice “praynow4″ short URL to let people access your feed quickly and easily – a great way to publicise your feed on social media or on your website.

As an example, you can find the Operation World “Country of the Day” feed at http://praynow4.org/OW.

If you want me to create a short URL for your organisation, just drop me an email using the button inside the app.

Adding Coach Marks to an iOS App with DDCoachMarks

For years I’ve wanted to have an in-app tutorial in my PrayerMate app that would use what are known in the UX business as “coachmarks” – a kind of guided tour of the basic functionality of the app whenever it is first installed. Prompted by a colleague, I finally decided to give it a go recently, and settled on using Darin Doria’s DDCoachMarks library for iOS (I also had to implement this on Android using a different library). Here’s the results:

I had to make a few little tweaks to the library so that it would handle long captions in its bubbles and so on. That left two main challenges: handling rotations, and handling scrolling.

Handling rotations

If a user rotates their device half way through a tutorial, DDCoachmarks kind of freaks out. This is understandable, since we’ve defined all of our bubbles in screen co-ordinates, and those co-ordinates completely change when a device rotates. I solved it by making my DDCoachMarksViewDelegate monitor for device orientation change events. Just before my [coachMarksView start] call I added this:


// Start listening for rotation events
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange:) name:UIDeviceOrientationDidChangeNotification object:nil];

[coachMarksView start];

Then I handle those events like so:

- (void)deviceOrientationDidChange:(NSNotification *)notification {

//Obtaining the current device orientation
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

//Ignoring specific orientations
if (orientation == UIDeviceOrientationFaceUp || orientation == UIDeviceOrientationFaceDown || orientation == UIDeviceOrientationUnknown) {
return;
}

// We need to allow a slight pause before running handler to make sure rotation has been processed by the view hierarchy
[self performSelectorOnMainThread:@selector(handleDeviceOrientationChange:) withObject:self.currentCoachMarksView waitUntilDone:NO];
}

- (void)handleDeviceOrientationChange:(DDCoachMarksView*)coachMarksView {

// Begin the whole coach marks process again from the beginning, rebuilding the coachmarks with updated co-ordinates
coachMarksView.coachMarks = [self coachMarksAfterRotation:coachMarksView];
[coachMarksView start];
}

Of course you also then need to stop listening for rotation events after the coachmarks are finished:

- (void)coachMarksViewWillCleanup:(DDCoachMarksView *)coachMarksView {
// Stop listening for orientation changes
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
}

Handling scrolling

The bigger headache was that some of my coach marks were related to UI elements that were off the bottom of the screen, requiring me to scroll to bring them into view.

To handle this, I have a delegate callback each time a new coachmark is shown:


- (void)coachMarksView:(DDCoachMarksView*)coachMarksView willNavigateToIndex:(NSUInteger)index {
// This is app-specific code to look up the UIScrollView that's currently being looked at
UIScrollView* scrollView = [self.rootViewController currentScrollView];
if (scrollView == nil) {
// No scrolling possible
return;
}

// Look up the details of the coach mark that's about to be displayed
NSDictionary* coachMark = [coachMarksView.coachMarks objectAtIndex:index];

// I added some extra info to my coachmarks dictionary to indicate which coachmarks might require scrolling
if ([coachMark objectForKey:@"scrollView"] == nil) {
// No scrolling required - so always scroll back up to the top
[scrollView setContentOffset:CGPointZero animated:YES];
return;
}

CGRect markRect = [[coachMark objectForKey:@"rect"] CGRectValue];

// Modify coachmarks according to scroll offset
CGRect modifiedRect = CGRectMake(markRect.origin.x, markRect.origin.y - scrollView.contentOffset.y, markRect.size.width, markRect.size.height);

// See if the coachmark is offscreen or not
if (!CGRectContainsRect([self visibleRectForCoachMarks:coachMarksView], modifiedRect)) {
if (scrollView != nil) {
// Scroll until it's in view //
///////////////////////////////
// Convert from screen co-ordinates into the co-ordinate system of the UIScrollView
CGRect markInScrollView = [self.rootViewController.view convertRect:markRect fromView:self.rootViewController.navigationController.view];
markInScrollView = [scrollView convertRect:markInScrollView fromView:self.rootViewController.view];

// Record the current scroll position
CGPoint originalOffset = scrollView.contentOffset;

// Then scroll without animation to work out how far we need to scroll
[scrollView scrollRectToVisible:markInScrollView animated:NO];

// Modify coachmarks rectangle by scrollView offset
markRect.origin.y -= scrollView.contentOffset.y;
markRect.origin.x -= scrollView.contentOffset.x;

// Update the coachmarks array
NSMutableArray *newCoachmarks = [coachMarksView.coachMarks mutableCopy];
NSMutableDictionary* mutable = [coachMark mutableCopy];
[mutable setObject:[NSValue valueWithCGRect:markRect] forKey:@"rect"];

[newCoachmarks setObject:mutable atIndexedSubscript:index];
coachMarksView.coachMarks = newCoachmarks;

// Now put the UIScrollView back where it started and ANIMATE it into position - this is just so that it looks nicer
scrollView.contentOffset = originalOffset;
[scrollView scrollRectToVisible:markInScrollView animated:YES];
}
}
}

Conclusion

And there we have it! Beautiful coachmarks and a user who knows exactly how your app works as though you were right there next to them explaining it all.

Many thanks to Darin Doria for his hard work on this handy little iOS library.

Announcing PrayerMate for Android v3

Thanks to last autumn’s crowdfunding campaign, I had the privilege of being able to hire a developer to work full time on PrayerMate for Android for a couple of months. Dave’s main focus was on implementing automatic syncing (more news on that in a couple of weeks) but along the way he was also able to add a whole load of features from the iOS app that were missing from Android. I’ve also done a bunch of work myself, and outsourced yet more to some developers in Eastern Europe. The result is PrayerMate for Android v3, which I’m delighted to announce is now live on Google Play. Here’s just a few of the new features it includes:

1. Address Book Integration

One of the hardest parts of getting going with PrayerMate has always been getting your initial list of friends set up. There’s now a handy way of adding friends directly from your address book. When you hit the “+” button, you’ll get a new option “Create from address book”:

android_v3_quick_add

This will then pull up a list of your contacts. Select the ones you want to create subjects from, and it will then create a new entry for each one.

Related to this is the ability to send messages to people as you pray for them. When praying for somebody, press and hold on the card for the context menu, and hit the “Send message” option. You then get to choose whether to email or to send a text message:

android_v3_send_message

If you created somebody using the “Create from address book” option then their email / mobile number will be prefilled. I hope soon to be able to add the option to retrospectively link an existing subject to an address book entry, but I haven’t had the chance yet because of all the other features I’ve been working on!

2. New category options

If you’ve ever used PrayerMate to pray for your small group Bible study, you’ve probably wished there was an easy way to email people’s prayer requests out to your group. Now you can – when viewing a category, tap the “…” button in the top right and you’ll see two new options: “Pray through this category” and “Email these subjects”:

android_v3_category_options

3. Selectively export categories

When exporting to Dropbox, you can now selectively export just certain categories. This gives you an easier way to share prayer points with others – as long as they’re in their own category, you can export them to Dropbox which can then be easily imported by others. Just hit the “Export to Dropbox” option under Advanced Settings and you can choose which categories you want to export (the default is still to export them all):

android_v3_export_cats

4. Region-specific feed galleries

When you open up the feed gallery, users in the UK, United States, Canada and Australia should now see a customised list of featured feeds that is more geographically relevant:

android_v3_feed_gallery

5. Recently prayed list

Tap the cog button and you’ll now see a “Recently prayed” option to be able to find subjects that you’ve prayed for recently:

android_v3_recently_prayed

6. New subject order options

When you tap into a category’s settings menu, hit “Change subject order” and as well as being able to manually reorder subjects, you’ll now also get options to sort them alphabetically, randomise the order, or turn on the new “auto-shuffle feature”. Sometimes people find that always praying for people in exactly the same order gets a bit repetitive. Turn on “auto-shuffle” on a particular category, and every time you’ve prayed through all the subjects in that category it will randomise the order for the next time you pray.

android_v3_sort_subjects

Other changes

Other recent changes you may have missed is the concept of “private feeds” – churches or organisations who sign up at http://www.prayermate.net/publishers can now publish feeds that don’t have to be publicly advertised in the feed gallery. You’ll be given both a private URL and a QR code that you can share with your supporters, and they can use either one to subscribe.

You might also notice slightly more dynamic content appearing in prayer feeds, as they now support links and embedded images.

PrayerMate is a free app on iOS and Android to help you pray regularly and faithfully. As well as all of your personal prayer points for friends and family, you can also subscribe to regular updates from over 100 different Christian charities and churches, as well as downloading suggested prayers from the gallery.

Will you pray for the London Student Mission next week?

mission_logo It may be a very long time since you were a student, or you may well never have been a student at all. But regardless of what stage of life you’re at, I invite you to partner with the Christian students of London who next week are putting on a city-wide mission week, from 26th-30th January 2015. There will be central events happening every evening at All Soul’s Langham Place, as well as specific lunchtime talks at several campuses around the city.

Being a student is such a fantastic time to reach your mates with the gospel of Jesus Christ – people are often more receptive to considering new ideas as students than they are at any other time in their life. And if you can reach London students with the gospel, then you’ll reach the entire world – London universities are full of people from every corner of the globe, including many closed countries where it’s much harder to proclaim the gospel. So whether you’re 18 or 81 please be praying for these young Christians next week as they seek to proclaim Jesus.

I’ve put together a special PrayerMate feed just for this one week: sign up at http://praynow4.org/londonmission. It’s easiest if you subscribe to it in a category all of its own so that it’ll come up every time you pray during the week. When people pray, God answers – and we would love to see the name of God glorified as a result of all that happens next week!

PIN Protection in PrayerMate for Android

When recording prayer needs in an app like PrayerMate, the things you want to pray for are often somewhat sensitive in nature. That’s why PrayerMate for iOS has long had a PIN protection feature, and many of you have been asking me to add this to the Android version as well. Today I’m pleased to announce that PrayerMate on both platforms now has the same password entry feature – you’ll find it under the Advanced Settings menu. Create a four digit numeric PIN, and nobody will be able to access your prayer points without first entering the code.

PIN_Android_screenshot

Many thanks to Dave Bignell who did most of the hard work for this feature shortly before last month’s Crowdfunding campaign. Since then he’s been working full time implementing automatic syncing to the Android app, and has been making fantastic progress. Look forward to further news on this in the new year.

New downloadable content from Ligonier in the PrayerMate gallery

The goal of the PrayerMate app has always been to help people pray more widely and more faithfully for the things that matter to them. Today I’m pleased to announce some new downloadable prayers in the PrayerMate prayer gallery for two important aspects of church life: 5 ways to pray for your pastor and 5 ways to pray for your church family.

iOS Simulator Screen Shot 8 Dec 2014 21.08.30

To access this content within the free PrayerMate app, press the cog button and scroll down to the “Download prayers” option under the “Extra prayer content” section. You’ll find the new Ligonier content under the “Praying for your church” section. Hit the “Download all” button and choose which of your categories you wish to download into – perhaps “My church”. You’ll then be given one prayer each time you start a new session.

Announcing prayer newsletters for PrayerMate Publishers

Today I’m pleased to announce a long-overdue feature on the PrayerMate Publishing Platform ideal for smaller publishers: prayer newsletters.

Until now, the PrayerMate Publishing Platform has only formally supported prayer calendars – a particular prayer point scheduled for each day, and subscribers only pray for that item if they open the app on that specific day. With prayer newsletters you can schedule new content as and when it’s available, and subscribers will see that same content until new content is scheduled. This is ideal for smaller organisations or individuals, if you don’t have enough content to schedule something unique for every single day.

Just like with all PrayerMate prayer diaries, you can then submit your prayer newsletter to the PrayerMate feed gallery and people can then easily subscribe to all of your updates on their mobile device through the free PrayerMate app.

Creating a prayer newsletter

After logging in to the PrayerMate Publishing Platform, you can create a new prayer newsletter by pressing “Create prayer diary”:

01 Prayer diaries

You will then be asked to select the style of your prayer diary – choose “newsletter”:

02 Create prayer newsletter

Note: if you have an existing prayer diary connected to a feed, open it up and click “Edit settings” in the right sidebar to change the style of your prayer diary

Scheduling content

When viewing your prayer newsletter, you can schedule content at the top. If you leave the date blank then it will just schedule it to appear immediately:

03 Schedule prayer point

Note that prayer points will replace anything published on an earlier date. You can have multiple items scheduled on the same date, but otherwise content will stay live only until the date of the next prayer point. This means that you can schedule content in advance that will become live only when that date comes around.

Creating a fixed pool of prayer points

If your prayer needs are fairly fixed and you don’t need to reguarly publish new prayer points, you can also use prayer newsletters to create a fixed “pool” of prayer points that just rotates every time people pray for you. For example, you could schedule ten prayer points all on the same day, then the first time somebody prays for you they’ll see the first prayer point, the next time they pray they’ll see the second and so on (though this does depend slightly upon the exact settings they have in their app and the number of “items per session” they enabled).

Archiving content

Once you publish a prayer point, it will stay live indefinitely until there is some new content to replace it. Occasionally this is not the behaviour you want, and you just want to “archive” a prayer point without replacing it with something new. When viewing your newsletter, you’ll see an “Archive selected” button to do exactly this:

04 Pool of prayer points

More info

I hope this new feature proves useful in getting more people praying for you. If you ever have any questions or feedback, do drop me an email – you should have got an email from me when you first signed up with my address.

PrayerMate iOS Stuck Cards Bug

Update: this bug should now be resolved in the latest app update

Some users are reporting an issue with the latest PrayerMate for iOS 3.7.1 where they are seeing the same cards every day, even after they reset. Whilst Apple reviews an update to resolve this, in the mean time the way to work around it is to swipe all the way to the very last screen and press the “praying hands” button for a new set of cards:

praying_hands_page

Problems like this are extremely frustrating all round, and I’m really sorry that this didn’t get picked up in my own testing. A change was made to resolve another problem that people were experiencing, and it introduced this new bug in its place.

Congratulations Righteous Tales!

On Saturday I was at the Christian New Media Awards to cheer on the guys behind David vs Goliath: A Righteous Tale – and I’m so thrilled that they won “Christian App of the Year 2014“!!!

It was a real honour to meet these guys and get to grill them:
RighteousTales

Their game is seriously good, and they deserve this recognition. The only way they’re going to be able to continue making more games like this is if people download, play and pay for this one. What are you waiting for? (if the answer is “an Android version” then hold tight – Gerald assures me he’s hard at work on a port)

Download David vs Goliath this instant!

Attaching PDFs using the iOS8 Document Picker

Unfortunately, iOS8 broke a lot of things in PrayerMate when it was first released – and thankfully a new app update went live today that will hopefully resolve the last of these. However, it’s not all bad news – iOS8 also makes some really cool new things possible. I haven’t had a chance to capitalise on all of these yet, but I just wanted to highlight one new feature that went live with today’s release that should make your life easier – and that’s the ability to attach PDFs to a prayer subject using the new Document Picker.

When editing one of your subjects, press the “Attachment” button:

2014-10-30 13.07.53

iOS will then give you the option of choosing a source to pull a document from. You should see your iCloud document store here, and if you have the Dropbox app installed, you can make that appear as a source too:

2014-10-30 13.08.02

You can then navigate to the file you want to attach. Please note that PrayerMate only supports PDF attachments, whereas for now, iOS will show you all kinds of files (as soon as I figure out how to fix this, I will!)

2014-10-30 13.08.26

It will then download and attach this PDF to your subject:

2014-10-30 13.08.31

Next time you’re praying for this subject, you should then see an orange “PDF” link at the top right:

2014-10-30 13.08.40

This will then open up the PDF that you have attached:

2014-10-30 13.08.44

PrayerMate is an app designed to help you pray more faithfully and more widely. It is currently doing a crowdfunding campaign to build the next stage – please consider donating £30 at http://support.prayermate.net/

Temporary workaround for iOS 8 iPad PDF bug [Fixed]

Several of you have reported that PDFs seem to open inconsistently on iPads under iOS8. I’ve now tracked down the root cause of this issue, but it’ll be getting on for a couple of weeks before Apple approves my fix.

In the mean time, there is a simple workaround for this issue: make sure your iPad is always in portrait orientation before opening the PDF file, and then switch back to landscape after it has opened if you so wish.

Apologies for the inconvenience, but hopefully this will be enough to get you praying in the mean time whilst a proper update is released.

Update: A fix for this is now live in the App Store – update PrayerMate to resolve this issue

Supporters needed to take PrayerMate to the next phase

Update: JUST A FEW DAYS LEFT!!! Please give now – however much or how little

People don’t always realise that I work on PrayerMate in my spare time along side a full time job. For the most part this just about works, but when it comes to implementing big headline features, this just isn’t possible in the little free time I have. Right now I have a window of opportunity to build two very exciting new features that people are constantly asking me for:

  1. Universal sync: whether you have an iOS device or an Android device, you want all of your devices to talk to each other. Even if you’ve only got one device, you want the reassurance of knowing that your data is safely backed up in the cloud without you having to remember to do this manually each time.
  2. A web-based client: typing on a small screen can be fiddly, so people have often expressed an interest in some kind of desktop client that lets them manage their prayer points on a full-size screen and keyboard.

A friend of mine who is an experienced software developer has an opening in his schedule over the next couple of months. There’s a chance that some of you might even have used software that he has helped build in the past (especially if you’re musical) Best of all, he’s worked on some of the existing features for PrayerMate for Android, so he’s already familiar with the codebase. However, he needs to be able to put food on his table. I’ve also got links with some Ukrainian software developers who have come very highly recommended to me, and are all geared up to work on the web client. They’re extremely cost-effective compared to UK developers – but they too need to be able to put food on their tables.

Finally, a much more boring need: the five-year-old plastic MacBook that I use for all of my development (both iOS and Android) is really starting to creak at the seams, both literally (the bottom is falling off!) and figuratively (it really starts to crawl when compiling code, especially for the new iOS8).

To meet these needs, I’m looking to find 300 people willing to give £30 by 13th November (by God’s grace I’ve found a dozen over 60% of them already – thank you!)

I go into a lot more detail answering all kinds of questions on the supporters website, which you can find here:

http://support.prayermate.net/

Please do prayerfully consider giving, and please please please spread the word – tell everybody you know who uses PrayerMate! I can’t do this on my own, but together we can make a real difference that will help people across the world to be praying.

Update: JUST A FEW DAYS LEFT!!! Please give now – however much or how little

Praying for IFES World Student Day 2014

IFES World Student Day 2014 is fast approaching on 17th October. IFES has handily put together PDF prayer profiles to help you know how to be praying for students around the world – and now I’m pleased to announced that you can download these directly into the latest version of the free PrayerMate app through the Prayer Gallery, on both iOS and Android.

To find them, select “Download prayers” form the main settings menu:
Download prayers

Then choose the IFES World Student Day option to pull up a list of countries to choose from:
World Student Day Gallery

Once you open up a particular country, you’ll see a “Download prayer” button at the bottom, and you’ll then need to choose one of your categories to save it into:
GB Prayer Profile

Then hit “Done” in the top right. When that subject then comes up in your prayers, you’ll see an orange “PDF” button on the right that you can press to open up the prayer profile:
GB Prayer Card

Don’t forget to Tweet with the hashtag #worldstudentday or get involved in their Facebook page.

Is technology morally neutral?

Last year I did a talk on “How should Christians engage with technology?“, largely based upon Tim Challies’ excellent book “The Next Story“. A year down the line, I’ve been asked to give this talk again, and in preparation I decided to read another book that I’d been recommended, John Dyer’s From the Garden to the City – and I have to say, I think this is one of the best books I have read in a long, long time.

Dyer’s conclusions are very similar to those reached by Tim Challies, but his book has really helped add depth to my understanding of this topic – I’m really thankful to God for the gifts he’s given to both of these men in understanding both his word and his world!

Is how we use our technology all that matters?

Last year I said this:

“technology by itself is what we might call “amoral” – that is, it is neither overwhelmingly good nor inherently evil. Like lots of things in this world it’s something with great power for good but which is also deeply affected by the fall. What’s important is how we use that technology – what we use it to do, and what we allow it to do to us.”

Reading “From the Garden to the City” really sharpens this idea up. Dyer uses the example of a shovel: of course a shovel is amoral, neither overwhelmingly good nor inherently evil. You can use it in all sorts of different ways – to dig wells in remote villages, or to hide the body of the person who you’ve just hit over the head with it. You have a great responsibility to use your shovel in a constructive rather than a destructive way. But don’t underestimate the extent to which the shovel will change you in the process – completely independently of whether you use it for good or for evil. Dyer says this:

“stop for a moment more and look down, turning our palms towards our eyes; we’ll see that our hands, too, have been changed by the shovel. They will be rubbed raw, exposing the first sign of the blisters that are sure to develop while we sleep.”

Technological Determinism vs Instrumentalism

If we simply say that how we use our technology is what matters, then that would be to fall into the trap of what Dyer calls “instrumentalism” – technology is merely an instrument in our hands, and all that counts is what we do with it. This other end of this spectrum would be “technological determinism” – the idea that “technology is an unstoppable power that has become the driving force in society. Whilst instrumentalism claims that technology is completely inert and has no operative power in culture, determinism makes the opposite argument, saying that technology operates completely independently of human choices.”

Dyer encourages us to chart a middle way between these two extremes, and to recognise that “people are free to choose how they will use their tools, but that the tools themselves are oriented toward a particular set of uses that will emerge when a large number of people use them” “A person is free to use a phone as a paperweight, doorstop, or hammer, but people will tend to use phones to accomplish what they were designed to do– communicate with people”. Determinism says that all of America’s guns are the reason their murder rate is so high, whilst instrumentalism declares that “Guns don’t kill people, people do”. I think Dyer is trying to say that whilst it’s true that guns themselves don’t kill people, they do have a certain in-built natural tendency. “Whatever our beliefs about guns in society, we must acknowledge that a home with a gun is a different place than one without a gun. When we bring a gun into a home, we also bring with it a set of cultural practices… such as keeping it locked away, never pointing it at anyone, and only touching the trigger when you are ready to fire. Even if the gun is never taken out of its case, the presence of a gun commands a different way of life than a life without guns.”

God uses technology too

Dyer gives several examples from the Bible of God making use of the innate values of particular technologies. In a particularly fascinating chapter, he talks about the first tablets in the Bible – not iPads, but literal stone tablets, when God gave Moses the law on Mount Sinai. He points out that at the time Israel was in the wilderness, “alphabetical writing was still a bleeding edge technology”. He goes on to say that “people could only afford to write down what was of the highest importance to them… This meant that when people invoked the words ‘It is written,’ they were appealing to the authority of the medium. After all, it wouldn’t be written if it weren’t important… God was giving the world his final, authoritative, and unchanging Law. And he chose a technological medium that reinforced those values.”

By literally setting the law in stone, God was telling Israel something important: that his word would stand forever, and was to be passed down from generation to generation.

How to be a responsible technology user

My conclusions from last year still stand:

“My goal here is to encourage us all just to be a little more thinking in our attitude to technology – not to reject it outright, nor to embrace it unquestioningly. Instead, to try to see beyond the superficial and to think a bit more about how it affects us, and why we feel about it the way we do.”

If all technologies have their own built-in tendencies and values, then thinking through what they are likely to do to us becomes extremely important. In what seemed to me like possibly the most crucial sentence of his entire book, Dyer writes this:

“Instead of living our lives according to the values of new technology, [Albert] Borgmann urges us to determine what our values are first and attempt to use our tools in service of those values.”

I said last time that the mobile phone was invented to keep businessmen in contact with the office at all times, so it shouldn’t surprise us if one of the effects of a mobile phone is that suddenly we find ourselves connected to the office at all times. But realising this in advance helps us to be prepared – and to decide if we really want this to be the case. Now we are free to make choices – to turn it to silent at the dinner table or when we meet our friend for coffee, allowing our own values to control our technology and not the other way around.

A story of technology

“From the Garden to the City” constructs it’s argument through the Biblical story from Genesis through to Revelation, under the heading of four ‘R’s: Reflection, Rebellion, Redemption and Restoration.

Reflection is the world of Genesis 1+2, as human beings are made in the image of their Creator, reflecting his character – they are in turn little creators themselves. Dyer says “Steve Jobs, Michael Dell and Bill Gates don’t claim to be Christians, but their products reflect the creativity of God as well as the longings of the human heart.”

Rebellion is what happens in Genesis 3 in the fall, as humanity turns its back on God. We see such an example of the fall working its way out in technology, distorted and used against God, in the cross of Christ: “Jesus and his father would have been ‘doing technology’ when they used tools to transform pieces of wood into something useful” “In another strange irony, the technology with which Jesus worked– wood and nails– was the technology on which he died– a cross. Jesus could have been executed using any number of more ‘natural’ means, but in God’s great plan the way he died was decidedly technological.”

Redemption is what happened at the cross – though humans were using wood and nails in rebellion against their Creator, God in his wisdom was using this very act of rebellion to redeem the world and make a way for us to be brought back into relationship with him. God has often used technology in this process – e.g. Noah’s ark, which is one of the very earliest examples of technology in the Bible.

Finally, Restoration – looking forward to the New Creation that God promises to bring in. Dyer points out that the New Creation is described not as a garden – a return to Eden – but as a city, “full of human creations like buildings, roads and trumpets”. There we will relate both to God and each other without mediation – no more flickering screens or priests going between us.

I found this framework really helpful in thinking about technology from a Biblical perspective – it helps guard us against a shallow approach that simply embraces technology wholeheartedly or rejecting it outright.

Conclusion

Dyer closes his book with various recommendations about how to engage with our technologies – and I don’t want to steal his thunder by repeating them all here. Buy his book and read them – they’re really helpful! Ultimately it comes down to actually thinking through the impact our technologies are having on us, and as we said before “determine what our values are first and attempt to use our tools in service of those values”.