In this article, I want to share my development experience for the Kindle 3 (now the Kindle Keyboard). This article does not contain any criticism of Amazon, its team, services and materials provided to me as part of the program (in this regard, I am bound by the agreement of the participant in the beta testing program).
A bit of history
This winter, I bought a Kindle 3g. I liked the device - it had great potential. Memory, wi-fi, 3g, Linux, microphone (not used). I then thought - if the response time of the screen was lower, then the reader could easily be used as a replacement for the tablet or phone. In the end - many here half-life watched a black and white TV, and it was quite enough.
After a couple of days of use, I wanted a larger Russian keyboard and a normal player. The Internet said that all this can be put, but you need a jailbreak. By that time, I had already read the news about the removal of books by Amazon, and I was scared (in vain) that Amazon could block access to a free 3g, or even send a self-destruct command to my Kindle (joke). By this time I had been studying English with a tutor for half a year, which showed me an excellent
Anki program. I really wanted her port to be on the Kindle. In addition, I started going to free Java courses at Softserve IT Academy. All this resulted in the fact that for my final project at the academy I decided to write an analogue of Anki for the Kindle.
KDK beta program
I knew that Amazon started the closed beta testing of the Kindle SDK (KDK). Thinking "what the hell is not joking," I sent a
request to participate in the program.
I took a risk here - if I didn’t get a place in the program, I would have to write an application “by touch”, using the SDK, which the craftsmen extracted from the Kindle itself, without full help and javadoc. As I understood later, I could not have done it.
Correspondence with the manager from Amazon was about a month, he asked for a description of the application (in the terminology of Amazon - active title, or Kindlet), sketches and a schedule of releases of each functionality. I sent all this to him, I was accepted into the program. I was delighted and began to code.
A little about the application itself
The application was created to help users learn any facts presented in the form of question-answer cards. Card-based learning works like this: you see a question card, recall the answer, and then watch this answer on the other side of the card. After that, you can evaluate your knowledge (well, moderately, poorly, I don’t know) and this assessment will affect the time of the next card display. There are several examples of decks with cards in the application, but it is assumed that the user will create decks himself, add cards to them and teach them. Interface languages ​​- Russian, English and German. Layouts with symbols of German, Spanish, Russian and Ukrainian languages ​​are supported. There is a built-in help.
The KDK, the iron of the Kindle, and the policy of Amazon imposed some restrictions on the application. They had to get around, moving away from full compatibility with Anki. It was not possible to make file compatibility (only one-sided export of Anki decks in the form of tab-separated txt is possible) and synchronization with decks on the server. The hack of a physical Russian keyboard did not work in Kindlet, I had to write my own layouts for alternative languages. The application was tested only on kindle 3 / 3g (keyboard) and kindle DX (the latter is only in the simulator).
')
Attempts to contact
After 3 months, I completed the development, held a graduation presentation at the academy and told the manager that everything was ready. He asked me to send the application for review and testing. I sent, and began to look forward to hearing. 4 months have passed since that moment. I did not receive any feedback. About a month later, I began to gently remind myself. I wrote to the manager, wrote using the support contact form, wrote in the internal developers forum. The answer came after 3 months, with a request to arrange a rally on Skype. I was delighted again, and we agreed on time. This is strange, but we could not find each other on Skype - he did not see me, and I only saw him as an offline contact. After two attempts to contact via Skype, the manager asked me to find some conference number in the EU or the USA. I scratched my head, but I was able to solve this problem by sending the manager a conference number, and at the same time my mobile number (you can call him cheaply from Skype). From this moment the letters began to return to me as undelivered.
I wrote again to the developer forum, where a guy answered me, a program member like me, but more successful. He said that he had no problems with communication, and his applications fast without problems in the Amazon Market, bringing a small, but still profit. He gave me the contacts of another manager, who, incidentally, did not answer me either. Then I thought "enough."
Enough
The idea that an application that can be useful to many is not used at all, can drive any developer’s mind, even an amateur like me. It was decided to put my Kindlet in the open access, which I did. Unfortunately, the installation requires a jailbreak and an additional hack that installs developer keys on the Kindle. The installation process of all this has long been described by one good person who writes other useful applications for the Kindle. The link to the instruction is in the
Download section of the site, which I launched to support my application.
In custody
I want to express my deep gratitude to the KDK developers, I really enjoyed working with him. I am far from a guru of developing for mobile devices, but, compared to other development environments (Android SDK, xCode), the KDK is pretty friendly. It's my personal opinion.
I also want to express my gratitude to Softserve IT Academy, in which I learned a lot and allowed my brain to be stirred after several years of obsession with web development.
I am also grateful to my wife, who completed the translation for the German interface.
And finally - thanks to everyone who develops Anki.
Sorry if it looks very pretentious, as if the epigraph to a thick book. I'm already finishing up.
Summary
It is quite possible to get into the KDK beta testing program if there is a project of a useful application (or game). Making money by developing a Kindle is also quite realistic; such people exist. You can also write a Java application without knowing it at the beginning of the project, you just need to want it.