Many Pies

Many Pies

Tuesday, December 22, 2009

You can't have it all

I've just finished compiling a list of places where we duplicate information. It struck me that software engineering is like any other engineering, you can't have it all. You can't design a car that is fast, cheap and reliable. You can pick any two of the three and design a car to fit those criteria.

In my previous job in an electronics firm the engineers had to explain to the management why we couldn't produce products in a short space of time, that were powerful and yet cheap. "Pick any two", we'd say, "and will manage those".

In our information systems we'd like them to be integrated, handle complicated information and be easy to update. One of the places where we duplicate information is where we've previously chosen integrated and complicated whilst having to put up with not easy to update. However the ease of update is has become more important so what we've sacrificed instead is the integration - so the data is partly duplicated in a custom system that handles the complicated data nicely.

In another place we have data entered by hand which exists elsewhere in a spreadsheet, so we can do a quick mail merge to get the data out in several ways. In that case we've sacrificed integration because the effort to type it in was easier than the gymnastics in getting the data out in those several ways.

Fortunately the list of duplicated data is quite short because the data is mostly fairly simple and so can live in the integrated system (Raiser's Edge).

Wednesday, December 16, 2009

Tuesday, December 15, 2009

A review of "The Website Owners Manual"

My review of The Website Owners Manual:

This isn't a manual for web designers, it's for those people who are responsible for a website in any way. It covers pretty much everything non-technical you need to know - setting up a project, overseeing direction and design, testing, launching and monitoring. From comments I've heard Paul Boag make, as a web designer he wrote this for his clients, so he wouldn't have to keep on answering the same questions over and over!

Each chapter has a helpful introduction, and at the end some actions points as to what to do next. This is useful as there's so much information in each chapter that it can seem a bit overwhelming, especially if you've been landed with the job of managing a website without much previous experience. I really can't find much to criticise in this book - it has a really wide coverage of most of the things you need to know about.

Thursday, December 03, 2009

Digmission - first post




Two days ago I went with a couple of colleagues to Digimission (recordings) which aimed to "explore how technology shapes faith, church and mission". I can't find the quote that got me interested, but it was something along the lines of the subtitle for the book that was given free to early bookers: "Flickering Pixels - How Technology Shapes your Faith". That was one of the themes of the day - the message is affected by the medium it is transmitted through.

The people there were a diverse group - from a variety of organisations, or leaders of churches. One of them was Jonny Baker, whose blog I have been reading for a few years now. I'm looking forward to seeing the powerpoints because the only thing I wrote down from his talk was the phrase "mainframe Christianity".

There was a plug for Faith Journeys from Christian Research (not sure which is their website) which is interesting. It's built upon a platform used by major companies to research what people think of their products. It gives people a chance to store, possibly just for their own benefit, stories about their faith journey. However it also gives Christian Research a chance to ask questions about their faith to answer questions about how gradual the process is, what age milestones happen at etc.

Someone showed a YouTube video of Ricky Gervais talking about the Bible on his Animals tour. It has adult language at one point, so I won't link to it, but he talks about Genesis in a very fresh way.

I'd like to draw some conclusions, but the thoughts are still rattling round in my brain, so I'll probably do that in another post.

Links to other articles can be found on twitter: #digimission

Three of the speakers on the panel discussion:
Mark Meynell, Maggi Dawn, Jonny Baker

Thursday, November 26, 2009

Lessons learned from a book collaboration

A new book is out: Social by Social, "A practical guide to using new technologies to deliver social impact". It's available as a free PDF download as well as a non-free dead tree version.

At a quick glance it seems full of useful stuff, along with some familiar things if you've followed blogs with the word "social" in the title.

The bit that grabbed my attention was the stuff in Chapter 9 about the making of the book. As someone whose job it is to make sure people can use the tools provided, some things struck me about their choices and the problems they had. (It's good to see such honesty in the first place too!)

The group was, as a whole, pretty technology savvy – or at least that was the assumption. This assumption led to the first major mistake [emphasis theirs]: not enough thorough evaluation of each participant’s level of social media competency and experience.
...
We ended up defaulting to e-mail quite quickly for two reasons:
firstly, because everyone was definitely using it; and secondly because we trusted it to give us our own record of what had been said that we knew we could rely on.
...
The project wiki was useful for collating content together, but it became cumbersome and ineffective for editing the final document together: it was too text-focussed and wasn’t useful for showing layout and graphics to the designer, and also it wasn’t appropriate for delivering to the client at NESTA and inviting formal feedback and signoff. We ended up collating the final handbook in Microsoft Word and using e-mail and tracked changes – which worked very efficiently but broke our collaborative approach in favour of getting the job done.


I'm not surprised they ended up using email. Even though it's not very good for collaboration, there's no obvious replacement (I wonder how they would have got in with Google wave?). Wikis are very text orientated, so you can see why they wanted to use Word for layout. But multiple copies of a document with track changes is still a bit clumsy. There must be a need for a good tool to do that sort of thing.

It's worth reading that chapter to hear what the other three major mistakes were.

Wednesday, November 25, 2009

Bug fix to blog post - a meta post

It's not often that you write a blog post to report a bug fix, but I put one on the Wycliffe Bible Translators UK blog recently. The bug was amusing, but probably not many other bugs I found would be even vaguely interesting to anyone.

Tuesday, October 20, 2009

Weather forecast via twitter - wycombeweather

Ages ago I thought it would be handy to have a local weather forecast delivered to my phone, for free. Then twitter came along and it looked like that might provide a possibility. By this time I'd come across the BBC weather RSS feeds.

I tried a couple of "RSS to twitter" services and both worked once and then never again. Google app engine looked like a good way of finding a server to do the stuff to join RSS to twitter. So I cobbled together bits of Python code and came up with this. (Update: September 2010 - updated to use oauth library. You'll need to register your app via dev.twitter.com to get the four keys below. )

(Paste in code from feedparser.org. Comment out the main program stuff.)
(Paste in outh stuff from http://github.com/mikeknapp/AppEngine-OAuth-Library/blob/master/oauth.py)


# Cobbled together from
# http://highscalability.com/using-google-appengine-little-micro-scalability
# http://pydanny.blogspot.com/2008/04/feedparser-does-not-work-with-google.html
import wsgiref.handlers
import urllib
from google.appengine.api import urlfetch
import base64
import feedparser
import StringIO

from google.appengine.ext import webapp

def getWeather():
      content = urlfetch.fetch("http://feeds.bbc.co.uk/weather/feeds/rss/5day/id/2111.xml").content
      d = feedparser.parse(StringIO.StringIO(content))
      if d.bozo == 1:
           raise Exception("Can not parse given URL.")
      return d['entries'][0]['title']

class WeatherText(webapp.RequestHandler):
def get(self):
     self.response.headers['Content-Type'] = 'text/html'

     self.response.out.write(getWeather())
     self.response.out.write('
supported by backstage.bbc.co.uk')


class UpdateWeather(webapp.RequestHandler):
def get(self):
     self.response.headers['Content-Type'] = 'text/plain'

     message = getWeather()
#      self.response.out.write(d['entries'][0]['title'] )
#      message = datetime.now().ctime()
     payload= {'status' : message,}
#      payload= urllib.urlencode(payload, True) Removed when switching to oauth client
# Get rid of degree marks because they turn out as question marks in the final tweet
#      payload = payload.replace('%3F','') degree marks work on twitter, appear as "deg" in txt, still wrong when main URL viewed
#      self.response.out.write(payload)

# Your application Twitter application ("consumer") key and secret.
    # You'll need to register an application on Twitter first to get this
    # information: http://www.twitter.com/oauth
     application_key = "im_not_telling_you"
     application_secret = "nor_this"
  
    # Get these from http://dev.twitter.com/apps/your_app_number/my_token
     user_token = "this_is_a_secret"
     user_secret = "this_is_definitely_a_secret"
  
    # In the real world, you'd want to edit this callback URL to point to your
    # production server. This is where the user is sent to after they have
    # authenticated with Twitter.
     callback_url = "%s/verify" % self.request.host_url
  
     client = TwitterClient(application_key, application_secret, callback_url)
     result = client.make_request("http://api.twitter.com/1/statuses/update.xml", token=user_token, secret=user_secret, additional_params=payload, protected=False, method=urlfetch.POST)
# Removed when oauth implemented
#      base64string = base64.encodestring('%s:%s' % (login, password))[:-1]
#      headers = {'Authorization': "Basic %s" % base64string}
#
#      url = "http://twitter.com/statuses/update.xml"
#      result = urlfetch.fetch(url, payload=payload, method=urlfetch.POST, headers=headers)
#
     self.response.out.write(result.content)


def main():
  application = webapp.WSGIApplication([('/', WeatherText),
('/updateweather',UpdateWeather)],
                                       debug=True)
  wsgiref.handlers.CGIHandler().run(application)


if __name__ == '__main__':
  main()

 You can see the results at twitter.com/wycombeweather and wycombeweather.appspot.com. If you want to do it for your local UK weather you'll need to change the figure 2111 above and use your own twitter account.

Tuesday, September 29, 2009

Presentations and Powerpoint

My colleague, Phil Prior, and I did a session this morning on presentations and use of Powerpoint. He has written up his thoughts on presentations.

We did a more advanced course last week. On that one I covered a number of steps to ensure things go smoothly. I hadn't practised what I preached (run through it on the actual equipment beforehand), and when I opened up clip art the PC froze so I had to borrow a laptop from one of the participants and carry on from there!


Thursday, September 24, 2009

My 1.5 seconds of fame

The BBC Digital Revolution people (putting together a 4 programme series on the web and stuff) asked on Twitter if anyone had questions for Shami Chakrabarti of Liberty.

Tweet: @bbcdigrev Can she (Shami Chakrabarti) forsee a time when Liberty is out of a job?

Her answer:


Original blog entry: Tim Berners-Lee and Shami Chakrabarti interview clips (Video): web privacy and obsession

(cross posted to my personal blog)

Friday, August 28, 2009

A picture of a radio programme in the making

I don't often point to other blogs, because you might as well just read them, but this one was worth highlighting. David Ker has put a photo on one of his blogs showing him at work producing a radio programme with Bible material. Click on the picture to see what the numbers in the stars mean.

some guys sitting around a computer

Thursday, August 27, 2009

Expedia no longer supports Passport/Windows Live id

I've searched blogs and looked on techmeme.com, but I can't find any reference to this. I got an email today from Expedia saying they no longer support .Net Passport aka Windows Live id.


When you click on the "Why?" link you get this. Which isn't really a satisfying explanation.
As we work to continuously improve the service we provide you, it's sometimes necessary to make changes. Unfortunately, recent upgrades required we end our support of Passport/Windows Live ID service.

Friday, August 21, 2009

An old hard disk and a new video

A few months ago someone from Wycliffe Canada contacted me. There was an old hard drive in the UK that had some music on it that he wanted to put on a video that he was producing. He wanted me to get the music off it and send it to him on a new hard drive.

The hard drive possibly hadn't been used since 2002. The hard drive was sent to me, and because it was in Mac format I got a colleague who used a Mac to help me get the files off. The drive span up OK and we started getting files off it, but then after 15 minutes or so it died mid-copy. It was pretty terminal and I couldn't get it to work at all after that. Not all of the original files for the music were there, but, thank God, the final mix of all files was there, including the song that was required.

This song now appears on a DVD. Here's the preview, but not with the song though:

Monday, July 27, 2009

Optimistic search button

This bike spares had an "I'm feeling lucky" button next to its search box, but then it changed on one page to this:

Tuesday, June 16, 2009

Validating Direct Debits with Blackbaud NetCommunity

There's a bug in NetCommunity 5.1 whereby it lets your donor specify a one-time Direct Debit payment, which when it is brought through to RE doesn't work properly as it isn't a Recurring Gift.

In addition, we don't want the donors to do recurring credit card gifts as the current version of RE - 7.85 - stores Credit Card info in the database. (An upcoming PCI compliant release won't do this.)

So I've written a bit of Javascript to check the frequency and payment type and give an error message. Unlike my previous script, it doesn't have a hardcoded prefix which is needed to find the ids of some of the page elements. Instead it looks at a variable which is part of the donation form to get the prefix. This may mean it won't work in other versions of NetCommunity.

<!--//--><![cdata[//><!--
function xyzCheckDD()
{
var xyzPrefix = '';
var ErrorText = 'Please use \"One time\" frequency with credit cards, 1st or 15th with Direct Debits';
try{
//We look at one of the variables that's defined to find out the prefix for this page. If they go into four digits
// e.g. PC1001_ then this will need to change.
xyzPrefix = Page_Validators[0].controltovalidate.substring(0,6);

//Check frequency and Payment option. It doesn't have a unique id, so we find the checkbox, go up to the parent

bRecur = document.getElementById(xyzPrefix + 'Recurrence1_ddlFrequency').selectedIndex != "0";
bDD = document.getElementById(xyzPrefix + 'DonationCapture1_rdoPaymentOption_1').checked;
//This does an XOR - true if they are different
if( bRecur ? !bDD : bDD ) {
alert(ErrorText);
}
}catch(e){
// Put some debug here if required
}
}
function runit2(){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(xyzCheckDD);
}
runit2();
//--><!]]>

Monday, June 08, 2009

Wycliffe Staff Conference

We had our annual staff conference at the end of last week. The main part of the conference consists of reports from selected people on what they've been doing. As it happened I'd heard most of the people before for various reasons, but they all said some new stuff.

Afterwards we had discussion groups. One of the things that our group mused on was the fact that the speakers were saying how they were using ways of getting Bibles to people in non-print form (e.g. recordings and mobiles), because literacy rates aren't high. We commented how we are in what you could call a "post-literate" society, where people don't read much and so the same methods would be useful in getting the Bible into the hands of those who don't "consume" print media. The difference though, is that those in the UK who choose not to read have the opportunity, whereas those in countries where literacy isn't high don't have the opportunity.

Thursday, June 04, 2009

Supporting Deaf Sign Language translation

This is a bit old, but here's an interview with Dee and Shawn Collins about their involvement in Sign Language translation. We met Dee and Shawn when they came here a couple of years ago, so there's a personal interest in what they've been doing.

Thursday, May 28, 2009

Geoffrey Hunt and sign language

Geoffrey Hunt is the man behind sign language Bible translation in one of our parter organisations. Here's an article about him and sign language Bible Translation.

Monday, May 18, 2009

Now Facebook thinks I talk Pidgin

This dialog popped up when I clicked on my online friends list in Facebook today:

Somehow it thinks I talk Pidgin. At least I know what Pidgin for "offline" is.


Wednesday, May 13, 2009

What is prayer?

No, this isn't a philosophical question. On our vacancies page we classify our jobs into various areas we call domains. Internally we have 37 different domains, but that's too many to put in a dropdown list so map them to things that make sense (we hope) to people outside. For example anthropology, ethnomusicalogy, sociolinguistics and translation are all grouped as "language related". 

Recently some new domains were setup, like Sign Languages and Vernacular Media (i.e. media in people's own language). Until I get the word from the people who worry about these things I have mapped these to "language related" to. But what do I map "prayer" to?

For the sake of preventing an error message I've mapped it to personnel. What would you choose?


Facebook lets me talk like a Pirate, but not in British English


Facebook have got a project going to translate their site into various languages. They have been getting users to help with this. I was checking out the settings on my Vision 2025 countdown app and I noticed that I could specify the app was in the language "English (US)" or "English (Pirate)" but not "English (UK)". I guess translating into Pirate is more exciting than translating into British English.

Wednesday, May 06, 2009

Useful pictures

Labelled drawers of envelopes

A picture is worth a thousand words they say. Well, each of these little labels is worth a few. Instead of "C5 envelope with the flap on the short side" we have a handy little picture.

Tuesday, May 05, 2009

Twitterings at Wycliffe

I've done a trio of twitter related pages for Wycliffe UK:

Latest tweet from various Wycliffe people, myself at the top of course (I had just mine for testing, and added other people afterwards you see).

As above in reverse chronological order.

Tweets mentioning #wycliffeuk.

Friday, May 01, 2009

NetCommunity API and VB Express 2005

I've just managed to get the NetCommunity 5.1 API samples to build with VB Express 2005 (no longer available for download).

There were two reasons it didn't "just work":
  • No NetCommunity on my PC
  • For some reason one of the .vbproj files (SampleParts.vbproj) was rejected with the error ".vbproj is not supported by this version of Visual Studio".

I got around it by creating a new project and importing the files. I also tweaked the references in the other project files to the BBNCExtensions.dll and the Service dll to the following:
C:\Program Files\re7\Custom\Shelby\BBNCExtensions.dll
C:\Program Files\re7\Custom\Shelby\Blackbaud.NetCommunity.WebService.Interfaces.dll


Note that RE path is where our RE lives - yours may be in program files\blackbaud\the raisers edge or something like that. That works because I have the dlls in my RE installation, probably because I have the plugin. Because our RE lives in a non-standard place I had to copy the bits and the end of the .vbproj files where it copies things to a the shelby directory quoted above. To deploy onto the real server you have to copy them out of there anyway.

Wednesday, April 29, 2009

Update on Sign Language project

I've been following the progress of a project to develop tools for producing sign language Bibles and there has been little external stuff to point you to though I have where I could. Now however the latest issue of the JAARS (the technical bit of our organisation) magazine Rev 7 (PDF) has an article about it. It has a name now - WordSign and there are more details on this sign language project on the JAARS website.

Tuesday, April 28, 2009

Twitter is big

If you went back in time 25 years ago and said "in 25 years time the geeks will be cool" I think no-one would believe you. 25 years ago geeks like me were fiddling around with the BBC B and the cool kids had guitars.

A few highlights over the years:
I worked for a company that was on the internet before the web was invented and we had gopher and wais, but most of all Usenet. Then Mosaic came along.

A bit later I heard the internet mentioned on the Radio 4 News Quiz (still going). Then URLs appeared on adverts. The internet was becoming mainstream.

There were online journals and then Peter Merholz invented the word "blog". I was reading his blog at the time.

Blogs became mainstream and Gary Lineker said during the World Cup 2006 (I think) "what's a blog?". He probably knows now.

In 2006 Twitter was launched. It was called twttr at first because we were short of vowels in those days (see Flickr). I was the 791st person to sign up. Now there are millions of users.

A year or so after that I heard twitter mentioned by a radio DJ, but it didn't have a high profile and it was still in the realm of us geeks. Us geeks love to rush around saying "jaiku!" "friendfeed!" "diggit!" and other Latest New Things. However Twitter is now mentioned regularly on TV, radio and dead tree media so I think I can safely say

Twitter is big

Thursday, March 19, 2009

Coffee and the internet - full circle

Back in the early days of the internet when web pages had a grey background by default (really), I came across the Trojan Room Coffee Pot. It was a (what we now call) web camera pointing at a coffee machine. The idea was that you could see if there was any coffee in the pot from your workstation (this was before PCs were mainstream) without having to go to it. In fact the setup predates the World Wide Web.


Fourteen years later when my Firefox browser starts I see this message from Phil, a colleague, on Twitter:
Phil Prior Phil77 morning all, going to see if water's now boiled for coffee. Didn't notice boiler was off on first attempt #wycliffeuk
7 minutes ago
and I know that if I go to the kitchen I should find that the water boiler has reached temperature.

So the internet has come full circle, our need for coffee (well, not really a need) has been met with technology. The difference between twitter and the Trojan Room Coffee pot is that twitter is more versatile. For example, our Wycliffe UK twitter account can tell you things like
Wycliffe UK wycliffeuk Engage summer teams are almost full. If you're still thinking of applying please contact us immediately! http://is.gd/6AW0
Like the coffee technology, it's very time sensitive information, so if you're reading this anytime after mid-March then you are probably too late.

Tuesday, March 17, 2009

Using media wiki for internal documentation

Many months ago I did an update on my quest to find a wiki for doing internal documentation.

Here's another update, following an installation of media wiki.

Even though I've edited pages on wikipedia, which runs on the media wiki software, it was useful to do an installation to get a flavour for what it might be like using it for real. The system I'm moving away from is a Lotus Notes out-of-the-box "document library". When I started editing wiki pages it made me realise what Lotus Notes gave me as standard:
  • WYSIWYG editing
  • ability to paste from formatted Word documents and retain formatting
  • automatic compiling of table of contents
  • easy linking of documents
  • easy embedding of images
Apart from the internal reasons for switching away from Lotus Notes I had to remind myself of why I was doing this:
  • easier access for remote users
  • email notification when a page changes
  • version history maintained
The problems with embedding pictures is something that web applications haven't overcome as far as I've seen.

Our corporate wiki software has good help with linking and allows the creation of child pages, and can do a resulting table of contents of child pages. It also does WYSIWYG editing.

Pasting from Word documents is a double edged sword. I've seen another WYSIWYG editor that allows it, but gives you the resulting horrible HTML that goes with it. Wikis don't tend to do that because of the difficulties in converting to the underlying wiki format. Why don't I use our corporate wiki you may ask? Among other things, its because procedure manuals don't fit with what the wiki is for.

One thing that I have got working with media wiki, is linking the logins to our Active Directory, to save people having yet another login.

So the question is, can I put up with a couple of shortcomings for the good things it does? Time to see how other wikis compare I think.


Wednesday, March 11, 2009

So what does Wycliffe actually do?

I've been thinking about how to present what Wycliffe UK (aka Wycliffe Bible Translators UK) does to the world. As I'm not a marketing/PR/communications person you're not going to get a polished answer, but my thought processes. One of the reasons for thinking about this is because of the recent change ("Vince's change") that Google introduced recently in the way they work out what to give you when you search. It's a problem because we aren't as high in the search results for things like "bible translation uk" as we used to be

The thing is, although our aim is to translate the Bible into every language that needs a translation (with partners, to start by 2025), in practise not a lot of our people are actually doing translation. The best people to translate a language are those that have it as their mother tongue, and we can help the process. So when we're recruiting we need a lot of other skills other than just being good at learning a language and then translating.

As well as the Google problem the other thing that got me thinking was our weekly "Centre fellowship" at which we heard from people who work on what we call "Scripture Use" worldwide. One of the reasons we do more than translation is that our aim is transformed lives, and a translated Bible can't change anyone if they can't read it (so we do literacy work). Other materials also help people with the Bible, like Bible reading notes, songs etc. Developing this material is part of Scripture Use.

One of the things we heard yesterday was the very practical work of help people who have undergone traumatic events to apply the Bible to their situation, which we call Trauma Healing.

So bringing these things together, our problem (fortunately not just my problem) is that a) we want people who think we just do translation to realise that it's part of a bigger picture and
b) we want to present that bigger picture in such a way that when people look for "Bible Translation" in Google, they still find us!

Thursday, March 05, 2009

CauseWired review

CauseWired, subtitled "Plugging in, getting involved, changing the world", is a book about online fundraising by Tom Watson. Here's a two minute review, not because I think you don't want to spend more than two minutes reading it, but because I don't want to spend more than two minutes writing it.

(If the name is familiar Tom Watson is the name of a blogging UK MP, but the book is by another Tom Watson.)

Lots of stories and examples. Well researched. Nothing startling in there if you've been following the stories about fundraising organisations through blogs. Lots of people, say, signing up to a Cause on Facebook doesn't mean lots of giving. In my opinion the whole thing is too young to draw any conclusions that will stand the test of time.

Wednesday, March 04, 2009

Sign Language Bible translation

The Sign Language Conference that was held here at the Wycliffe Centre is over, but some of the delegates came to visit our weekly "Centre Fellowship" meeting yesterday. It was quite a multi-lingual experience as we had three translators, all speaking English as well as a different sign language, and the Swedish sign language speaker had to speak American Sign Language as her translator didn't know Swedish sign language. They emphasised a few basic facts about sign languages:

1. There are many sign languages around the world, maybe over 400, that are as different as any two spoken languages.
2. There is no British Sign Language Bible, although work is in progress. If you're reading this then you speak English. Imagine if your only Bible was in French.
3. Sign Language translations have to be done in the context of the culture they will be used in.

There is more material on Sign Language translation on the Wycliffe International site:
Sign Languages FAQ
Innovations in Sign Language translation
The Silent Language

Friday, February 27, 2009

IT World of Wycliffe

The task of Bible Translation needs a whole lot of different specialist skills, such as teachers and pilots. Where we need a lot of people with a particular area of skill we often have some people in the organisation dedicated to handling enquiries for that area. One such area is IT.

I've just found out that our IT recruitment people have a website just for those who are thinking of working for us called The IT World of Wycliffe with lots of information explaining how we use IT in Wycliffe and what sorts of skills are needed. In fact it was mentioned on the Wycliffe UK blog, but I didn't notice. Reading your own organisation's blog is a good idea!

Thursday, February 26, 2009

Publishing the Bible online

Another snippet from the Check IT Out day we held last Saturday:

You might think that Wycliffe would already be putting the Bibles it translates online. However there are reasons why that is trickier than you might think. One of these is the issue of ownership. I don't know all the ins and outs of this, let alone explain them, but its roughly to do with the fact that the translated Bible isn't owned by us, but by the organisations we work in partnership with.

There are also technical challenges with the original text. It may be in some old desktop publishing format. Even if we have the text, we may have incomplete information about the fonts used. Only recent work is in Unicode. Some translations aren't electronic at all (yet).

Then there's the presentation side, you can't just put a load of ascii text on a web page, it needs to be presented in a useful way. Actually none of this was said on Saturday, I'm just setting this scene! The presentation was about a project which is overcoming these hurdles.

One of the big things in getting the Bible into peoples' hands is the mobile phone. There are more mobiles than PCs and an increasing number can handle text, audio and video. So a lot of the presentation was what's happening around the world with mobiles. One thing I hadn't heard of is the company O3B Networks. O3B is Other 3 Billion. They are putting up a new network of satellites to offer cheaper and faster satellite internet connection. The same connection can also be used for mobile traffic.

The project's in private beta at the moment, so you can't see it yet.

Wednesday, February 25, 2009

Sign Languages conference

I've blogged about sign languages before and I've just found out that we're hosting a sign languages conference here at Wycliffe UK this weekend.

Tuesday, February 24, 2009

Bible Translation mentioned in the Westminster Confession

I took part in the Check IT Out day we held last Saturday. I'll blog about some other things on it later, but I thought I'd just share this thought from one of the other speakers.

The Westminster Confession from 1646 mentions the need for Bible Translation in Chapter 1 (emphasis mine):

VIII. The Old Testament in Hebrew (which was the native language of the people of God of old), and the New Testament in Greek (which at the time of the writing of it was most generally known to the nations), being immediately inspired by God, and by his singular care and providence kept pure in all ages, are therefore authentic; so as in all controversies of religion the Church is finally to appeal to them. But because these original tongues are not known to all the people of God who have right to, and interest in, the Scriptures, and are commanded, in the fear of God, to read and search them, therefore they are to be translated into the language of every people to which they come, that the Word of God dwelling plentifully in all, they may worship him in an acceptable manner, and, through patience and comfort of the Scriptures, may have hope.
Text from carm.org

I don't suppose many church leaders, or leadership groups get together and say "In planning the next year or so, shall we have a quick look at the Westminster Confession to see if there's anything that we should be concentrating on, but which we've forgotten about?". If they did though, well...

Friday, February 20, 2009

Designing for 97% of people

According to Google Analytics 97% of the people visting wycliffe.org.uk have a screen resolution greater than 800x600, so I'm going to redesign one of our other sites to be nearer 1000 pixels wide. The ideal would be some sort of flexible layout, but I'm inheriting someone else's fixed layout, so I'm just going to tweak the width initially.

Thursday, February 12, 2009

Entry on the Wycliffe UK blog

I've just done an entry on the Wycliffe UK blog about Easy Bibles. I've had the ability to add entries, but people with better information than me and able to write gooder than what I can have been putting stuff on there. However there was something that interested me, so I wrote an entry.

Wednesday, February 11, 2009

Overview of NetCommunity email

I couldn't find something as concise as this in the Blackbaud documentation, so I've written it myself.

There are four types of emails from BBNC:
  • Acknowledgements - these get sent when the user does something, like give a gift, or register as a user.
  • "Messages" - these are emails sent on an ad hoc basis to a list of people. The list can be based on emails in RE, or from an imported list, or all people registered on BBNC. (At the moment the only people registered are those who are using the BBNC backend.) When people get these and click on the "email preferences" link they get the option to opt in and out of newsletters (see below) or out of all communications, so these shouldn't be used for anything regular, instead...
  • Newsletters - these are designed to be sent regularly. People opt in to get these specifically on the website. They can also opt out.
  • Campaigns - these are a series of appeals, each of which consists of a message sent to a number of lists. It allows A/B testing, test messages before the real thing goes, and other marketing goodies.

Behind the scenes there are also templates

A template does as you'd expect, lets you define the general look of your emails, whilst changing the content for each message that goes out.

The template can be based on a given list, or if you select "constituent" for who the template goes to, you can specify the list of people it is sent to when you create the message based on the template.

How emails are handled in Blackbaud NetCommunity

I have done some investigation as regards how emails are handled for non-logged-in users in Blackbaud NetCommunity (BBNC).

Whether the email address comes from RE originally or some other method (imported list, filled in form on website), the emails are stored in the BBNC database. I have worked out how some of the tables fit together if you want to know more.

When someone gets a "message" (I put it in quotes because that's a technical term used by the BBNC user interface) or a newsletter with a link to an email preferences page (i.e. it contains an email preferences part) then BBNC knows who you are by the URL.
For example, here's the URL
example.com / NetCommunity/Page.aspx?pid=196&srcid=132&srctid=1&erid=117
196 is the page id, as used all over the place.
132 is the id of the message (one message for multiple recipients)
117 is the id of the receipient, i.e. the unique number in the database associated with the recipient's email address

That page has a list of our newsletters, a checkbox saying "Check this box to indicate that you do not wish to receive future email communications from us" and a box to fill in your email address.
If the person is subscribed to newsletters then they are ticked. I don't know why it asks you for your email even though it knows your address from the id in the URL.

Looking at the database things change when the newsletter subscriptions are ticked and unticked. If a user has been sent an email because they are a constituent then the "no more email" tickbox I mention results in a profile change through the RE plugin, and when you process it, ticks the "requests no email" box on their constituent record.

If you email to someone who isn't a constituent, and they unsubscribe from all mailings then it stores this information in the database.

Sometimes, and I haven't worked out when, the user email preferences page doesn't have a newsletter list, but just the checkbox and email address box.

If you have problems with people unsubscribing there are a couple of knowledge base articles, BB470402, BB432116, but they just say "create a case". With all these email addresses flying around I'm not surprised things can get messy, particularly if you have the same email address in BBNC multiple times.

Friday, February 06, 2009

New member of staff

This week we have a new member of staff - Phil Prior has joined us as Head of Marketing. (If the term "marketing" makes you cringe I suggest you read his post Marketing Wycliffe.)

He has posted some pictures of how the Wycliffe Centre looks on his blog.

Thursday, February 05, 2009

Designing a safe environment for young people on the web

I've just watched a video on how to keep young people safe on the web, particlarly with social media applications.
It's on the Oxford Geek Nights website under "The web and adolescents" microslot. The video is only 6 minutes long.

Interesting dialog from Facebook


If you click on the "Are you sure you wish to cancel the upload" button it resumes.

Tuesday, January 27, 2009

Check IT Out

I've previously mentioned our Check IT Out day on 21 February 2009.

The timetable is nearly finalised. I'm giving a talk on "Business Systems - the I in IT". I get the post-lunch slot so I shall have to make it really interesting to keep people awake. The day is being organised by Mark Woodward who is also giving talks about raising support ("What, no salary?") and the IT opportunities in Wycliffe. There are talks from various other people including the Exec Director Eddie Arthur ("Bible Translation and the internet") and the Non-Roman Script Initiative of one of the organisations we work with who do clever stuff to get all sorts of writing systems to work on computers.

More details on the Check IT Out page of the wycliffe.org.uk website.

Monday, January 26, 2009

Using Javascript to modify text on a NetCommunity donation part

(Long heading, but informative for the very few that need to know.)

Update: Later versions of NetCommunity allow you to edit almost all of the text on a donation form so this isn't needed.
There's a better way of getting that magic page prefix in my more recent NetCommunity javascript post.
Later versions of NetCommunity include jquery libraries on the page, so you can use those. They are neater and provide better cross browser support. As this script isn't in current use I'm not rewriting it. However you can replace
 document.getElementById(xyzPrefix + 'something').textContent = GADText;
with
 $('#'+xyzPrefix + 'something').val(GADText);

Assisted by information from Michael Williams and Micah Wittman I have written a bit of Javascript to modify the gift aid declaration text on a Donation part. We need to do this because people can donate directly to some of our workers, and if they are a close relative as defined by the HMRC, this cannot be gift aided. "Close relative" means children, grandchildren, parents, grandparents, siblings or the spouses of these.

Here's the page:
Give to support Bible Translation

Here's the script:

<script type="text/javascript">                        
<!--//--><![cdata[//><!--
function xyzModifyGAD()
{
    var xyzPrefix = '';
    var xyzPrefix1 = 'PC909_'; //prefix of donation fields on the PRIMARY donation form
    var xyzPrefix2 = 'PC1052_';  //prefix of donation fields on SOME OTHER donation form
    var GADText = 'I would like Wycliffe UK to reclaim tax on all donations I have made for this tax year and the six years prior to the year of this declaration, (but no earlier than 6/4/2000) and all donations I make from the date of this declaration until I notify you otherwise, as Gift Aid donations. (Under Gift Aid regulations you are not allowed to give a gift, via a charity, to a close relative. "Close relative" means children, grandchildren, parents, grandparents, siblings or the spouses of any of these.)';
    try{
        //Assume PRIMARY donation form
        xyzPrefix = xyzPrefix1;
        //Set Gift Aid declaration text. It doesn't have a unique id, so we find the checkbox, go up to the parent
        // and then go to the second (0 based) of the children. This will break if Blackbaud change the donation part

        //For Firefox, Safari etc.
        document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].textContent = GADText;
        //For IE
        document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].innerText = GADText;
    }catch(e){
        //Caught exception, so assume secondary donation form (doesn't currently exist)
        try{
            xyzPrefix = xyzPrefix2;
            //For Firefox, Safari etc.
            document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].textContent = GADText;
            //For IE
            document.getElementById(xyzPrefix + 'chkGiftAid').parentNode.childNodes[1].innerText = GADText;
        }catch(e){}
    }
}

function runit(){
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(xyzModifyGAD);
}
runit();
//--><!]]>
</script>


Highlights:
  • This script lives in a Formatted Text and Images part below the donation form.
  • The function at the bottom is used because javascript outside a function sometimes doesn't run. 
  • It registers our update function so that it gets called when the "add to cart" button is clicked.
  • As the comment says, we can't get directly to the text we want, so we find a nearby checkbox and go up and down again in the DOM.
In the course of doing this I developed a
Checklist for debugging Javascript in NetCommunity
  • Use validator.w3.org to check for basic mistakes, though NetCommunity generates lots of its own invalid HTML.
  • Display IE to check for script errors (icon at bottom left indicates invalid script)
  • In firebug, if line number isn't green then it's not valid Javascript.


Script processed by Quick Escape.

Wednesday, January 21, 2009

Blackbaud NetCommunity and creating new subsites

We have two main websites, one, wycliffe.org.uk bears the name of our organisation, and the other vision2025.org, our main campaign. We set up our NetCommunity donation pages with the branding from our vision2025.org site and got a Blackbaud web designer to reproduce the way that site looked in NetCommunity.

We've now created a donations page using the look of our wycliffe.org.uk site. A colleague of mine did most of the work, and because in NetCommunity you can use HTML in the layouts, template, pages and parts, it was mostly a matter of cutting and pasting the HTML. However I did find some snags as I tried to make pages on the two sites look identical. NetCommunity adds some extra HTML to the stuff you create so that it can implement its features, and some of those use tables, hence my previous post on CSS styles in tables. I managed to get the two looking pretty identical, apart from a bit of background colour showing when you first go to the donations page. There are still a couple of differences:
  • Site search doesn't work from NetCommunity, using our existing script. It has its own search facility, but that will only search the Net Community server.
  • The donations "part" is quite wide, so I had to spread into the third (right hand) column to fit it in.
  • The favicon for the pages that look like wycliffe.org.uk is the same as the vision2025.org ones, but I think I can fix that. Update: Because you don't have access to the <head> part of the HTML you can't specify that. However I did find that BBNC automatically puts in references to images/favicon.ico. Some browsers, like Chrome, don't fall back to the sitewide facicon.ico if that isn't there, so to make your icon appear on those browsers, copy your favicon.ico file to the directory \program files\NetCommunity\images.


Spot the difference

Monday, January 19, 2009

Learning to train adults

I just wanted to plug the Learning that Lasts course that I wrote about previously: Learning That Lasts.

I can highly recommend it if you are involved in training. It encourages training using a method designed for adults who probably have relevant experience in what they are learning. I've used it a few times since I did the course and it seemed very effective.

Friday, January 16, 2009

Variety and diversity


I'm at the Wycliffe Germany offices at the moment. I'm taking part in some training for our corporate personnel system. In the UK office I'm used to the similar setup - Windows XP pretty much everywhere, PCs from the same supplier. Here we have people from several European countries, as well as some Africa. We have Windows XP and Vista, Mac and Linux, and for browsers: IE, Firefox, Safari and Opera.

In order so that everyone can try out what they've learnt we had to get everyone in the room to connect to the same wireless network connection, start using a VPN connection and get to our training system. With such a mix of hardware and software it took a while! Localised versions of Windows and browsers mean that error messages need translation, but if you've seen the same dialog box in English and can remember what goes where then you can tell someone what to click on without understanding their language.

As with life in general, variety makes things interesting, but I wished this morning wasn't quite so interesting!

Tuesday, January 13, 2009

Large fonts on NetCommunity pages

If you have created a Blackbaud NetCommunity page which for some strange reason is displaying large fonts, even though you have a stylesheet in place which should set the font size, it could be because your template doesn't have DOCTYPE set to XHTML 1.0 Transitional.

And the reason why? No DOCTYPE puts your browser into "quirks" mode which means that fonts inside tables don't inherit font size.

Update: I had a similar problem with styles not working, in this case the colour being ignored. After a while I tracked down the "problem" to the fact that I had 
<font color=#0000ff>
before the text. Doh!

A software engineer's view of the Wii

Thanks to a credit card which gives you vouchers if you put enough money through the card, we got a Wii for Christmas. I read a comment, answering the question why it has been so popular amongst "non-traditional gamers" - "it's the controller, stupid". And it really is. As well as all the directional stuff it does, what I didn't realise was that it does sound and rumble too.

If you've got one, this isn't news, but when you hit the tennis ball there's a "thwack" from your controller. No amount of clever 3d sound can imitate that. I'm also impressed by the detail on the animations of objects, like balls, pucks and other objects. It's obvious that a lot of care has gone into every detail. I particularly like the music that it makes (there's music for everything) when you're downloading updates. Thanks to everyone who got one for Christmas doing it on Christmas afternoon, I heard that music for a long time. It's all a bit like living in a white shiny space station.

There's some very astute cross promotion going of other Nintendo products, like the ability to download demo versions of DS games, but the biggest money for nothing must be the ability to download old console games and pay upwards of £5 for them.

The Bible in an hour


From Eden to Eternity. I haven't seen this at all, but I know Saltmine are very good, so this should be a good event.

Monday, January 12, 2009

Check IT out

Check IT out is an event run at our UK head office for people interested in working with IT for Wycliffe UK. (Check I.T. out, geddit?)

I should be there for part of the day. If you're interested in working in our many IT jobs in encourage you to come along and find out.

It's based on some successful events of the same name run by Wycliffe in the US.

Predictive text and mother tongue

There's a very interesting article in the Wall Street journal, How the Lowly Text Message May Save Languages That Could Otherwise Fade
Can a language stay relevant if it isn't used to send text messages on a cellphone?
Language advocates worry that the answer is no, and they are pushing to make more written languages available on cellphones.

Here's a quote from the end of the article:
Michael Wehrs, Nuance's vice president of industry affairs, says allowing texting in native languages makes it easier for people who don't speak English to conduct business. "The population needs to be able to use the device," he says. "To require them to use English is futile."

Hmmm, the same is true of the Bible. If you substitute "conduct business" with "understand the Bible" and "English" for a language that people understand, but isn't their mother tongue, then the sentence is still true.

Friday, January 09, 2009

Visting Raiser's Edge users

I've just started a project to visit all the Raiser's Edge (RE) users in our organisation. I'm doing it with several purposes:
  • Make sure that people know where the procedure manual is and are following it.
  • Seeing if they have any suggestions about improving it.
  • Seeing if they have any questions about RE that they wouldn't normally bother me with, but while I'm there, they could ask me.
  • Seeing if they need any training in specific areas of RE.
  • Seeing if they need IT training generally.
One of the things I'm wrestling with, and I hope to get clearer on, is how to impart information about something as complex as RE. I touched on this on my post on skills in procedures. Off the top of my head I can think of various skills that you need:
  • adding things to a list in a grid
  • deleting lines from a grid
  • adding things to a list which isn't a grid (add button at the top)
  • switching between records using the arrow at the top, or the menu, or the arrow at the top with a dropdown
I think the trouble with teaching these is that people don't want to learn how to do things, they want to learn to do things. If they want to add information to people's records and I start teaching them to flick around then they are going to get frustrated.

One of the things I'm going to revive is the sending of weekly tips to impart this sort of information. I'll post them here too.

Wednesday, January 07, 2009

New E-cards

I can't take any credit for this, but we now have some new e-cards for our Vision 2025 website. They are tasteful flash animations IMHO.