Articles Tagged with Google

Published on:

By Nick Moline

The next version of Android is officially Jelly BeansGoogle I/O is almost here, and the Google Developers have created a nifty widget for enabling the live stream of the video on your blog, as well as embedding my own Google+ stream as a Live Blog of sorts, so head on after the break for my live blog where I will post about the stream while it happens.

In preparation for I/O, on the Google Developers Plus page, the Development team has now officially confirmed the name of the next version of Android will be “Jelly Beans.”  The confirmation comes with a new statue on the Googleplex Lawn. Continue reading →

Published on:

By Nick Moline

Since the very beginning, when met with an Atom or RSS feed, Google Chrome responds by rendering the XML as unformatted xml (unless your feed happens to have an XSL stylesheet like feedburner adds).  One of the earliest bugs reported to Google is that this should not be, that it would instead be more friendly to invite the user to subscribe to the feed in a feed reader (like Firefox does) or render the feed yourself (like Safari does).

In the recently released stable Chrome 19, one of the new features is that instead of displaying the XML as unformatted xml, it fires off a view web intent instead.  This may be a good first step towards making feeds friendlier to use.  Instead of seeing a page the average reader doesn’t understand, they could be shown their own apps that they’ve installed. Continue reading →

Published on:

By Nick Moline

Remember when GMail first came out?  1GB of email was unheard of, especially in a free service at the time.  One of Google’s big selling points was “you’ll never need to delete another message.”  It was right there on the home page.  If you compare the home pages from 2004 and today for Gmail you’ll note they still refer to it as being “Lots of space” but they no longer say you’ll never need to delete another message.  The message about never deleting email disappeared sometime between March, 2009 and December 2009.

Why did the message go away?  Because the users proved that 1GB (then 2GB, then 4GB, then 7GB) simply wasn’t enough to store EVERY email.  To combat this, back in 2007, Google released a means of purchasing more storage space at a rate of 6GB for $20/year, this storage would be shared amongst your Google Docs, GMail, and Picasa accounts.  Over time these prices got even better.  Yesterday you could buy 20GB of storage for $5 a year.

Today however, with the Google Drive release, the prices have changed from being yearly, to being monthly, while yesterday you could get 20GB for $5 a year, today the cheapest plan is 25GB for $2.49 a month (which comes out to $29.88/year).  This is a very significant increase, but it’s not what I find the most annoying:  GMail storage space is now completely separate than Google Drive (formerly Google Docs) and Picasa storage.  The 25GB you are purchasing is only for Google Drive and Picasa, not for GMail.

They soften the blow by ALSO giving you an upgrade to 25GB on GMail, but this is separate from the 25GB on Google Drive.  Now this means that you are really buying about 35GB for the $29.88 a year (but you could previously buy 80GB for $20 a year so it’s still a sizeable increase), but the kicker is, the 25GB of space on GMail is fixed.  If you buy 25GB of space on Google Drive, you get 25GB of space on GMail, if you buy 1TB of space on Google Drive, you get 25GB of space on GMail.

There is no longer any option available to purchase more than 25GB of space on GMail whatsoever, no matter how much you may want it so that you never have to delete another email

GMail's home page used to tell you not to delete email

I’d like to say I have hope that they will allow this option soon, but I don’t really.  The premium Google Apps for Business has long given 25GB of space for GMail, and even though I have personally wanted to buy more space, Google has never given me the option to buy more on a Google Apps account.  It seems the dream of limitless email storage is no longer alive.

Published on:

By Nick Moline

This morning Google opened up a programming competition using the same system as Google Code Jam (they called it the Google Code Jam Sprint to I/O) to win the right to buy 1 of 100 tickets to Google I/O.  Normal Registration for the conference closed 20 minutes after it opened back on March 27th due to the incredible demand, so naturally those developers who couldn’t get in before were excited and ready to battle for the chance to buy a ticket.

The competition consisted of 2 problems, programmers could write their code in any language (as long as the compiler is free to use).  It would work like this, you would write a program according to their specifications of the problem, and then you would submit it.  When you submit it, google would provide you with a file of sample input data and then give you 1 minute to run your code against that sample data and then submit the output to them.  They would then run a validator across the output and tell you if you were correct or not.  If you were correct, it would accept your answer, if not, it would reject it.

The first question went like this (paraphrasing)

The Google Store has M new designs of android mini-statues available, and they have L of each design in stock.  You, an avid collector and generous gifter, want to buy a certain number of each of these new designs (K1, K2KM). The problem is… the packages for these statues are all exactly the same, and don’t indicate what is inside, and you cannot open the package before purchasing.  What is the minimum number of packages you need to purchase to guarantee you have all of the statues you want in a worst-case scenario

The sample data was a list of lines in the following format for different test cases:
L M K1 K2 ... KM

For example:

5 3 4 2 1
5 3 5 5 5
5 2 1 5
6 4 0 0 0 0
2 4 5 1 2 3
0 3 4 1 2
9 5 1 1 1 1 1

Taking the first one (They have 5 each of 3 different designs, and you want 4 of the first, 2 of the second, and 1 of the third), the correct answer would be 14 (in order to guarantee you have at least 4 of the first, at least 2 of the second, and at least 1 of the third, you would have to buy enough that you would have ALL of all but 1 of them, and then the highest K for the remainder)
Answer = (L * (M-1)) + max(K)
The question also said that if it was impossible to get what you want, you should return -1 (like the 5th and 6th examples, you can’t buy more statues than they had available in the first place)

Now most programmers seeing something like the 4th test case there (6 4 0 0 0 0) would realize that if you don’t want to buy any of them, than the answer is 0 (minimum number to buy in order to get 0 statues is 0), so the basic pseudo code to solve this problem is:

function process_test_case(L = 0, M = 0, K = array()) {
     if (max(K) == 0) return 0
     elseif (max(K) > L) return -1
     else return (L * (M - 1)) + max(K)
}

There is just one problem… Google’s developers that came up with this test, didn’t think about the possibility where you don’t want any statues (max(K) == 0), so if you ran the above code and returned 0 on the sample 4, google’s validator would come across with “Incorrect”, on the other hand if you left that line out and only did the other 2 possibilities, it would say you were “correct”

Naturally a lot of the programmers who entered the competition were quite upset about this, and complained to Google via comments on the Google+ post that announced the competition.  Eventually google put up the following message saying that they realize they made a mistake:

We’ve made a mistake in problem A. The correct output is 0, but it is being judged as wrong because 4 of our problem writers have independently made the same bug in their solutions. We would like to apologize for the confusion this has caused. We will send an email to all participants shortly, announcing our plan to resolve this issue in the least unfair manner possible. We take a lot of precautions to prevent mistakes like this, but we have messed up this time

Now I did not enter this competition (I did the coding example just for the brain exercise, but I did not submit it) because I am already registered for Google I/O and didn’t need the additional ticket for myself, but some of my coworkers did enter the competition, and they received an email a little while ago which included the following:

As you know, we intended to provide an opportunity to buy Google I/O tickets to the top 100 scorers. In light of our mistake, we’ve decided instead to offer this opportunity to all participants who have submitted any solution to either of the two problems. Please watch your inbox for a registration code coming shortly.

That does indeed seem “least unfair,” everyone who tried the contest, gets to go to Google I/O.  If you are among those, (like my fellow coworkers), I look forward to seeing you in San Francisco on June 27th.

Published on:

By Nick Moline
Sold Out in less than 30 minutes

Google I/O sold out in Less than 30 minutes

Even though Google doubled the price (paid $450 last year, this year $900), Google I/O sold out even faster than last year.  Last year it took about 45 minutes for Google’s Developer conference to sell out, this year it was all over in just over 20 minutes according to a post on Google+ by Google VP Vic Gundotra.

I’m glad to say I will be at I/O this year once again, but all but one of my colleagues who tried to buy tickets were unable to acquire them.  Will I see you at Google I/O?

Published on:

By Nick Moline

Ever since the Profiles feature was first announced in the canary build I was excited, but it was limited (biggest limitation, these profiles weren’t saved) and the canary build was very unstable at the time. Eventually that early version moved into later builds, but the canary build updated further to allow saving those profiles for later use (making switching between different identities easy).

It would seem that the updated profiles (with the profile icon and saving the profiles for later) have now moved into the beta build, which I use on a day to day basis. I am really excited about this feature as I routinely have to use multiple accounts on various website throughout the day and it’s annoying to constantly have to sign out and sign back in to use it.  This is especially true on google.com now that Google Apps for Domains accounts are full fledged google accounts.  I have my company email account, my personal email account, and still another shared company account we use for certain things, and switching is quite annoying, especially if I forget which account I’m in.

Published on:

By Nick Moline

So I really like Google+ and happily post away to my Google+ Profile.  Unfortunately not everybody has access to G+ yet.  Facebook still is king of the ring, but I’ve long wanted to do what Google+ does natively, which is to say specify who should see my posts based on groupings.

It turns out, facebook does have this feature, but it only works from the Facebook Website (not from the mobile apps or through the API) and it’s a lot more kludgy to use then it is in Google+.   Continue reading →

Published on:

By Nick Moline

Google I/O was fantastic, and not just because I got a free HTC Evo from Google and Sprint for going. Lots of great things, some of which I’m looking forward to implementing in my work.

Published on:

By Nick Moline

UPDATE: I was right, tonight Google announced Google Groups is now part of Google Apps for Domains!

This morning I noticed a change in the way emails sent to a group (formerly known as list) email address on google apps for domains appear. Below is an example of the bottom of the email headers on an email sent to one of my groups on nick.pro:

On the other hand here is the bottom of the email headers on an email sent to that same group today:

As you can see in these images, a few new list specific header lines have been added that make lists appear more like they were handled by more traditional mailing list software, rather then a simple email forwarder.

I’ve confirmed this change seems to have happened today as emails to groups as recently as yesterday do not have the additional headers, while emails to the same groups today have the additional headers, hop past the break to see a breakdown of the 4 new headers and what I think this change means:


The important new headers are:

  • List-Help, which contains both a link to a support for the mailing list, as well as a new listname+help@domain email address for list support
  • Sender, which is now set to listname+owner@domain rather then being left off of the header (and thus defaulting to the original sender’s From: address
  • X-Original-Sender, which is the original “sender” in this case the same as the from address
  • X-Original-Authentication-Results, which contains the SPF parsing results from when google processed the original email

What does this mean? I think it means Google is finally making an effort to turn the groups in Google Apps for Domains (already taking a step closer to real mailing lists earlier this year when they improved the permission system on who can send email to the list), into real mailing lists closer to the popular Google Groups service. If this is true, and I hope it is, we should be seeing additional Google Groups type features (such as archiving, subscription, and digest options) coming to Groups in Google Apps for Domains soon.

Published on:

By Nick Moline

My wife and are are checked into our hotel in San Francisco. Tomorrow begins Google I/O 2009 at the Moscone Center West in San Francisco. I’m quite looking forward to two days of Google Developer Goodness. I’m hoping that we’ll learn about a lot of great new updates to Google APIs and developer tools, and of course, I haven’t forgot about my prediction that Google Chrome will get Extensions at Google I/O. I’m a little more cautious about saying that for sure, but I’m still pretty optimistic that it will happen, or at least we’ll get some sort of time table as to when we will.

After all Developing Extensions for Google Chrome is still on the Agenda, in the very first timeslot of the conference (after the Keynote that is) in fact. I’m expecting to get a formal announcement about Extensions either during the Keynote itself, or at least during that particular session.  But we’ll find out if I’m right tomorrow.  Hopefully I’ll find time to write up some notes I took from the Conference over the next couple of days, but if it is anything like last year, time will be short indeed.

On a related matter, if any of my readers are here at Google I/O, leave me a comment, or tweet to me <a href=”http://twitter.com/nickmoline”>@nickmoline</a>, I’m looking forward to meeting with fellow developers during the conference.