Programming My Life

Archive for the ‘Google’ tag

Google Talk for Android

without comments

I find myself using Google’s instant message services (chat in Gmail, Talk on the Incredible) quite frequently, whether to share a link or catch up with a friend.  It is incredibly convenient to use as it allows me to focus on whatever I like and respond on my own time.  This wouldn’t be possible with a phone call.  While it would be possible with text messages, I find myself much more efficient with a full size keyboard and the ability to change windows to catch up with a conversation rather than pulling out my phone constantly. It also makes sharing links easier.

The services are even more convenient now that there is a mobile client for Google’s IM services.  This allows a user to continue a conversation on-the-go, rather than being forced to end it if he or she is simply leaving the computer for a brief time.

However, the two services don’t seem to work together flawlessly.  When I am working on two machines at once (laptop next to my desktop), it is easy to see how Gmail’s chat function handles the user having two instances of chat open at once:  It determines which is being used currently and minimizes the message boxes on the secondary instance while still sending messages to both.  Additionally, when the user ends a chat session, it removes the box from both instances of Gmail.

I have noticed while using the mobile client, that sometimes messages don’t get routed to it and instead end up still on the browser based client.  Furthermore, when the chat does route to my phone, messages are sent only there and not back to my PC in addition to the phone.  To ensure I don’t miss a message, I can always check the chat logs Google provides.  However, to do this on my phone, I currently have to exit the chat client, open the Gmail app, and go into my chat history.  The Google Talk mobile application would be significantly improved just by adding access to Gmail’s chat logs within the app.

Written by acmshar

October 17th, 2010 at 3:47 pm

Posted in Android,Cell Phone,Software

Tagged with , , ,

Froyo for the Droid Incredible

without comments

Recently, the Droid Incredible finally got the newest revision of the Android OS, 2.2, codename Froyo.  I couldn’t wait to receive the auto update from Verizon, so I found the update file on the web and manually ran the install.  I didn’t really like hearing about the update months ago and having little idea on when I would receive it even up to a couple weeks ago.

I can say now that it was worth the wait.

Google did an excellent job with added features like Chrome2phone (see below), and HTC took the opportunity to improve some of the features in its Sense overlay for Android.

Overall, my phone just feels faster now.  From swiping between home screens to web browsing, it seems like every action has been sped up.  I use Dolphin Browser HD for viewing websites and opening new tabs has been sped up so much that I didn’t realize they were opening at first.  I literally opened the same tab several times thinking something was wrong before noticing I had five identical tabs.  I was expecting opening a new tab to slow down my browser as it did before the update.  Now that there is no pause, I wasn’t sure if the tab had actually opened.  One of the biggest improvements in speed I have noticed is trying to ‘share’ a website.  Previously, when I would touch the ‘share this website’ button, I would have to wait anywhere from 2-5 seconds. Now, though, I am almost instantaneously allowed to choose how to share the article.  Combined with Android2Cloud*, I can send a site to my computer in about 2 seconds.  Previously, I would have to wait for the share graphic to load then type in my email address to send it to myself, which took about 10 seconds.

In addition to the improvements in speed, both HTC and Google have provided a significant number of new features.  Google’s Chrome2phone allows users to send websites from their desktop or laptop to their Android device.  I have noticed that to save the link, you have to open the link when it gets sent to the device.  It would be nice if the C2P app on my phone saved the last 5 or 10 links sent.  Another great feature Google has added is the ability to update all apps at once and the ability to auto-update applications.  One of the most publicized additions to Froyo is Flash.  After the initial novelty wore off, I was unable to find any great uses for Flash on my phone.  My first stop was Robot Unicorn Attack, but I was unable to find a way to bring up the keyboard to use solely for the game.  I haven’t found any pressing uses for flash in the few weeks I’ve had the update.

One improvement I’ve noticed from HTC is for the keyboard as well as other apps that have a landscape mode:  they can be in landscape in either direction on the phone.  Previously, landscape only worked when the phone was tilted toward the volume controls.  Now it works when tilted away from the volume controls as well.

In addition to flash, animated GIF images run now as well.  Before the update, I could see an image of the first frame of a GIF, but the animation would not run.

HTC fixed their photo album app as well.  Before the update, it would require me to select the album I wanted to display every time I took a picture.  Now, it seems to update by itself to the latest photo I’ve taken, which is great.  Kudos to HTC for taking the update opportunity to fix some of their bugs.

On the downside, my battery seems to drain a bit faster.  I would like to note that I don’t browse many (if any) flash heavy sites.  I also have flash set to only load when I touch the flash frame, so I don’t think flash is the cause.  My battery still lasts through the day, and I could be wrong, but after some consideration, it seems to drain a bit faster on average.  If anything, I definitely don’t notice an increase in battery life, which I was hoping for with the new software.

Finally, Google updated the Google Voice app shortly after Froyo released.  I thought this would speed up the app and fix some problems I’ve had with it.  Notably, it keeps a stack of every text you respond to.  If you are responding to multiple friends and enter the program from the notifications bar, you can end up with a stack of many texts so that when you try to use the ‘back’ button to get out of the app, you end up tracing through that entire stack.  I was hoping the update would alleviate this problem.  Not only did the update not fix this problem, the application now seems less responsive overall.  Several times I’ve tried to access the app, it has taken several seconds to load, which I haven’t noticed with any other app.

Overall, I am incredibly happy with the Froyo update.  The minor problems I’ve had are more than made up for by the improvements and additions.  Now I just can’t wait to here about Gingerbread.

*Android2Cloud is a new app that is the reverse of Google’s Cloud to Device messaging API.  While the official Chrome2phone app sends sites from the web to your Android device, Android2Cloud performs the opposite task.  I find myself sending long articles to my PC far more often than I find myself sending websites to my phone.

Written by acmshar

October 2nd, 2010 at 10:32 am

CS106B and the Google AI Challenge

without comments

CS106B

Looking back on my latest blog posts, I realize that most are addressing flaws in software that I use regularly.  When I began this blog, I hoped to use it to focus my efforts in becoming a better software developer.  Analyzing design choices in software does that to some extent, but I need to be creating more in order to improve.

One problem I’ve had with creating software outside of work is a lack of focus.  By this, I mean I want to create a lot of software and learn many tools.  Examples:  Creating mods/new levels in new PC games with editors, creating Android apps, going through some of the most well recognized books in computer science, taking  free online courses in CS, and so on.  I have done each of these to some extent, but now I would like to focus solely on one (I have failed at this already, see Google AI, below).  I believe this will allow me to learn more in the span of a few months than trying to do all or some of these projects concurrently and not getting very far in any of them.

Before the end of the year, I intend to complete Stanford’s CS106B, a data structures and algorithms course from Stanford Engineering Everywhere.    My main focus will be on the seven major programming assignments.  I will likely be looking at the section assignments for a limited amount of time before looking at the answers in the interest of keeping progress moving.

I am hoping that by focusing on one project for programming outside of work, I will be able to delve deeper into that project and hopefully discuss it here to see how it impacts me as a developer.  Currently, I am finishing up the second major assignment.  While my progress is a bit behind where I would like, I am consistently working a bit each day on this.  So despite my progress not being outstanding, I am quite satisfied with my consistency.

Google AI

I can’t remember where I saw it but a couple of weeks ago I saw a link introducing Google’s AI Challenge for this year.  I haven’t done much yet, but I’m working with a colleague to come up with an entry for the contest.  Neither of us are particularly skilled in AI development, but we are both excited to see how we can do in this competition.  The competition lasts just a little over two months.

I won’t be able to discuss our top secret strategy until the competition ends, but the AI contest and CS106B should provide some interesting topics for the remainder of the year.

Written by acmshar

September 20th, 2010 at 10:25 pm

Browser Tab Innovation?

without comments

Notsomuch, actually.  Since my post on browser tab stagnation, not much has changed in terms of offerings from the major browsers. However, I have found two services that have addressed some of the issues I raised:  Google Bookmarks and fur.ly.

Google Bookmarks

In my post on browser tab stagnation, I claimed that bookmarking simply wouldn’t solve many of the problems I have with the state of tabbed browsing.  I still feel that way, but Google Bookmarks has helped with at least one of the problems I’ve had with browsers recently; instead of the named groups of tabs I was looking for, Google Bookmarks’ tag feature allows me to see related sites.  Being able to tag bookmarks and keep them consistent in the cloud (rather than having to update them on separate machines) has helped me immensely.  First, if I find a work related link at home, or a link I think would be interesting for a personal project at work, I am able to put them in the same place, with the same amount of effort as traditional bookmarking, regardless of my location.  Second, instead of having to create folders and worry about organizing bookmarks, I can simply tag the bookmarks and search by tag later.  Moreover, I don’t even have to enter the entire tag if I’ve already created it as Google bookmarks uses autocomplete.

Before I started using Google bookmarks, I would generally just bookmark a site and put off organizing them until later (I still haven’t done that since January).  Now organizing is a simple matter of typing the tag.  The tags are especially helpful because they allow me to see what references I have for a specific topic.  The ability to search and the reduction in the amount of work cause me to bookmark more sites for reference.  As an example, I am interested in programming for my phone, so I have been reading up on Android programming.  The problem is, between work and other obligations, I haven’t been able to look into it for the past few weeks.  Bookmark tags allow me to search for anything I’ve added about Android and either remember where I was in the process, or dive in from a different direction.

To use Google Bookmarks, I have added the Bookmarklet from here to each of my browsers.

fur.ly

fur.ly is a URL shortening service that accepts multiple URLs and provides a shortened link.  Upon opening the link provided by fur.ly, the user sees the first page from the list of URLs topped by a small header with links to 1) get rid of the header 2) move to the next link 3) see statistics about the fur.ly link as well as a dropdown menu of all the pages supplied with the original link.  This is a unique service that allows for a bit more focused browsing on a particular subject.  While I would prefer a browser feature that allowed me to save and load multiple tabs, this service at least allows me to share multiple links in a focused way.

Conclusion

Sadly, fur.ly still requires about the same amount of effort as my usual method of simply copying and pasting the links into an email (to myself or a friend/colleague).   Hopefully newer versions of browsers will address this natively.  Also, while Google Bookmarks has been great, it would be great if I could simply name a tag and click a few tabs that could be labeled and saved with that tag rather than having to click and bookmark each tab and add the same tag repeatedly.  Finally, I would still like the ability to control the state of my tabs in addition to having it automated.  I have learned to work around this problem, but I would prefer to be able to have it addressed by the browsers so I don’t have to worry about losing tabs/windows when I close my browser.

Written by acmshar

August 15th, 2010 at 3:17 pm

Google Pac Man

without comments

As many of you probably already know, yesterday Google changed their logo to a playable Pac Man game in honor of the 30th anniversary of the game.  A few members of StackOverflow put together the code and assets to allow others (like me) to host it on their own site or even locally. Here is the game:

Google Pacman

And here are the assets if you want to host it locally:

Google Pacman at GitHub

Written by acmshar

May 22nd, 2010 at 4:47 pm

Incredible

with 3 comments

Last week, I decided to jump on board the Android bus and bought the HTC Droid Incredible. I haven’t had it long enough to give a full review, but I’d like to give a review of my first experiences with my own smart phone (I have played with other smart phones, but having one all the time for a few days is a different experience than playing with one even for an extended period).

Technically, my first smart phone was the LG Vu. I returned it within the 30 day return period because 1. I couldn’t justify the extra expense of the data plan 2. The internet and phone in general were sluggish and 3. The apps that currently make smart phones much more enticing were nearly nonexistent. The Vu was mostly just a touchscreen version of the LG Shine (which is the phone I ended up going with).

The Incredible’s 1 GHz Snapdragon processor along with the relative maturity of the Android App Marketplace take care of the latter two concerns. I have not yet felt as though the phone was slow to do anything. Snapping through the home screens and getting into apps are a breeze thanks to the processor. So far, most of the apps seem interesting, but I haven’t had reasons to use them naturally. I’ve opened them up and looked around, but I haven’t wanted movie times because I was going to a movie or looked for a specific youtube video using the app for example. I’ll get around to discussing those things when I’ve had a better chance to interact with those apps organically.

What I have had much more interaction with thus far are the widgets. These alone have nearly justified my purchase. The home screen widget from HTC gives me a large display of the time and the weather, which I would hardly ever check before I had this phone. I also have a habit of not checking my Google Calendar nearly as much as I’d like to remember important dates and events. I have been checking it more often now that it is more easily accessible, and I think I will be using my it more often now that I don’t have to go out of my way to see it.

The Scoreboard widget has also helped me out already. Friday night I had a bit of time to kill before leaving to meet some friends, and the widget reminded me that a hockey game was on that I wanted to see. Without that, I would have likely forgot and done something else. It is a quick and convenient place to check when my favorite teams are playing next.  It also send notifications for score updates for my favorite teams.

Also, during dinner Friday night I was able to use the internet to come up with some trivia my friends and I were debating (did you know John Milius directed Conan?).

The Facebook widget hasn’t really done much to change how I view Facebook. It scrolls through some of the most recent status updates, but if I really want to check Facebook, I will always open the full app to scroll faster.  The same goes for Twitter.

Another big upside to having a smart phone with a data plan is being able to take advantage of Google Voice.  One way to justify the extra expense of the data plan is using Google Voice to manage text messages.  While you can’t send to multiple recipients or send MMS messages, all regular texts are free and get sent to the Google Voice app.  The only difference between checking a regular text and one through Google Voice is which button you click to open the message.  Depending how much you pay for texts each month, this alone could justify the price of the data plan.  Additionally, I can’t stand that carriers see fit to charge for texts with a data plan.  There is nothing special about the data in a text.  It is simply a packet of data of predefined size that your wireless carrier charges you a special rate for because they can.  There are other advantages to Google Voice, but sticking it to the man is the one that matters most to me.

So while I am still getting used to having a phone capable of all this (as well as getting used to a touchscreen keyboard), I can’t see myself going back to a ‘dumbphone’.  I’ll get into any problems I run into with the phone in a post in the near future, but for now, I can’t come up with anything negative about this phone: it’s just too incredible.

Written by acmshar

May 2nd, 2010 at 9:20 pm