For a new app that I’m working on, I wanted to use a ViewPager inside a ScrollView in order to make a simple image carousel. The only problem is, ScrollViews don’t seem to play nicely with horizontally swiping Views. As soon as the user moves their finger even slightly up or down, the ViewPager page change is cancelled, and the page snaps back to the current item. This can lead to an extremely frustrating user experience, because it is difficult for the user to understand why the views won’t swipe.
Last week I released my newest Android app, Bike Finder. It’s a fairly straight forward application that allows you to find bikes and stations for use with Washington DC’s Capital Bikeshare system. For those of you not local to DC, Capital Bikeshare is a system that lets you use bikes that are available at docking stations all over the city, as well as parts of northern Virginia. The app is free, and I’m looking into adding additional cities that have companies that make their bike sharing data available (currently investigating New York City, Montreal and the Bay Area). If you’d like to get your city added, let me know, and I’ll see if the data is available, and add it to the to-do list.
Last week I posted a tutorial on how to create a really basic Android To-do list application using Parse. It allowed a user to create tasks, and then toggle their completion status. Then, this information was synced to a server, so that the tasks will be kept up to date on multiple devices. The biggest issue with this app so far, was that there was no concept of users, so all tasks were shared among everyone. This week, we’re going to introduce two new screens (which are very similar to one another), the registration and login screens.
For a while now I’ve been using Parse for small apps, it allows you to iterate quickly and create a backend for an app without too much work. It also seems like a perfect jumping off point for a series of Android tutorials, where we’ll be building a “Todo List” application. (This tutorial assumes that you have Eclipse and the ADT installed already.)
On Monday, Apple announced a new update for it’s desktop operating system, which will be named OS X Mavericks. As part of the annoucement, they touched on a few performance related features, including a new power saving API, which was called App Nap, as well as a memory compression feature, which would allow compress the memory of programs that are not currently active.
According to Ars Technica, Apple is using a technique called Timer Coalescing to create App Nap. Apps that are not active will have their processes set to a lower priority, and therefore use less CPU/disk/etc, and thereby save power. This feature has been around on Linux for a long time, and apparently has been part of Windows as well.
I had not heard, however, of this compressed memory technique, although apparently it had been done many years ago by a program called “RamDoubler”. After some quick Googling, it seems that this is available via a kernel module called “zram”.
So a few weeks back at Google IO, Google handed out an awesome laptop to attendees, the Chromebook Pixel. For those who aren’t familiar with it, the Pixel is a laptop running Google’s ChromeOS, with the highest resolution screen available on a laptop (2560x1700). Unfortunately for me (and owners of the other Chromebooks), there’s a few things you can’t do in Chrome, like writing software in the new Android Studio!
In order to work around this limitation in ChromeOS, a developer at Google named David Schneider developed a set of scripts called crouton. Crouton allows you to run Ubuntu inside a your ChromeOS system, so that you can easily swap back and forth between the operating systems. This is not limited to the Pixel, so if you’re using another model Chromebook, even dating back to the CR-48, this guide should work for you.
Last Wednesday I took the trip up to NYC, to the top floor of Chelsea Market to pick up a device that many have waited anxiously for. A device unlike anything else we’ve seen before: Google’s Glass. This is the Explorer Edition of the device, which is targeted towards developers, who attended Google’s IO conference last year. I was fortunate to be invited to pick up my device on the first day of New York’s pickups, which followed several pickup days in Mountain View the previous week.
As part of my newest app (Hacker News for Android), I needed to add the ability to click on links in a ListView, and have them open in the browser, while maintaining the ability for the user to click on the ListView row itself, and have the row listen to the click.
If you try using
LinkMovementMethod, which you’d use on normal links in a TextView, you’ll find that you can no longer use the ListView properly.
While looking through the Chromium bug tracker today, I stumbled upon an interesting bug. The interesting part I found was a screenshot posted by one of the Chromium team members.
If you look closely, it looks like the Google+ Messenger icon on the bottom right corner of the dock. Is this finally the integration of G+ Messenger and the web that we’ve been waiting for since G+ Messenger was introduced? Maybe we’ll find out in a few short weeks during Google IO this year!
Yesterday was a bittersweet day for me in the world of Google. On the bright side, I was one of the lucky few to acquire a ticket to Google IO 2013. This will be my third Google IO, and I cannot be more excited to attend this year. The first year I went brought about the introduction to Android 3.1 (Honeycomb), which began the improvments for Android’s Holo Theme, as well as layouts for tablets. Last year was even more groundbreaking, with the unveiling of a few new Nexus devices, Android 4.1 (Jelly Bean), as well as Project Glass. I can’t even imagine what they will have in store for us this year.
Here comes the bad news though: Google Reader is being shut down. If you don’t know, Google Reader is an RSS reader for the web, a hub for all your subscriptions online. This pending shutdown has caused quite a stir, leading to many users scrambling to new RSS readers, or building new ones. (There was even a petition on whitehouse.org for the government to intervene…)
Google Reader was one of my favorite Google applications, so it’s quite sad to see it go. Hopefully one of these replacements will provide a good enough experience so the switch is a bit less painful.