Amazon Kindle update: What does it mean for SendToReader and DroidToReader?

I received an email from Amazon yesterday evening informing me of some updates to the Kindle Personal Documents service. The updates are as follows:

  • Documents are now archived in your Kindle library.
  • Archived documents can be re-downloaded to the new Kindle and Kindle Touch devices as well as the older Kindle Keyboard – the latter requiring the new 3.3 update.
  • Whispersync now syncs the last page read, bookmarks and annotations (except for PDFs).
  • These features will probably be extended to the Kindle Fire and the platform-specific Kindle apps.

It looks as though these new settings aren’t being applied retroactively, so you’ll only be able to re-download newly sent documents (as in, documents sent after the update) from the Kindle device itself. You can, however, log in to your Amazon account via a browser and send previously sent items to your Kindle.

This makes the SendToReader (for which I wrote an Android app called DroidToReader) service even better, because it means that you can read your articles, delete them, and re-download them from your Kindle archive instead of having to go find the article again and sending it to your Kindle again.

What’s more, it looks like Amazon wants to enhance their platform-specific apps to include this feature as well. With SendToReader/DroidToReader, this effectively means that you can send articles from your PC/Android device to any (and every) device with the Kindle app. Amazon then syncs your position, bookmarks and notes with that item.

I’m excited about this – it means that my reading can become even more synchronised and I have to be less reliant on a single device. I’ve long wondered why it’s not possible to send things to my tablet or phone Kindle apps for offline reading, and it looks like Amazon is asking the same question (and coming up with an answer!).

Here’s hoping the update for the Android app comes soon!

Posted in DroidToReader | Tagged , , , | 3 Comments

New app on Android Market: PaSTE

Today, I am happy to announce my second entry into the Android Market: Plain and Simple Text Editor, or PaSTE.

The idea behind it is fairly straightforward: text editors for Android are usually just note-taking applications. They’re built to take short notes quickly and not really made to do anything more substantial. Some of them can be used for more complicated things, but they can get tedious. Additionally, none (or perhaps very few) are designed with hardware keyboards in mind.

I would like to be able to write articles, reviews, blog posts, etc. on my Transformer as easily as I can on my PC and perhaps even easier. These creations should be easily transferable to my PC or to the cloud for later use and editing. For this reason, I have created PaSTE.

Creation, editing, management and saving

PaSTE allows you to create, edit, and manage documents (for lack of a better word). Documents are saved locally to your internal storage, but this location can be changed in the settings. You can create a new document by hitting the button in the top-right corner of the first screen, or by pressing Ctrl+N (Ctrl+N also works when already in a document).

Additionally, saving happens automatically by default. If you exit the app, switch to a different app, or navigate back to open a different document, your document is saved. If you don’t like this, you can turn it off in the settings and then a prompt will show up when you try to exit asking if you want to save. You can also turn that prompt off if you like.

Still not enough? Fine. How about saving the way many of us are so used to: Ctrl+S – that’s enabled too. Don’t have a keyboard? There’s a button on the screen.


PaSTE has some common formatting options: bold, italic, and bullet points. I want to introduce numbered lists as well at a later point.

These formatting options are available via the on-screen buttons – either on the left or at the top, depending on the orientation of the device.

If you have a keyboard, though, you don’t want to have to dirty up your screen or reach over with a mouse every time you want some formatting – you want shortcuts! Ctrl+B will enable bold mode and/or bold selected text while Ctrl+I will do the same with italics. Ctrl+L will create a bullet point and while in this mode, a bullet point will be created at the start of every line after hitting “Enter”.

File format

PaSTE makes use of simple HTML formatting, so it saves files to .html files. At the moment, the formatting is a little dirty – I am working on cleaning that up.

These files can be opened in LibreOffice without any complications and can also be converted by Google Docs.


Documents created in PaSTE can be shared with other applications thanks to the amazing sharing features in Android.

Long press on a document and select “Share” or select the same option from the options menu while a document is open and select the application to share with. Files can be uploaded to Dropbox, sent to Google Docs, or sent as email attachments (and I’m sure there are other apps that I haven’t tested). A note with Google Docs sharing: it works best if you select the option to convert the document to the GDocs format.

A final note on sharing: Seeing as I’m using the built-in sharing feature in Android, to share the files with an app you need to have the app installed.

Anything else?

I like to know how much I’ve written, so in the bottom left or top right corner (again, depending on orientation), there’s a word count. If you don’t like it, you can also turn that off in the settings.

Finally, undo and redo functions are also available via the options menu or by hitting Ctrl+Z or Ctrl+Y respectively.


Plain and Simple Text Editor (PaSTE)  gives you a good text editor with some formatting options; autosaving to a file format that can be read by other apps; sharing capabilities; word count; and undo and redo functions.

I’m open to feedback and suggestions, and would love to hear your comments on it. PaSTE is available in the Android Market for Android version 3.1 and up for free.

Posted in Android, Development, PaSTE | 5 Comments

Why Google likes the Amazon Fire

Amazon announced the Kindle Fire a few days ago, and it made some waves. It’s going to be very tightly integrated with Amazon services (including the Amazon appstore), and it’s not going to have any of the usual Google apps on it (like Maps, Gmail, and most importantly, the Google Android Market).

Some have even gone so far as to say that Amazon may turn Android against Google. I disagree with these people.

Amazon may turn Android against Google

The idea behind Android was to create an OS that would power families of smartphones. It was always intended to be open source and always intended to be free.

I think as time wore on, “families” became more like “hordes” and “smartphones” became “smart devices”. It must be exciting for the creators of Android to see where and how it gets used – often enough for things things that they had never thought it would (or could) be used for.

The Kindle Fire fits right in: it’s an Android-powered device being used to bring media and entertainment to consumers.

But Google apps aren’t included…

So what? Amazon has so far made it pretty clear that they intend this device to be a media consumption device. Why then would you need GMail or Google Maps applications?

If you really want to get to some of those services, you have a capable browser that can help.

Google Market isn’t included, so Google isn’t going to get anything in return. Google won’t get paid. Google is effectively giving Android to Amazon for nothing and won’t ever get anything.

One poor soul went so far as to say:  “The exclusion of Android apps and services allows Amazon to capture these revenue opportunity greatly limits Google to make money off the Kindle fire.”

Stop. Question time. How does Google make money? Think carefully.


Google sells ad-space. When you search using Google, those ads may be displayed and you might click on them. Advertising makes up the biggest chunk (by a large margin) of Google’s revenue.

Amazon is releasing an Internet-capable device with a browser. I think it is safe to say that most people use Google to search for stuff on the Web. So when you open up that “fancy” browser on the Kindle Fire and you search for something, it’s likely that you’ll use Google. Google will then be able to serve you their ads, and you can click on them, and Google gets paid.

What’s more, the Kindle Fire, with its big push as a media consumption device, is a device that many people who wouldn’t otherwise consider a tablet will consider buying. This means many more devices in use than before – even better for Google!


The Kindle Fire is certainly competition. For the iPad? Probably. For other Android tablets? Definitely.

But does it represent competition for Android as a whole? No, I don’t think so. Amazon has taken Android and customised it to suit their needs – what it was intended for.

In the end, competition is great and the ultimate victor, is the consumer.

Posted in Android | Tagged , , , | 1 Comment

How to add keyboard shortcuts to your Android app

With a simple keyboard accessory, a tablet becomes a decent approximation of a netbook (which might be part of the reason they seem to be eating into that market). The problem is that not many Android developers make use of keyboard shortcuts in their apps, and this got me wondering:

  1. Does Android allow for keyboard shortcuts?
  2. Is it hard to code into your app?

The answers are:

  1. Yes.
  2. No.

Elaborating on question 2: In an Android activity, there is an onKeyShortcut method that one can override to provide global keyboard shortcuts for that Activity. Below follows a small example:

Code for keyboard shortcuts in an Android app


The above example only takes care of a single shortcut for Ctrl+B, but more cases can be added for more shortcuts. The event paramater can also be used to check if other meta-keys are pressed, which allows for a wide variety of keyboard shortcuts.

This shows that it’s not particularly hard to add keyboard shortcuts to your app, and they really are useful for your (slightly) more advanced users.

Posted in Android, Development, How To | Tagged , , | Leave a comment

DroidToReader: Send web pages to your Kindle from your Droid

SendToReader is a web application that allows you to send web pages to your Kindle. Pages sent this way are formatted so that they look and feel like a Kindle book. This means that you don’t have to read long articles on your computer monitor which, many will admit, does strain their eyes.

Why am I telling you about SendToReader? Because I’ve created an application that makes use of the SendToReader API and allows you to send pages from your Android-powered device to your Kindle. It’s called DroidToReader.

To use this, you’ll need a SendToReader account. Get one by clicking here.

After installing DroidToReader, open it and enter your SendToReader username and password. You can check that everything is correct by pressing the menu button and tapping “Test credentials”. If everything went OK, you can now send web pages to your Kindle by tapping on the DroidToReader option in your Android browser’s “Share” menu. (sidenote: By “Android browser” I mean whatever browser you’re using. I tested it with the stock browser and Opera Mobile and both worked fine)

That’s it. DroidToReader is live in the Android Market and is compatible with Android 2.1 and up (Honeycomb included). Go get it and enjoy reading on your Kindle.

Posted in Android, Development, DroidToReader | Tagged , , | 5 Comments

DRM: A true story (involving Dragon Age 2)

DRM. Three letters that make every honest gamer’s skin crawl. It’s an acronym for “Digital Rights Management” and it’s present in almost every digital media out there – music, film & video, ebooks and, yes, games.


In most cases it’s non-intrusive – you don’t realise or care that it’s there – but there are cases where it steps over the line. Today is one of those days.

At about 14:45 I received an SMS from my local games store to inform me that my copy of Dragon Age 2 can be collected. I found this a little odd as it’s only scheduled for release tomorrow and as such I phoned the retailer. They told me that I can indeed collect my copy as they have received instructions to allow it as the embargo had been lifted. About twenty minutes later I get another SMS from the head office of this franchise informing me that it is indeed so.

Happy at this turn of events I head over, collect my copy, come home and install. It’s here where the happy story ends.

You see, the retail, non-Steam, version uses different DRM than that of the Steam version. It requires a CD-key (fairly standard) and after installation, an online authentication. The latter is called “Release Control” and checks against the date on the server whether or not the install has indeed passed that date and time.

Seeing as the game is only officially scheduled for release tomorrow, the check fails.

I’ve paid my hard-earned money and installed the game. I’ve done my part in this transaction, but now I have to wait for some arbitrary date to pass. It’s like completing your withdrawal at an ATM and a security guard comes over and tells you that you can only take your money out after he comes back from his lunch break.

The fact here is that pirates have been able to play the game for some time already. People who ordered on Steam have similarly been able to play for the past two or so days. The only thing that DRM has accomplished here is that it has successfully angered a loyal customer (again).

The only thing that could make this experience even better would be that instead of days of awesome Dragon Age 2, I get treated to Ms. Pac-Mac.

Posted in Malfunctions, Retail | Tagged , | 1 Comment

How to Get Your Hands On Elusive Tech

Getting your hands on the latest technology can be quite difficult, especially in South Africa where we often don’t see the latest gadgets until a few months after its launch overseas, if at all. The onus is thus up to us users to figure out how to get out hands on some face-melting gadgetry.

The obvious answer to this problem is to either get whatever you want when you go overseas or to ask a friend to get it for you when they go, but what if you aren’t traveling anytime soon and you don’t have any friends with frequent flier miles either?

NYBox (formerly MyUSBox) and MyUS were the two considered options, with NYBox winning out as they offer a free account which then charges slightly more on shipping fees.

I don’t buy from overseas very often – this was, in fact, my first time – so slightly more shipping was not a problem.

These sites give you a local street address in the US where you can deliver packages to, and further allow you to forward packages to an overseas (non-US) address by means of DHL or FedEx. Along with that, they also offer a “Buy for me” service in the event that a retailer refuses your credit card or the product you’re looking for is not online to buy – obviously for a fee. You can also consolidate packages so that you can ship one package instead of a bunch of small ones and you can ask them to re-invoice a package.

After opening your account and getting your own street address, you can go ahead and shop. I wanted a Nexus S (as I am fairly certain it will never see the light of day here) so I went over to Best Buy and ordered one. It required some creativity on my part – Best Buy allows foreign credit cards by giving you a local billing address, but they point blank refused my cellphone number, so I had to put in a dummy number and hope for the best. Lo and behold, a day or two later they cleared my purchase and the package was on its way to my NYBox.

Once there, NYBox notified me (it can take up to 6 hours after it shows up as delivered in whatever tracking system) and I was able to forward it to my address here.

In short, it took just over a week to get my hands on my very own Nexus S, and, without any added voodoo on my part, it cost less than R5000 all inclusive. That’s a very reasonable price for latest and greatest tech, in my opinion, and it definitely compares favourably to things like the Desire HD sold in South Africa for about R6500.

It may not be the optimal solution, but it is certainly a viable one with good service at competitive rates, and I’d say that South African tech retailers may want to consider getting some new socks to pull up, as it may slow down their business if it gets out that people can get their tech faster elsewhere for less.

Posted in How To, Retail | Leave a comment