Archive for December, 2009

Knowledge Jam

December 30, 2009

This next Novello feature will blow your brains out!

First, some background. One of Novello’s main concepts is to steal ideas from the IDEs that computer programmers use. I use IntelliJ, which has got lots of little features to make you more productive. Most IDEs try to make it easy for the user to do everything they need to do with the keyboard alone. The learning curve is steeper than with a mouse, but once you’ve learnt a few keyboard shortcuts you start to feel the power sparking in your fingertips.

When you’re writing code with Intellij, the first magic keyboard spell you learn is control-space. Control space will do different things depending on where you are in your code. So I have made control-space the all powerful command in Novello. When you’re typing away, spewing forth your literary masterpiece, control-space will always be there to help you. It is also there if you are reading through someone else’s work in Novello.

Anyway, control space brings up a (as yet small) menu of commands for you to access. The one I’ve just added is a Wikipedia integration. Here’s how it works:

  1. Either select the phrase you want to look up, or do nothing if you want to look up the word where the cursor is located and do control-space:
  2. Choose “Lookup: (your word)”:
  3. You are then presented with snippets from all Wikipedia articles that are closely related to your word:
    You can then either hit “escape” to return to the editor or select one of the snippets to open it in your web browser.

If you’re interested, I used Wikipedia’s webservice API documented here.

While I was looking for this webservice (which was difficult coz when I googled for “wikipedia webservice api” I just got hits about webservices and apis in wikipedia itself) I also tried to find a Google webservice that I could use. Interestingly, Google has recently removed their webservice claiming that their new AJAX API is much better and easier to use. This is bullshit. The only reason they have removed their webservice is because then it would be possible for computer programs like Novello to do google searches without dishing up the ads to go with it. Google is indeed becoming evil.

More on Collaborative Stories

December 28, 2009

Why collab stories? Well one of the features of Novello is the SVN integration, which effectively means I get a backend for free. Subversion is normally used to allow developers to work on the same code. So I thought maybe writers could use it to work on the same texts. Code and text are pretty similar you know. Actually code is just another kind of text.

Collab novels and stories have been tried (and have failed) before, so I’m not jumping around thinking I’ve invented the next big thing, but it is fun to play around with the idea. Even if collab stories don’t work, there is still a lot of value in having your document stored in a safe location and allowing others to edit it. Google docs offer this but I think I could do better than them, because using SVN means that users don’t have to store their life’s work in Google’s cloud, they can decide where to put it.

Perhaps it’s more realistic to say that I can’t really beat Google, but can offer a niche tool especially geared for writers, whereas Google has to try and please all the people all the time.

Collaborative Stories With Novello

December 28, 2009

This is an attempt at trying a collaborative story with novello.

To try this:

1) Get a username and password at sourceforge. This is where I am hosting the collaborative workspace for now. You can trust them, they host some of the world’s biggest and best open source projects. Their servers are a bit slow though.
2) Launch novello.


3) For SVN Location choose: https://novello.svn.sourceforge.net/svnroot/novello/books/collab_shorts/collab-shorts.xml

4) For Location choose somewhere where Novello can save its files on your harddisk. I use C:\Documents and Settings\davidw\novello on my windows laptop

5) Enter your username and password that you got in step 1

6) Press ok and wait (for some time) for Novello to download the workspace from sourceforge. Then, have a play around.

Leave comments here or mail me direct to ask for help and give feedback

WillReadBooks

December 22, 2009

I found someone out in cyberspace who reads and reviews books called Cassie Snow. Check it out here. I paid her $4 to read it! However I think it was well worth it because I finally got someone I don’t know personally to read my book. She also posted a link to my book on her blog and added a review to amazon.com.

Having said that I still think she was almost too kind, perhaps because I was the first “customer” for her book reading service!

Novello – Thesaurus

December 18, 2009

This is nowhere near finished yet, but I have added a thesaurus feature to novello. It is fun to play with. Just start Novello and then, when the cursor is in a word press control-T and you get a popup of suggested words:

MS Word also has a thesaurus, but in Novello the user is forced to access the thesaurus via the “control T” key combo. Therefore users learn to work faster!

The thesaurus service is currently pointing at a webservice provided by http://words.bighugelabs.com/ . We get 10,000 word lookups per day for free.

The code is really simple to do the look up. Line 14 downloads the result from bighugelabs and the rest of the code parses the result. The m_cache variable stores results for words we’ve already looked up, therefore we don’t use up any of our 10,000 requests unnecessarily!

public class ThesaurusService
{
    private static final String URL = "http://words.bighugelabs.com/api/2/?/%s/";

    private Map<String, List<String>> m_cache = new HashMap<String, List<String>>();

    public List<String> suggest(String word)
    {
        List<String> options = m_cache.get(word);
        if (options == null)
        {
            options = new ArrayList<String>();
            m_cache.put(word, options);
            String result = FileUtils.downloadToString(String.format(URL, word));
            if (result!=null)
            {
                String[] lines = result.split("\n");
                for (String line : lines)
                {
                    int i = line.lastIndexOf('|');
                    if (i != -1)
                    {
                        String option = line.substring(i);
                        options.add(option);
                    }
                }
            }
        }
        return options;
    }
}

Oomlings!

December 11, 2009

I just planted another seed and started a Ning social network: http://oomlings.ning.com/.

Join now and help shape it! Not sure what it will be yet. Maybe it will just be a chatroom for the family, maybe we could become a group of science enthusiasts discussing how the technology in the book might be made possible for real in the future.

It was childishly simple to set up a Ning social network. Ning was recommended to me by my computer savvy mum a while ago. Ning looks VERY much like facebook with a different CSS stylesheet, but the difference is you can have your own little bubble for you and your friends. I guess Ning hasn’t really taken off like facebook, precisely because its networks are closed. But it’s great software!

Novello – Gamma Testing

December 10, 2009

I have been working hard on my Novello book writing application lately. It is not quite ready for beta testing, but if you’re curious you can have a look here.

It is implemented in Java and I would be interested to know if the following link works for you:
http://novello.sourceforge.net/webstart/novello.jnlp

Good Reads Ad

December 4, 2009

Goodreads.com have recently started paid-for advertising on their site. I thought I would try that with $5 per day for a few days. You pay a flat rate of $0.50 per click. I like the idea of the flat rate, but I guess they will not be able to keep it like that if the demand for advertising slots exceeds supply – they will have to adopt some kind of bidding system like Facebook and Google.

Here is the ad:
Yesterday I got all 10 clicks ($5/$0.50=10!) and a click through rate of 0.05%, which is reasonable. It may be more sensible to use Goodreads to try and generate interest in the book rather than try and lead people straight to the Amazon purchase button – that just ain’t gonna work!

Goodreads Giveaway

December 4, 2009

At least I don’t have to suffer the humiliation of saying: “I couldn’t even give my book away”! Yesterday I set up a giveaway on Goodreads.com (US users only) of 10 books and I already have 26 entries. Hopefully the ten “winners” will read the book and review¬† it.

I think the goodreads site is pretty good for both authors and book-lovers. I started using the site purely to find out how to promote my own book but now I have actually started to use it from a book-reader’s perspective.

Google and Facebook Ad Update

December 3, 2009

Here is a comment I posted on Goodreads.com:

I found Google AdWords really bad. They have an automated system that checks that the site your ad links to is relevant to the keywords you choose. I linked my ad to my book’s page on Amazon, using keywords that I know very well to be relevant.

After some initial success ( a few clicks, although no sales) Google stopped showing my ad and marked it with a low quality score – its algorithms did not think my keywords relevant because the algorithms are not clever enough to actually read through my book!

I am very suspicious of their cost model. They act like a drug dealer: they get you lots of clicks really cheap at first, then they coerce you into raising your bids to retain the same rate of page impressions.

I found Facebook much fairer. They have a similar cost model and will raise prices if your ads do not generate a good click through rate, but they do not try to be too clever like Google and start spidering the site your ad links to. With Facebook it is also possible to make small tweaks to your ad and then it will give you another chance and give you lots of cheap page impressions before it ascertains the quality score. This actually helped me to improve my ad’s quality, because I was able to experiment with the ad’s target demographic. You can also show your ads to specific groups such as “people who like reading” or even “people who like Australia or aliens”.

However, as I mentioned, the adverts generated clicks but not sales and so it extremely difficult to measure whether they are worth the money.

All in all I thought this was a great experiment and I’ve learned a lot. I am a little embarrassed at my former optimism (see earlier posts!) but it was to be expected. There is definitely no quick and easy way to success.

My focus now is simply to get people to read the book, preferably people who have no connection to me. And I cannot expect people to pay to do me this favour, so I am going to organise a book giveaway through GoodReads.com.