Ubuntu 11.10, Eclipse, and overlay scrollbars

I’ve been having some problems with Eclipse on Ubuntu 11.10 with regards to the new scrollbars. Specifically, they just don’t show up. It seems I’m not the only one, and there is a bug report for it already. Naturally, I started Googling away, but found very little useful information and possible workarounds. A comment on this post led me to something usable. Here’s what you do:

  • Open up the Eclipse start-up script in a text editor. I did this with “sudo gedit /usr/bin/eclipse”
  • A few lines from the top you should see:
    export GDK_NATIVE_WINDOWS=true

    Comment this line out by placing a # at the front. (thanks to the comment below from @ModulosDePago)

    Add in the following lines below it:

    export UBUNTU_MENUPROXY=0 export LIBOVERLAY_SCROLLBAR=0
  • Save and exit.

Now when you start up Eclipse it should show the old style scrollbars. They aren’t as fancy as the new ones, but at least they work.

The overlay scrollbars should now be working as normally. If you still have issues, try the struck out solution I have posted above.

[Sidenote]: I did have some trouble getting the Eclipse shortcut back on the Unity sidebar, but a restart fixed that issue.

Posted in General Computing, How To | Tagged , , , , | 6 Comments

What I’m hoping for in Android Ice-Cream Sandwich

Over the past week or so (since the Samsung/Google event got postponed), we’ve seen a load of leaks for the upcoming release of Android – Ice-Cream Sandwich. Whether these leaks can be believed is for each person to decide for him- or herself, as we have seen that even credible sources can sometimes fall by the wayside.

With these leaks in mind along with previous releases of Android (specifically Gingerbread and Honeycomb), I have made a list of improvements that I am hoping for in ICS, and think aren’t too far-fetched.

Launcher
The default launcher in Gingerbread needs some work. I think I replaced it on the same day that I got my Nexus S, because it simply couldn’t do things that it should have been able to. Things like having more than 2 shortcut icons and the drawer launcher and having scrollable-widget support.

Honeycomb takes care of the scrollable widgets so I think it’s reasonable to expect this same support in ICS. Whether there will be more than 2 shortcut icons remains to be seen (there is no precedent in Honeycomb), though if the leaks are to be believed, this will be a reality. Hopefully, those shortcuts will also be customisable (i.e. the user can change them at their leisure).

Being able to place widgets similar to how one does in Honeycomb would be great, and again, if the leaks are to be believed, this will become truth.

It also wouldn’t go amiss to have some of the nicer transition animations that Honeycomb has, as well as the little known, but useful feature of tapping on the edge of the screen when in landscape mode to go to the adjacent home screen.

Notifications
Android notifications are already fairly good. So good, in fact, that iOS has mimicked Android, though that’s a discussion for another day. However, Android’s notifications aren’t perfect (WHAT?!).

In Gingerbread (and before) it’s possible to clear all notifications, but not one at a time. This means that you have to open up the ones that you want to and after you’re done, clear all the ones left over. It’s a slightly unintuitive procedure and it means that you might miss something important – a problem you would have less of if you could just take care of notifications from top to bottom (or bottom  to top), clearing them off or opening them as you see fit.

Honeycomb has gone somewhat closer to this ideal by allowing you to clear notifications one at a time, but for some reason they removed a way to clear all notifications.

A combination of Gingerbread and Honeycomb notification systems would be the best solution – giving the power and flexibility of both.

Widgets
The stock Android widgets have long been a sore point for me. The calendar widget is ugly and useless. The rest are OK in terms of functionality, but don’t really blend in well with the rest of the theme. It’s almost like they were cobbled together as an afterthought and abandoned thereafter.

Again, Honeycomb has come to the rescue to give some functional and visually rich new widgets. The new calendar, email, GMail, music, and YouTube widgets are all sterling examples, and I hope to see them all in one form or another in ICS. (There were some more recent leaks to suggest that this wish may also come true).

Apps
Let’s face it: some of the stock apps aren’t amazing. Sure, the stock messaging app is OK, but enough people disagree with me to give apps like Handcent and Go SMS Pro a substantial user-base.

The default dialer also isn’t that wonderful – some number-to-name-based searching (T9?) would go a long way there.

What about the stock browser? I replaced that with Opera Mobile so fast it made my head spin. The default browser on Honeycomb is oodles better, and if the reports are to be believed, we can expect to see Chrome on Android soon, though I’m guessing not at ICS launch day.

The apps can also do with some uniformity with regards to their interfaces. At the moment they appear to have been developed by completely separate teams with no uniform guidelines. I’m not one to put much stock in interfaces – my own designs usually suck and I much prefer function over form – but if you’re developing a suite of apps it’s better to have some uniformity to give users a baseline for interaction. Google has been working on that with their web-apps, and from the new Market and Music app designs, it seems as though they’re working towards unifying things.

Conclusion
There’s a lot of work that needs to be done (or, I guess, needs to have been done), and I really hope Google got around to doing it. There are some leaks and other, less obvious, cues that indicates that they have lived up to this, but only time will tell. I for one, am looking forward to the Google/Samsung announcement later this week.

Posted in Android | Leave a comment

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 , , , | 2 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.

Formatting

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.

Sharing

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.

Wrap-up

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.

Advertising.

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!

Competition

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 , , | 1 Comment