Yeah, there's a program, I've forgotten what it is, though. Hang on, let me search....
How can I create my own .abk opening book?

I'm not an opening book expert, but I don't see how a polyglot adapter can be used to create an abk book. I think it will allow you to use a polyglot book in Arena, if that's what you want to do.
I did find this tutorial (although it looks like the tutorial was made in 3 minutes).
http://www.chess2u.com/t4215-how-to-make-abk-book-arena-step-by-step-tutorial

I'm not an opening book expert, but I don't see how a polyglot adapter can be used to create an abk book. I think it will allow you to use a polyglot book in Arena, if that's what you want to do.
I did find this tutorial (although it looks like the tutorial was made in 3 minutes.
http://www.chess2u.com/t4215-how-to-make-abk-book-arena-step-by-step-tutorial
When I last tried Arena had a nice bug in its book handling system. If you created a book manually with Arena it could not handle transpositions in a correct way. I don't know if this bug has been fixed but be very careful. This was the main reason I looked for other chess interfaces. Now I'm using Aquarium which comes with a good book and handles transpositions correctly.

Arena still has that glitch and some others, the polyglot doesn't work for books, I'll try with Aquarium

In fact I got sick and tired of chess GUIs that don't do what I want.
I have an own GUI written in Perl, it has a book that can handle transpositions properly ( it can even build a book using engine output ). The only unfortunate thing is that it requires some non core Perl modules which makes it less portable - so to try it you have to make some effort installing Perl ( not too difficult ) and the required modules ( difficult for someone not well versed in Perl ).
Here is a screenshot:

In fact I got sick and tired of chess GUIs that don't do what I want.
I have an own GUI written in Perl, it has a book that can handle transpositions properly ( it can even build a book using engine output ). The only unfortunate thing is that it requires some non core Perl modules which makes it less portable - so to try it you have to make some effort installing Perl ( not too difficult ) and the required modules ( difficult for someone not well versed in Perl ).
Nice! How's it called? How do I obtain it/install it?

Look, this program was intended for my personal use solely.
Still, you can obtain it here:
https://github.com/tkgui/chessgui
Installing it, well this is not that easy.
You need Perl to be installed on your computer with all the modules that my program uses. Installing Perl is easy ( there are distributions with installers like ActivePerl, Strawberry Perl, etc. ). Installing the modules, especially the Tk module ( which provides the graphical user interface ) requires expertise in Perl. Also note that currently the program uses the Windows clipboard module, so the only platform it runs on is Windows.
Once Perl and the modules are installed, to install the program you download the repository from GitHub and unzip it, to run it you simply click on chessgui.pl in the root directory of the repository.
I only recommend to fool around with this program for people who have experience with Perl.

I'm currently converting my program to Java.
By now I managed to equip it with a book in which you can manually set move annotations ( transpositions are not a problem, because move values are linked to fens rather than move sequences ).
The only thing you need to run it is the latest version of Java installed on your computer.
You can obtain it here:
https://github.com/javachessgui/javachessgui
Screenshot from setting annotation:

I made the first step toward Aquarium style deep analysis. Now the program can analyze a position by making all the moves in the position one by one and evaluate the resulting position. The evaluations are recorded and the moves are sorted accordingly. This way you get a full picture of the position, and this is persistent ( the evaluations are remembered and become part of the book ). Also to every move you can find the engine's best answer by clicking on it.
If you don't like the engine's evaluation, you can annotate the moves and this takes precedence in ordering:
I want to create a .abk opening book. I also want to know other easy ways of creating opening books. Any good way? Someone knows how to program a.abk file? Any examples?