Typing French Diacritical Accents in Google Docs

After our recent move to the Google cloud and all the services within it like Docs and Gmail, our Languages department have had to face a few new challenges. We teach several different languages here at PLC Sydney and many of them requires the use of special characters. French, for example, uses accented characters like é, è, ç, å and so on. Prior to the move to Google, our language teachers knew all the various keyboard shortcuts to enter these characters into a program like Word or Outlook, and life was good.

After the move to Gmail and Docs however, these same keyboard shortcuts no longer worked, making the potential move to Google Docs seem like a bad idea for language teaching. “It’s ridiculous that Google Docs can’t do such basic things when it’s so easy in Word and Outlook” was the general consensus.

Searching for a solution online revealed that we were not the only ones who were struggling with this issue. Lots of people were complaining about the poor diacritical mark support in Google Docs. “If Google Docs is ever to be a credible alternative to Office, they really need to fix this!”

After Googling around for a solution, the suggested workarounds were (in my opinion) unsatisfactory from a user perspective (and hence me taking the time to write this blog post… hopefully this might be helpful to someone else trying to solve the same problem). The suggestions were…

Technique 1: Use the Insert > Special Characters option in Docs. Not only is this method really messy and cumbersome, it doesn’t solve the problem of typing a message in Gmail, where inserting special characters is not an option.  Not useful.

Technique 2: Use Alt Codes… basically you hold down the Alt key and type the 3 or 4 digit code for the character you want. Apart from being an extremely engineering focused solution rather than a user experience focused one, the Alt Codes only worked when using the numbers on the numeric keypad of a keyboard, and not when using the numbers from the top row of the keyboard. Given that almost our entire school userbase uses laptop computers, this would have involved typing Funtion+NumLock to turn the numeric keypad on, then holding down Alt while typing the 3 or 4 digit code, then typing Function + NumLock again to turn the regular keyboard back on.  That’s 8 or 9 keystrokes to type a single character! Hardly an elegant solution.

Both of these “solutions” were unacceptable to me.  I could not seriously expect a user to go to all this hassle just to type a single character, and in any piece of French text there were likely to be many of these characters needed.  The fact that Google Docs was so crippled in this regard was very annoying.

Then I tweeted about it, asking if anyone had a solution to the problem of typing these diacritical marks. Alex Guenther replied to say that it worked fine and it was really easy on a Mac, just type Option + the letter. I tried it on a nearby Mac and yes, of course it worked… right there in my open Google Doc!

Hang on… if the Mac can type these characters into the Google Doc, then it can’t be a problem with Google Docs. The problem has to be with the way the text input to Google Docs is being implemented within Windows itself.  As it turns out, the fact that we used to be able to use Windows keyboard shortcuts for these characters in Office applications, but now not in GoogleDocs, had nothing at all to do with the change to GoogleDocs… it seems that the Windows shortcuts won’t work in ANY environment outside of Microsoft’s own Office tools. The Mac, on the other hand, handles the text input for characters at the operating system level, not the application level… which is far more sensible.

Ah ha! The penny dropped… If that’s the case, maybe we just need to get something like TextExpander, a neat tool for the Mac that allows you to create customised, system-wide keyboard shortcuts. Once you define your shortcuts you just type those few keys and the text expands out to reveal the full version of the text… so, for example, a shortcut such as “ilu” could be defined to expand out as “I love you”, and be implemented at the system level and therefore work using ANY application on the computer.

Something like that might solve the problem… if we could have a system-wide keyboard shortcut that took a set of simple user-defined keystrokes like a` and converted them to à, would solve the problem nicely.  Unfortunately, TextExpander is only for the Mac.

A quick search using [windows equivalent of textexpander] turned up this article from LifeHacker which mentioned a Windows alternative called Texter. Even better, it is an  GPL licenced tool, so it’s free! We installed it and after adding a whole collection of French keyboard shortcuts, it works a treat!   We can now open a Google Doc, or any other application, and the shortcuts work nicely.  They can be a wee bit laggy at times, but the important thing is they work!

So, if you’re a Windows user who needs to enter French diacritical marks in Google Docs (or any other web application) the best solution seems to be to use a text expander style program to create customised keyboard shortcuts that work on the system level.

Here’s the interesting kicker to this story… In my initial frustration of thinking this was a Google Docs problem, I sent off a support ticket to Google’s eSupport team, complaining that not being able to enter accented characters into their software was a problem that needed to be addressed but thinking that, realistically, nothing would come of it. After all, this is Google right? The big faceless behemoth that worships the cult of the algorithm.

Over the next hour or so we worked out the solution using Texter mentioned above and realised that it was Windows that was the cuplrit, not Docs. But imagine my surprise when I got a call from Nicholas, a Francophone Google employee in Montreal Canada, who was calling me directly to help sort out our problem. We chatted for a while about the various options and I explained to him what we eventually did, but simply getting a call directly from the Big G was quite the surprise.

Sorry for blaming you Google Docs. ilu.

 Image from http://ilovetypography.com/2008/10/03/diacritical-challenge/

Taking control of your Calendars: Part 3

Thanks to everyone who came back to me with such positive responses to the last two posts… it’s great to hear that other people were also able to benefit from some of the things I learned about Google Calendars recently.

This final post will just tidy up a few loose ends and give you an idea of some of the extra things I’m doing with my calendars now they are set up the way I wanted them.  It’s working far better than I anticipated, and certainly far better than Apple’s MobileMe service ever worked.  And did I mention that Google Calendars are free? (I’m pretty sure I did!)

Add to TasksWe’ve touched on Gmail, Contacts and Calendars, and looked at how these can be synced to your iPhone and iPad. Naturally, they can also all be synced to your Android phone and tablet if you have one of those. But what about Tasks? In the spirit of GTD, it would really help to be able to have a decent task (ToDo) list that also worked with the rest of my digital (Google) lifestyle.

Gmail does have a Tasks list, although it’s pretty anemic. It appears as a tiny little popup at the base of the Gmail screen and it looks very basic, even nondescript. No wonder people miss it. And it is basic and nondescript too, at least until you start doing something more interesting with it. The goal is to use the Tasks list to become a storing place for emails that you need to act upon in the future.

It’s easy enough to do. When you get an email that requires you to take some action, either in general or by a certain date, just click the More Actions button and choose the Add To Tasks option. (If it’s more of an event than a to-do, you can also choose the Create Event option to add it to your calendar… you decide)

Once you add the email as a Task, you’ll then find it in your task list in the lower right of your screen. Click the small right-pointing arrow to dig into the new task and you’ll find you can set a few other parameters for the task, such as editing its name if necessary, setting a due date and leaving some additional notes.  For this exercise, just set a due date. Once you’ve done this, click the Back To List button to go back to the list view.

Where it gets interesting is when you look at your calendar now you’ll see the Task showing up on your calendar on the due date, complete with a little checkbox to tick once you’ve completed the task.  I really like the workflow here – taking an email and turning it into a task which them appears on my calendar. Yes I know that other systems can do this sort of thing, but I like the simple way that Google makes it happen.  I also need to thank Roland Gesthuizen for showing me this stuff… I never realised you could integrate tasks into your calendar in this way.

Of course, it would be really useful to have these tasks also appear on your phone so you could access them (and tick them off) anywhere and anytime you wanted. There’s no built in app on the iPhone to do this, but there is a third party app called GoTasks that does it very well. Install GoTasks (a free app!) from the App Store and your tasks will appear on your phone in a nicely readable list that syncs directly from your Google account. Nice one!

If you’ve managed to follow along and get all this working for you, here’s one more handy tip. The standard Calendar app on the iPhone is pretty basic, and although it still works ok, it’s limited in its features.  No week view or year view, no custom colour coding on calendars, no landscape mode, etc.  If your iPhone calendar app is leaving you feeling a little unimpressed you should try Week Calendar from the App Store. At AUD$2.49 it’s a bargain and well worth the cost. It’s superior to the standard calendar app in every way and is more like what the standard app should have been. A special hat-tip to Brent Walters from Ontario for putting me onto this app.

So there you have it… some hopefully useful suggestions for helping you migrate your key applications – mail, calendar, contacts, tasks – to the Google cloud and to have them accessible from anywhere. No more getting out of sync, of having important information stored on different computers, of worrying about it whether the dog ate it, or even just getting muddled and confused and losing stuff.

Put it in the cloud! Sync it. Access it from anywhere, on any device. That’s what I’m talkin’ ’bout!

Taking control of your Calendars: Part 2

Ok, hopefully you’re read Part 1 of this article and you now have your calendars all set up in Google Calendar instead of iCal..  Now let’s get that all synced up to your phone.

One of the biggest benefits of Apple’s MobileMe service it the way it keeps your iCal calendars in sync with your iPhone. Unfortunately MobileMe costs $129/year here in Australia (even though it’s only $99 in the US and our dollar is almost 1:1 at the moment… don’t get me started on that!) The good news is that you can get exactly the same sort of synchronization at no cost by using Google Calendar instead of Apple’s iCal, plus you get all the extra benefits of sharing calendars that only Google’s cloud can offer.

If you’re a Google user then you’ve probably set up Gmail on your iPhone. The trouble is, when you set that up you probably did the obvious thing and went to Settings, selected Mail, Contacts, Calendars and then chose the Gmail option. That seems kind of obvious, but there’s a much better way to do it. When you choose the iPhone’s Gmail option you get the option to set up Mail, Calendars and Notes. Notes? What about your Contacts? Wouldn’t you rather have those?

Setting up Gmail using the Exchange optionInstead of choosing the Gmail option, you should choose the Exchange option. You’ll still use it to set up your Gmail, but by using the Exchange protocols it actually does two important things. One, it allows you to set up Mail, Calendars and Contacts – much more useful than notes. And secondly, it opens up the option to use Google’s Sync Services.

On your iPhone, get started by going to Setting and selecting Mail, Contacts,Calendars. Tap the Add Account… option. Tap on Microsoft Exchange (I know, I know… you’re using Microsoft Exchange to set up Google’s Gmail on an Apple iPhone… how weird is that?)

In the Email field, enter you full Gmail address. You can skip the Domain field. In Username, enter your full Gmail address again. Enter your Gmail password in the password field. For Description, give it a meaningful name, like, oh, I don’t know… Gmail?  Finally, I’d suggest you make sure that SSL is set to On. Tap the Next button.

The phone will take a few seconds to verify your account, and then the screen will expand to reveal a field for Server. In here, enter m.google.com, and then press done.

You’ll probably want to turn on all three options for Mail, Contacts and Calendars. Mail Days to sync can be set to whatever you like… I have mine set to 1 Week. The Mail Folders to Push should probably be set to Inbox.  That’s it.

If you now check your iPhone’s Calendar you’ll see that you now have a Gmail calender in the list. Awesome. If you’ve previously had Gmail set up on your phone the regular way you can (should) delete it, or you’ll have two copies of everything.

But wait a minute… your Google Calendar has all those lovely layered calendars, and the iPhone is only showing one of them. What’s going on? Where are the others?

By default, the only calendar that you see is the Primary one.  If you’ve set up your work Exchange account, your primary calendar will be set to sync with your Exchange account since that’s a limitation of Google Calendar Sync with Exchange. To see the others you’ll need to do a couple of extra steps.

On your iPhone’s mobile browser, go to http://m.google.com/sync and select your device (you can set up multiple devices, such as your iPhone, iPod Touch or iPad)  On this page you’ll see all the secondary calendars you’ve set up on your GCal. Just tick the one’s you’d like to appear on your iPhone (up to 25 of them) and then tap the Save button at the bottom of the page. Done.

Now if you go back to your iPhone’s Calendar app, you’ll see all the secondary calendars in the list! Make sure there’s a tick next to all the ones you’d like to appear in your calendar list and you’re good to go. You now have perfect realtime syncing of calendars between your Google Calendars and your iPhone. Just like MobileMe gives you, but without the cost.  You also get your Gmail Contact list showing up on your phone’s address book too.

Speaking of contacts, once I decided that this Gmail mail/calendar solution was a clear winner, I also exported all of my contacts out of Apple’s Address Book on my Mac, then imported them into Gmail’s Contact list. It was silly maintaining two lists of contacts, and although there was a fair bit of overlap of the same people in my cloud-based Gmail Contacts list and my Mac-based Address Book, they were still two different sets of data, which used to drive me crazy. A single list of contacts makes much more sense, so by importing everything into the Gmail contacts and enabling that as my iPhone’s primary address book, it combines everything into one place. Of course, there were duplicate entries, but that was easily fixed in Gmail but going to the Contact list and from the More Actions menu selecting Find and Merge Duplicates. Too easy. I now have one single list of contacts, stored in the cloud, always up to date, and accessible from anywhere.

So far, I’ve got my school Outlook calendar feeding into my Google Calendar, aggregating it all into a single cloud-based calendar, and syncing it all back to my iPhone and iPad (as well as every computer I use). Perfect!

But what about iCal? I do still find iCal handy as there are occasionally times when I’m not actually connected to the web. Google Calendar doesn’t have an offline mode (yet!) so it would still be useful to have access to my calendar via iCal. If only iCal could pull its calendar data directly off the Google cloud…

It can. Here’s how.

iCal PreferencesBack on your Mac, open up iCal’s Preferences. Go to the Accounts tab and click the + button to make a new account. Under Account Type choose Google, then enter your gmail address and password. Give it a moment to validate that, then go to the Delegation tab.  As long as you’ve set your secondary calendars up at http://m.google.com/sync, you should see all your secondary calendars in the list. Tick the ones you want to appear in iCal and close the Prefs panel.

The secondary calendars will appear momentarily in iCal under a Delegates fold-down triangle. Each delegated calendar will be hidden one level down under an alias to itself, but just click the small triangle to reveal it and make sure it’s ticked. You now have a fully synced iCal calendar, including secondary (delegated) calendars, that all emanate from your single, source-of-truth Google Calendar. The best of all possible worlds!  The only thing you might want to do now (for both iCal and GCal) is spend some time picking better colours for your calendar layers. (It’s a bit annoying that the colour schemes don’t carry across, but hey…)

One last thing. I actually have my school email set up directly on my iPhone by creating an Exchange account and hooking it directly to our Exchange server at work. This means I actually duplicate my work calendar, getting two copies of it in my iPhone calendar list – once via the direct connection to the Exchange Server, and once by the indirect connection through Google Calendar Sync and via the Gmail setup. However, I deliberately do this because having the direct connection to Exchange gives me near realtime syncing to the school mail/calendaring system, whereas the via-Gmail connection often has a lag time of up to 15 minutes or more. But its an easy fix to go into the iPhone’s calendar list and untick the GCal copy of the calendar leaving only the direct connection, and now I really do have a calendar system that works perfectly and all without spending a cent on MobileMe.

Hope this helps some of you… If you use any of this, let me know how it works out for you!