Tuesday, February 28, 2012

App Engine 1.6.3 Released

Our second release of this year will have you leaping into action to start using the new features immediately. What could be more exciting than a feature to support A/B testing on your app? Or DKIM signing when you send email from your Google Apps domain? This release has plenty of exciting changes to keep you busy on your extra day this year.

1.6.3 Platform Changes:



  • A new Experimental feature called Traffic Splitting lets you send a percentage of your traffic to different versions of your app. Traffic can be split based either on IP or on cookie.

  • When an email is sent either from a user of a Google Apps domain from a request originating on that domain, or from an app administrator with an account on a Google Apps domain, a DKIM signature will be automatically applied to the email.


1.6.3 Admin Console Changes


  • Billed applications can now specify the amount of storage used for logs and the duration of time these logs are stored (default is 90 days) as well as view the currently stored amount in the Admin Console. The first gigabyte of logs storage is free and additional storage will be charged at $0.24/G/month. These settings are now available, but additional storage will not be charged for at least 4 weeks, at that point any logs beyond the configured amount will be deleted.

  • You can now manually shut down an instance in the Instances view of the Admin Console.

  • The Logs Viewer for each request now provides a link to the instance that served that request (as long as the instance is still active).


These are just some of the highlights in 1.6.3. As usual, our release notes for Python® and Java® contain the full list of all the new features and bug fixes, so be sure to check out all the exciting things we’ve been working hard to release this past month.




Monday, February 27, 2012

Dynamic Views: Update #3 - Gadgets!




Hi Bloggers.



Have you been contemplating a new design for your blog? Are you ready to spruce up your pages with a fresh, modern, and new look? Then you may want to check out Dynamic Views - which now include gadget support.



Dynamic Views are a set of templates that make it easy and fun to explore a blog. As you might expect, we’ve made the gadgets interactive too. Instead of appearing in a panel that consumes valuable real estate on your blog, gadgets now appear in a dock that slides in and out as you move your cursor over them.




Gadgets supported in Dynamic Views currently include: Blog Archive, Followers, Labels, Profile, Subscribe (a new gadget - automatically present if either Follow By Email or Subscription installed), and Link List. These gadgets make it easier for your readers to navigate your blog (archive, labels), and to follow it (followers and RSS).



If you are currently using a traditional template and change to Dynamic Views, supported gadgets will automatically appear on your blog. Gadgets can be added, removed, or customized from the Layouts tab the same as with any other template.



If you’re one of the millions of people who have adopted Dynamic Views since we launched them in September 2011, we encourage you to head on over to our Google+ page and tell us what you like about them!



Happy blogging.



Bruce Polderman, Product Manager

Announcing the General Availability of the Python 2.7 Runtime for App Engine

A few months ago we announced an experimental version of the the Python® 2.7 runtime for App Engine. Since then we’ve been hard at work fixing bugs and adding optimizations. Today we’re happy to announce that this runtime has graduated from Experimental status and is a fully supported feature of App Engine. To get started, download the latest App Engine SDK for Python and check out the Getting Started Guide.

We think the Python 2.7 runtime for App Engine is a great step forward for our developers.  First, it allows applications to take advantage of concurrent requests, allowing you to build more performant and efficient applications. If your application wasn't fully utilizing the CPU, chances are that you'll be able to use concurrent requests to reduce the total number of instances and serve more with less.

We've also added some of the most highly requested libraries: PIL, NumPy, and lxml are all part of the Python 2.7 runtime. These three libraries alone have been requested nearly 2,000 times. Check out our updated list of supported libraries and let us know what libraries you would like us to add (be sure to add the tag ‘[Python Library]’ to the summary).

Whether you’re looking to migrate an existing application or build a new application, the Python 2.7 runtime is ready to go.

If you have any questions or comments send them to the App Engine group. We'd love to hear from you.








The Python 2.7 launch cake




Posted by Chris Ramsdale, PM Python 2.7 Runtime for App Engine


(Python and the Python logos are trademarks of the Python Software Foundation)

Android@Mobile World Congress: It’s all about the ecosystem.

Each and every day, we are humbled by the trajectory of Android and our partners.



With a year-on-year growth rate of more than 250%, 850,000 new Android devices are activated each day, jetting the total number of Android devices around the world past 300 million. These numbers are a testament to the break-neck speed of innovation that defines the Android ecosystem.



Last year at Mobile World Congress (MWC), we announced that there were more than 150,000 apps in Android Market. That number tripled to more than 450,000 apps today, with over one billion app downloads happening every month. Think about the astonishing number of songs Shazam’ed, places Qype’ed and foursquare mayorships! To celebrate the hard work and success of our developer community, we’ve built special “app pods” into our Android stand at MWC. Many of these featured apps demonstrate the latest Android innovations, such as Android Beam, which lets you share content like web pages, videos, directions, and apps—just by touching two Android phones back to back.





The Android Stand on the eve of Mobile World Congress 2012


If you walk around the Android stand, it’s also evident that our hardware partners are thriving. There are 100+ devices on display at the conveyor belt bar, which is just a small portion of the 800+ Android devices that have launched to date. And what better sign of innovation than the Bling Bot—powered by the >Android ADK—which can bedazzle your Galaxy Nexus backplate with perfect precision.



We’re just getting started at Mobile World Congress, so keep checking android.com/mwc and the +Android page on Google+ for updates.



Thursday, February 23, 2012

Faster, better order management

Since migrating to the Google stack last September, we’ve been working to improve the Google Affiliate Network interface by both adding new features and enhancing some existing ones.



As a part of that effort, we’ve just pushed out a brand new release of the Orders tab for both advertisers and publishers.



First, we've made the Orders tab fast. Very fast. Whether you’re looking up 10 orders or 10,000 orders, you'll see query results load in about the same amount of time.



Advertiser-facing changes:



We want to make it easier for you to handle bulk operations. So, we enabled inline order editing right from the Orders tab. No need to click through to another page -- you can simply edit the order inline. Once an order is updated, publisher and network fees are updated, too.










Also, it’s now easier to cancel orders in bulk. When you search for multiple orders, just select the orders you want to cancel and cancel them all at once.

Publisher-facing changes:


The key publisher feature we’ve added is the ability to directly edit the Member ID field for an order inline. If you're a publisher whose workflow involves verifying or editing the Member ID field, this process will now be much easier.







Finally, based on your feedback, we now display locked orders (e.g. those that have been paid out) in the tab, rather than just open orders. Keep in mind though that those locked orders can't be edited.




As always, we look forward to your feedback. Please use our forum for feedback and comments. Thanks!



Wednesday, February 22, 2012

Collaborate and edit anywhere with the updated Google Docs for Android

As I was sitting on the ferry commuting to Google’s Sydney office this morning, two thoughts occurred to me. First, Australia is beautiful. If you’ve never been here, you really should visit. And second, it’s amazing how productive I can be with just my Android phone and an Internet connection. I was responding to email, reading news articles, and editing documents—just like I do at the office. Only the view was better!



We want to give everyone the chance to be productive no matter where they are, so today we’re releasing a new update to the Google Docs app for Android. We've brought the collaborative experience from Google Docs on the desktop to your Android device. You'll see updates in real time as others type on their computers, tablets and phones, and you can just tap the document to join in.



We also updated the interface to make it easier to work with your documents on the go. For example, you can pinch to zoom and focus on a specific paragraph or see the whole document at a glance. We also added rich text formatting so you can do things like create a quick bullet list, add color to your documents, or just bold something important. Watch the new Google Docs app in action:







If you want to hear about the latest Docs news or send us feedback on the new app, visit Google Docs on Google+.



Gotta run—I’ve got another ferry to catch!



Collaborate and edit anywhere with the updated Google Docs for Android

As I was sitting on the ferry commuting to Google’s Sydney office this morning, two thoughts occurred to me. First, Australia is beautiful. If you’ve never been here, you really should visit. And second, it’s amazing how productive I can be with just my Android phone and an Internet connection. I was responding to email, reading news articles, and editing documents—just like I do at the office. Only the view was better!



We want to give everyone the chance to be productive no matter where they are, so today we’re releasing a new update to the Google Docs app for Android. We've brought the collaborative experience from Google Docs on the desktop to your Android device. You'll see updates in real time as others type on their computers, tablets and phones, and you can just tap the document to join in.



We also updated the interface to make it easier to work with your documents on the go. For example, you can pinch to zoom and focus on a specific paragraph or see the whole document at a glance. We also added rich text formatting so you can do things like create a quick bullet list, add color to your documents, or just bold something important. Watch the new Google Docs app in action:







If you want to hear about the latest Docs news or send us feedback on the new app, visit Google Docs on Google+.



Gotta run—I’ve got another ferry to catch!



Thursday, February 16, 2012

Abt.com transitions to Google Affiliate Network and grows revenue 119%

Over the past few years, Google Affiliate Network has helped advertisers and publishers grow their businesses with the right mix of technology, service, and data insights. We’ll be sharing these stories on the blog over the coming weeks. 



Today, we turn the spotlight to Abt.com, an online electronics retailer based just north of Chicago in Glenview, IL. Since launching in 1998, Abt.com has climbed to #151 on Internet Retailer’s list of America's top retail websites. The Abt.com team came to Google Affiliate Network in 2008 with three objectives: to grow online sales, reach new customers, and expand their existing reach across top affiliate publishers.



Steve Tazic, Abt.com’s Director of eCommerce Marketing, transitioned the company’s affiliate program to Google Affiliate Network based on the platform’s ease of use, automation, robust quality controls and advanced reporting. With less time spent managing processes, Steve collaborated with his Google Affiliate Network account team to optimize key relationships and implement best practices. Just a few highlights include:




  • Data-driven optimization: The Abt.com team used advanced reports to “reach out to publishers in different situations when numbers are good or bad to try and capitalize on opportunities. For example, we can easily pinpoint publishers who have dropped off in sales and know exactly who to contact to get them back on track.”

  • Take advantage of platform efficiency: “The Google Affiliate Network platform automates processes for creating ads, pinpointing potential new affiliates and recognizing current affiliates that need attention, whether it be good or bad. One big time saver is that we were able to automate the reconciliation process which we used to do manually.”



“Since coming from our previous network, we have seen average monthly revenue increase 119%. We have better relationships with each publisher and feel it is easier to get our offers out to our publishers. The affiliate channel now represents 15% of our online business.” - Steve Tazic, Abt.com’s Director of eCommerce Marketing 



Learn more by reading the full case study.



Posted by Will Heidrich, Account Manager

Tuesday, February 7, 2012

The BugSense hybrid app: experiences using Clojure on Google App Engine

Today’s post comes to us from Jon Vlachogiannis and Panos Papadopoulos, founders of BugSense, a mobile error analytics service. We hope you find their insights on using Clojure on Google App Engine informative.



BugSense is a cross-platform error analytics infrastructures for mobile devices. BugSense uses Google App Engine to power its backend, processing more than 1.6 million daily errors, generated by more than 45 million devices around the world. Chances are one of the applications installed on your smart phone (like SoundCloud or Trulia) is already using BugSense.

The Problem
Lots of our clients want to optimize and protect their mobile apps (through code obfuscation) using ProGuard. ProGuard creates more compact code, resulting in faster transfer across networks, faster loading, and smaller memory footprints. On top of that it makes programs and libraries harder to reverse-engineer.

However, because the Android Market doesn't automatically de-obfuscate of stack traces from ProGuard-ed apps, developers who want to analyse errors from their apps must get the stack trace from the Market, format it and use ProGuard locally. The whole process for just a single error could take more than 3 minutes, so we decided to add support for ProGuard to BugSense to make debugging easier and faster.

The Solution: Clojure and Python
The main data-serving portion of our app is written in Python, our language of choice, but ProGuard is an open source project in Java. For easier development, we ported parts of ProGuard to Clojure, a dynamic language belonging to the Lisp family that runs on the JVM. This allows us to “beat the averages” by exploiting all the great features that a LISP language offers (such as macros  and exploratory programming). Using Clojure and having access to a vast number of Java libraries assisted us in tackling the difficult problem of de-obfuscation, with great results.

Once we were done, we deployed using AppEngineMagic and now it's trivial (one click) for our users to de-obfuscate their stacktraces. Now we have the best of two worlds: Python for serving data and Java/Clojure for doing calculations, all in the same Google App Engine application. And it scales automatically and runs even faster than running ProGuard on your laptop!





Practically, that means that we can have a heterogeneous app on Google App Engine so that we can keep programming in our favourite language, Python, but still harness the tremendous wealth of Java libraries using Clojure. Running a hybrid app on App Engine is trivial since they share the same resources task queues, Datastore, and memcache.

However, because our app is implemented in multiple languages, we need to start two different local instances (one for Python and one for Clojure). We use a combination of mocks for both of the instances in order to emulate the hybrid app and their interaction in a local environment for development and testing.

Google App Engine, a success factor
We started as a two-developer startup and our product rapidly became popular across the world. Building on Google App Engine helped us focus on product development and forget about infrastructure and administration, thus enabling us to focus more on our customers' needs. (And sleep tight at night.) Furthermore it helped us to keep costs low and iterate quickly.

To learn more about BugSense, check out our website. If you have comments or questions about this post or just want to reach out directly, you can find us at +jonromero or +bugsense.



Introducing Chrome for Android

In 2008, we launched Google Chrome to help make the web better. We’re excited that millions of people around the world use Chrome as their primary browser and we want to keep improving that experience. Today, we're introducing Chrome for Android Beta, which brings many of the things you’ve come to love about Chrome to your Android 4.0 Ice Cream Sandwich phone or tablet. Like the desktop version, Chrome for Android Beta is focused on speed and simplicity, but it also features seamless sign-in and sync so you can take your personalized web browsing experience with you wherever you go, across devices.









Speed

With Chrome for Android, you can search, navigate and browse fast—Chrome fast. You can scroll through web pages as quickly as you can flick your finger. When searching, your top search results are loaded in the background as you type so pages appear instantly. And of course, both search and navigation can all be done quickly from the Chrome omnibox.





Simplicity

Chrome for Android is designed from the ground up for mobile devices. We reimagined tabs so they fit just as naturally on a small-screen phone as they do on a larger screen tablet. You can flip or swipe between an unlimited number of tabs using intuitive gestures, as if you’re holding a deck of cards in the palm of your hands, each one a new window to the web. One of the biggest pains of mobile browsing is selecting the correct link out of several on a small-screen device. Link Preview does away with hunting and pecking for links on a web page by automatically zooming in on links to make selecting the precise one easier. And as with Chrome on desktop, we built Chrome for Android with privacy in mind from the beginning, including incognito mode for private browsing and fine-grained privacy options (tap menu icon, ‘Settings,’ and then ‘Privacy’).





Sign in

You can now bring your personalized Chrome experience with you to your Android phone or tablet. If you sign in to Chrome on your Android device, you can:


  • View open tabs: Access the tabs you left open on your computer (also signed into Chrome)—picking up exactly where you left off.

  • Get smarter suggestions: If you visit a site often on your computer, you'll also get an autocomplete suggestion for it on your mobile device, so you can spend less time typing.

  • Sync bookmarks: Conveniently access your favorite sites no matter where you are or which device you’re using.


Chrome is now available in Beta from Android Market, in select countries and languages for phones and tablets with Android 4.0, Ice Cream Sandwich. We’re eager to hear your feedback. Finally, we look forward to working closely with the developer community to create a better web on a platform that defines mobile.







(Cross-posted from the Chrome blog and the Official Google blog)

Introducing Chrome for Android

In 2008, we launched Google Chrome to help make the web better. We’re excited that millions of people around the world use Chrome as their primary browser and we want to keep improving that experience. Today, we're introducing Chrome for Android Beta, which brings many of the things you’ve come to love about Chrome to your Android 4.0 Ice Cream Sandwich phone or tablet. Like the desktop version, Chrome for Android Beta is focused on speed and simplicity, but it also features seamless sign-in and sync so you can take your personalized web browsing experience with you wherever you go, across devices.









Speed

With Chrome for Android, you can search, navigate and browse fast—Chrome fast. You can scroll through web pages as quickly as you can flick your finger. When searching, your top search results are loaded in the background as you type so pages appear instantly. And of course, both search and navigation can all be done quickly from the Chrome omnibox.





Simplicity

Chrome for Android is designed from the ground up for mobile devices. We reimagined tabs so they fit just as naturally on a small-screen phone as they do on a larger screen tablet. You can flip or swipe between an unlimited number of tabs using intuitive gestures, as if you’re holding a deck of cards in the palm of your hands, each one a new window to the web. One of the biggest pains of mobile browsing is selecting the correct link out of several on a small-screen device. Link Preview does away with hunting and pecking for links on a web page by automatically zooming in on links to make selecting the precise one easier. And as with Chrome on desktop, we built Chrome for Android with privacy in mind from the beginning, including incognito mode for private browsing and fine-grained privacy options (tap menu icon, ‘Settings,’ and then ‘Privacy’).





Sign in

You can now bring your personalized Chrome experience with you to your Android phone or tablet. If you sign in to Chrome on your Android device, you can:


  • View open tabs: Access the tabs you left open on your computer (also signed into Chrome)—picking up exactly where you left off.

  • Get smarter suggestions: If you visit a site often on your computer, you'll also get an autocomplete suggestion for it on your mobile device, so you can spend less time typing.

  • Sync bookmarks: Conveniently access your favorite sites no matter where you are or which device you’re using.


Chrome is now available in Beta from Android Market, in select countries and languages for phones and tablets with Android 4.0, Ice Cream Sandwich. We’re eager to hear your feedback. Finally, we look forward to working closely with the developer community to create a better web on a platform that defines mobile.







(Cross-posted from the Chrome blog and the Official Google blog)

Thursday, February 2, 2012

Android and Security

By Hiroshi Lockheimer, VP of Engineering, Android



The last year has been a phenomenal one for the Android ecosystem. Device activations grew 250% year-on-year, and the total number of app downloads from Android Market topped 11 billion. As the platform continues to grow, we’re focused on bringing you the best new features and innovations - including in security.



Adding a new layer to Android security

Today we’re revealing a service we’ve developed, codenamed Bouncer, which provides automated scanning of Android Market for potentially malicious software without disrupting the user experience of Android Market or requiring developers to go through an application approval process.



The service performs a set of analyses on new applications, applications already in Android Market, and developer accounts. Here’s how it works: once an application is uploaded, the service immediately starts analyzing it for known malware, spyware and trojans. It also looks for behaviors that indicate an application might be misbehaving, and compares it against previously analyzed apps to detect possible red flags. We actually run every application on Google’s cloud infrastructure and simulate how it will run on an Android device to look for hidden, malicious behavior. We also analyze new developer accounts to help prevent malicious and repeat-offending developers from coming back.



Android malware downloads are decreasing

The service has been looking for malicious apps in Market for a while now, and between the first and second halves of 2011, we saw a 40% decrease in the number of potentially-malicious downloads from Android Market. This drop occurred at the same time that companies who market and sell anti-malware and security software have been reporting that malicious applications are on the rise. While it’s not possible to prevent bad people from building malware, the most important measurement is whether those bad applications are being installed from Android Market - and we know the rate is declining significantly.



Android makes malware less potent

In addition to using new services to help prevent malware, we designed Android from the beginning to make mobile malware less disruptive. In the PC model, malware has more potential to misuse your information. We learned from this approach, designing Android for Internet-connected devices. Some of Android’s core security features are:




  • Sandboxing: The Android platform uses a technique called “sandboxing” to put virtual walls between applications and other software on the device. So, if you download a malicious application, it can't access data on other parts of your phone and its potential harm is drastically limited.

  • Permissions: Android provides a permission system to help you understand the capabilities of the apps you install, and manage your own preferences. That way, if you see a game unnecessarily requests permission to send SMS, for example, you don’t need to install it.

  • Malware removal: Android is designed to prevent malware from modifying the platform or hiding from you, so it can be easily removed if your device is affected. Android Market also has the capability of remotely removing malware from your phone or tablet, if required.




No security approach is foolproof, and added scrutiny can often lead to important improvements. Our systems are getting better at detecting and eliminating malware every day, and we continue to invite the community to work with us to keep Android safe.