The idea behind Writefull

For those of you who write on a regular basis, it’s nothing new that writing isn’t always easy. We ourselves have to write a lot for our work — and often this is in English, which isn’t our native language. And we often struggle. The hardest part is judging if we’re saying things the right way. Sometimes we write sentences and realise there’s something odd about them, but we’re not sure what it is. Other times we get only halfway: we have a sentence in mind, but we’re looking for a particular word we can’t come up with; or we do know a word that would fit, but we just want to use another one. These difficulties can make writing slow and painful.

How did we deal with this? Like most people do: by using Google. That is, by endless visiting and re-visiting the Google webpage to enter chunks from our text, and checking how often they were found on the Internet. The more results, the more accurate. And it’s not just us — as soon as we started admitting this (slightly embarrassing) habit to our friends, they knew exactly what we were talking about. It seems that everybody does it.

So this is where the idea of Writefull came from. We needed a tool that would show how often a chunk was used, but it needed to be easier and quicker than using Google. Our first idea was to have some sort of live checker, so that users could write in a browser window and would instantly get feedback on what they had written. As you can probably guess, this wasn’t straightforward to get done and almost impossible to use. The feedback turned out to be overlapping, inaccurate, and interfering. We figured that, rather than bombarding writers with continuous feedback, it would be better if they could select the chunk of text they wanted feedback on. This was a good move, as it also meant that the writing didn’t have to be done in a browser window. It could be done anywhere.

But with users writing somewhere else, how could the app provide them with feedback? We wanted something non-interfering; invisible to the user, but only appearing when requested. A popover was perfect for this. Users could activate the popover, get their info, and continue writing.

Another question was what feedback to offer. We thought users might want to know more than the number of results. So we decided to add a few options tailored for writing: examples of how your chunk can be used, and lists of words or synonyms that are used most frequently in your selected context.

We were happy with those options, but we weren’t there yet. The next question was where to get the feedback from. We looked into several search engines such as Google and Blekko. Although these have obvious advantages (they’re massive, they don’t take space in the server, etc.), their drawback is that they include random language from the web, which also means slang and grammatical errors. Not good. As the whole idea behind Writefull was to assist in writing, its feedback had to be accurate.

This is where the Google Books database came in. Although the size of it was slightly daunting, it was obvious that the language of books was perfect for giving good feedback. It took several weeks of extracting and organising, but it gave us a trustworthy database in the end.

But we soon realised that this wasn’t good enough. There were two limitations to the Google Books database. First, it organises all its text in smaller chunks that range from 1 word to 5 tokens (including words and symbols). This means that users wouldn’t be able to search the database for any chunks longer than this. Another drawback was that it only covered English, and we figured that this just wasn’t enough. This finally led to the addition of Writefull Web, which is an edition that uses data from the Internet; this offers all the flexibility users might need in terms of tokens and languages.

Of course we won’t be taking it too easy from now on. We have a lot of exciting things in mind. The first step we’ll probably take is to add more languages for the Google Books edition, but this is just the beginning.

We find communication with our users very important. If you have any ideas or comments, please do let us know. You can find more info on our page.