Saturday, July 30, 2011

About Google's hard ware

This week I had the chance to get my hands on two products of Google that aren't yet very popular. I'm now going to tell you how I like both of these products, which one I'll buy before the other one and what I expect from Google to do with these two products.

Before I start jabbering away about Chromebooks and Android please let me apologize for any mistakes I made. I wrote this post around midnight on a tablet.


Logo of Google Chrome
Chromebook
On Tuesday I had a hands-on with a Chromebook from a colleague from our local GTUG (thanks for the nice evening guys!). Nice keyboard, not too heavy and the touchpad is better then everybody's talking about. However, it's not THE device. As I inspected that thing I thought about possible use cases: mom and dad surfing the web and checking their mails, web developers who already use a cloud IDE (Cloud9IDE, Eclipse Orion, ...), students taking notes, ... There are actually a lot of cases where one'd want to use a Chromebook. But, that doesn't mean the battle is already over for Honeycomb! Let me first tell you about my tablet experience:

Logo of Android 3.0 aka Honeycomb
Honeycomb
We purchased an Asus Transformer at our company in order to optimize our apps for Honeycomb (blog post about that coming later, too). The first hours I was a little shocked about how many of Google's apps are yet to be optimized for Honeycomb. Then, the more I used the tablet, and more importantly, the more I developed for Honeycomb, I started enjoying the benefits of having so much space available on the display. Most of the games I already enjoyed playing on my phone before unleashed even more fun on a tablet. MiniSquadron: no more hurting fingers! Reckless Racing: Gorgeous graphics!

One more thing left I felt very sceptical about: Writing long texts without a physical keyboard? In fact, this is a problem I'm tackling right now as I'm writing this post - because I'm writing it on my tablet. I was able to write short queries fairly accurate from the very beginning, but it took some time to get really used to this keyboard. All in all the shipped keyboard is very accurate and correcting typos pretty good.

Looks like my expectations almost completely failed: The Chromebook's biggest advantage isn't it's keyboard - it's the browser. I mean Honeycomb's browser gained a lot of great features (which I'm going to list in a seperate blog post), but viewing heavy sites like Google+, still isn't what you want to see every day: blurry and sluggish.

Conclusion, and the future
At the moment I think these two products are head on head. You get more for your money when buying an Android tablet, but you don't get a browser. And because most of the time I'm spending at my computer my browser is at least opened in background I guess that's one of the most important features... There's one thing that could replace a browser: tons of native apps. That's something that Android in general has en masse, but most of them aren't optimzed for Honeycomb yet.

This leads me to my hopes for Google's next steps. In my opinion there are two things Google can do:

1. Device Seeding: Most developers simply aren't able to optimize their apps for Honeycomb, because the emulator is so slow. They need real devices, really.

Logo of Android 4.0 aka Ice Cream Sandwich
2. Merge Chrome and or ChromeOS and Honeycomb. I fear that's something that's not going to happen any time soon. Maybe there are some political issues or whatever. However, Honeycomb's browser already uses some of Chrome's code and obviously its UI is inspired by Chrome, but that's not enough. For example, there's a 100 points gap between Chrome and Android on html5test.com.

All in all, I'm still not yet convinced. Are you? I'm going to wait for Ice Cream Sandwich. I'm still dreaming of that Android + GoogleTV + ChromeOS merge... :)

We're trending!

After 549124 downloads, 1003 ratings, an average of 4 stars and 43% active installs one of my apps, OpenOffice Document Reader, is finally "featured" in the Android Market. Yiha! :D

You don't believe me? Sit down and be amazed...

At first I noticed it on a tablet:

Then I checked market.android.com if it shows up there too...

Maybe you noticed that it's at the very last page... But still pretty cool! In front of Google Books! ;)

Thank you guys for your support! And again, thank you Andi for developing this app with me. :)

Oh, and, by the way... We're considering an editing feature again. Maybe this time for real? Stay tuned...

Thursday, July 28, 2011

Games that'll make you :D

Discovering good games in the Android Market isn't very easy. So, here's a compilation of games I enjoy playing most...

- Falling Fred: Great!
Stair Dismount: Also fun, but its developers didn't get everything out of this concept...
- Plants vs. Zombies: Loved the version for PC, still Amazon Appstore only.
- Moron Test: awesome!
- Reckless Racing: Stunning graphics.
- Game Dev Story: Addictive until you complete a whole game.
- The Impossible Game: Try not to scream or swear. ;)
- Karoshi: Ok, ok, I admit it. I cheated. :(
- MiniSquadron: Wi-Fi Multiplayer!
- Jenga: Great for playing with your friends.
- Lane Splitter (there's Racing Moto too, but I like this one more, although it's loading way too long)
- Pocket Racing

Bold ones are games you enjoy playing for a long, long time.

I didn't test all of these games on a tablet, but at least some of them work and look perfectly on tablets too.

Don't bother if you're not able to purchase apps from Android Market. Most of these apps are available for free too (legally!). Just search for the lite versions.

To keep up with the best and hottest games out there I recommend you to follow AndroidPolice.com.

Monday, July 25, 2011

How To: Expand a shortened URL in Java

Here's something I want to do more often in the future: Code snippets extracted from what I'm working on at the moment. In this case, it's JOPPFM.


You can find the snippet here. Cool, eh? Unfortunately it's not enough to tell Java to follow redirects. No, it's not even enough to open the connection afterwards. In order to get the unshortened URL you have to read something from the connection's stream. Reading the headers would work too. Simply read something. Anything.

Let's call this snippet JUrlExpander. ;)