Friday, February 6, 2009

[Gd] A roadmap update!

| More

Google App Engine Blog: A roadmap update!

Posted by Joe Gregorio, App Engine Team


The App Engine team has been plugging away and we're excited about some pretty big announcements in the near future. In the meantime, we decided to refresh our App Engine roadmap for the next six months with some of the great new APIs in our pipeline:




  • Support for running scheduled tasks

  • Task queues for performing background processing

  • Ability to receive and process incoming email

  • Support for sending and receiving XMPP (Jabber) messages




As always, keep in mind that development schedules are notoriously difficult to predict, and release dates may change as work progresses. We'll do our best to update this roadmap as our engineers continue development and keep you abreast of any changes!



You'll have the opportunity to discuss this roadmap (and all things App Engine) with us and your fellow developers during Google I/O, coming up in May. Check out the App Engine sessions we've already announced and don't forget to discuss in our Google Group!

URL: http://googleappengine.blogspot.com/2009/02/roadmap-update.html

[Gd] Staying up to date with Google Code

| More

Google Code Blog: Staying up to date with Google Code

By Ali Pasha & Jacob Moon, Google Code

As the number of developers and projects have grown on Google Code, we've started thinking about how to get projects to learn from and work with each other. Today, we're happy to announce that we have made a few steps towards that goal.

First, we've added user update streams to make it easy to see what a particular user has been doing across Project hosting on Google Code. As an example, take a look at Ben Collins-Sussman's activities on his profile page. Ben works on Google Code, but it's obvious that he has other interests as well.

In addition, tracking open source projects and other developers is as easy as starring a project or a developer profile. Starring a project or developer adds a link in your new "Starred Projects" and "Starred Developers" section of your profile page, making it really easy to find those projects or developers again. Starred projects are also added to the new "My projects" drop-down, which makes it easy to navigate to a project from anywhere on the site.

Once a project or a developer is starred, all updates from starred projects and developers can be tracked by looking at your personalized updates.
For those that prefer to use their feed reader, use the following new feeds:
  • Updates for a user - http://code.google.com/feeds/u/{username}/updates/user/basic
  • Developers a user is tracking - http://code.google.com/feeds/u/{username}/updates/projects/basic
  • Projects a user is tracking - http://code.google.com/feeds/u/{username}/updates/developers/basic
As always, we look forward to your feedback.
URL: http://google-code-updates.blogspot.com/2009/02/staying-up-to-date-with-google-code.html

[Gd] Google API Libraries for GWT Update

| More

Google Web Toolkit Blog: Google API Libraries for GWT Update

By Eric Ayers, Google Web Toolkit Team

Another round of updates is ready for the Google API Libraries for Google Web Toolkit (GWT). This update brings bug fixes and new features to three of the existing libraries. The Google Visualization API Library for GWT moves from a release candidate to a public release with a few bug fixes. The Gadgets API Library for GWT now supports GadgetAds , gadget based internationalization and an important bug fix for Windows developers using GWT hosted mode. The Google Maps API Library for GWT now includes support for the GAdsManager and reverse geocoding support. We are also announcing a major update to the Gears API Library for GWT to support the Gears 0.4 feature set, which includes Geolocation, HTTP Request, Desktop and Blob support.

This release is exciting to me not just for the new features that have been added, but also for the number of new contributors to the libraries from the open source community. Special thanks to Mark Renouf for contributing Gears 0.4 support, and all those that filed issues and contributed patches.

You can find the new libraries ready for download on Google Code.

URL: http://googlewebtoolkit.blogspot.com/2009/02/google-api-libraries-for-gwt-update.html

Thursday, February 5, 2009

[Gd] Calling all designers: Open Architecture Challenge

| More

Official Google SketchUp Blog: Calling all designers: Open Architecture Challenge

At the SketchUp 3D Basecamp last year, we were fortunate to have Cameron Sinclair (Co-founder, Executive Director and "Eternal Optimist" of Architecture for Humanity) as our keynote speaker. Cameron came to the Googleplex, shared his inspirational work, and motivated everyone to get involved in the Sportables design competition.

To kick off 2009, and to get the creative juices of the SketchUp community flowing again, we've partnered with Architecture for Humanity for the Open Architecture Network Challenge. This year's challenge invites the global design and construction community to collaborate directly with primary and secondary school teachers and students to create safer, healthier, and smarter learning environments.



We're encouraging the SketchUp community - that means you! - to get involved. Safe, healthy, and comfortable environments are vital to learning, and you know how to design them.

Posted by Chris Cronin, SketchUp Team
URL: http://sketchupdate.blogspot.com/2009/02/calling-all-designers-open-architecture.html

[Gd] YouTube APIs + iPhone = Cool mobile apps

| More

YouTube API Blog: YouTube APIs + iPhone = Cool mobile apps

Posted by Kuan Yong, YouTube APIs and Tools Team

The YouTube APIs Terms of Service permits commercial use of the APIs under certain conditions, and in most cases, as long as you play fair, you are free (and highly encouraged) to develop great iPhone apps using the YouTube APIs and sell them in the iTunes App Store.

An iPhone app that uses the YouTube APIs typically needs to do two things:
  • Call the YouTube API Data API to search videos, get video metadata, etc. You should use our Objective C client library instead of trying to construct the HTTP request or parse the response by hand.
  • Invoke the native YouTube player on the iPhone to play videos.
There are at least two ways to play YouTube videos in your iPhone app (that don't run afoul of Apple's SDK rules). The easier way requires just one line of code but it involves quitting your app and launching the full YouTube app on the phone. The better way needs a little more setup but provides a seamless way of taking the user to the YouTube player and back to your app. Note that these two methods work only on an actual device, not in the iPhone simulator, since the latter does not have a YouTube player.


Method 1: Open the YouTube play page URL (Easier)

1. Grab the video url from the media tag in the API response with the application/x-shockwave-flash type. It should look something like this:

http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM

If you don't see the c and d parameters in the URL, it's because you are not passing in your developer key and client ID in the request. While they are not mandatory for read requests, we highly recommend that you provide them in every API request.

2. Open the URL in your app by calling the openURL method on your UIApplication instance:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM"]];


When your app calls openURL, it will quit and launch the full native YouTube app on the phone. After the video stops playing, the user remains in the YouTube app. The user has no easy way of getting back to your app.


Method 2: Embed the YouTube player in a UIWebView

No, the iPhone still doesn't do Flash, but if you haven't already noticed, the Safari browser on the iPhone is clever enough to turn any YouTube embed into a clickable thumbnail that launches the native YouTube player app on the phone. You can take advantage of this feature in your app by using a UIWebView. Here's how:

1. Set up a UIWebView in your app. You can make it part of a xib or create it programmatically. Size the UIWebView according to how large you want the clickable thumbnail to be.

2. Grab the video url using the same method as the one described above.

3. Call the loadHTMLString:baseURL: method on the UIWebView instance with some carefully constructed HTML that contains the YouTube embedded player code snippet and some supporting HTML to make sure that the video thumbnail appears correctly. Set the base URL to the URL of your website (it doesn't do anything here -- ordinarily UIWebView uses it to handle relative URL links correctly).

The best way to illustrate this is with a code snippet. Note the use of the viewport HTML meta parameter and the consistent use of width and height parameters throughout.

// webView is a UIWebView, either initialized programmatically or loaded as part of a xib.

NSString *htmlString = @"<html><head>
<meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head>
<body style=\"background:#F00;margin-top:0px;margin-left:0px\">
<div><object width=\"212\" height=\"172\">
<param name=\"movie\" value=\"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"></param>
<param name=\"wmode\" value=\"transparent\"></param>
<embed src=\"http://www.youtube.com/v/oHg5SJYRHA0&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"
type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"212\" height=\"172\"></embed>
</object></div></body></html>";

[webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:@"http://www.your-url.com"]];

One of the biggest benefits of this approach is that your app does not have to quit in order for the video to start playing. In fact, the iPhone will keep your app running in the background while it fires up the YouTube player to play the video. After the video finishes playing (or when the user hits "Done"), the user is automatically taken back to your app. This experience is very similar to watching embedded YouTube videos in the iPhone Safari browser and is just as seamless.


Have fun writing the next killer iPhone app, and don't forget to list your app in the YouTube Project Gallery once it goes live in the App Store!

Coming up: Adding YouTube content to Android apps
URL: http://apiblog.youtube.com/2009/02/youtube-apis-iphone-cool-mobile-apps.html

[Gd] New! Caption files for Google Developer Videos

| More

Google Code Blog: New! Caption files for Google Developer Videos

by Naomi Bilodeau, Google Code Team

Last year, YouTube launched a Captions and Subtitles feature. In addition to launching a new playlist for captioned Developer Videos, we're also kicking off an Open Source project to host caption files that anyone can reuse under the terms of the Creative Commons 3.0 BY license.

We're hoping that developers will come up with interesting uses for caption data, once it's in the public domain. You can use transcripts as a corpus for training speech-to-text algorithms or testing applications that read and write caption files. Or, combine timepoint data with YouTube's URL support to jump to a specific point in a video.

Caption tracks make YouTube videos accessible to a wider audience. For example, try a search on [RESTful protocol YouTube] and you'll find search results from the captions on Joe Gregorio's recent talk.

While we're delighted that Kevin Marks' captioned English accent can be more easily understood by Americans, we've also translated the caption files and provided tracks in multiple languages for a few of our captioned videos. For all other videos, YouTube can perform Auto-Translate on caption text using Google Translate technology.



To learn more about YouTube caption file formats, take a look at the YouTube Help Center. If you're interested in contributing caption files for videos on Google channels, or making translations available, please consider joining the project.

We hope you'll find these additions useful. Happy reading!
URL: http://google-code-updates.blogspot.com/2009/02/new-caption-files-for-google-developer.html

[Gd] Embedding the Google Earth Plugin in Desktop Applications

| More

Featured Projects on Google Code: Embedding the Google Earth Plugin in Desktop Applications



Screenshot





Google APIs used:

Google Earth API



This project shows how to embed the Google Earth API into a desktop application using C# and Objective C.




URL: http://google-code-featured.blogspot.com/2009/02/embedding-google-earth-plugin-in.html

[Gd] TotT: Be an MVP of GUI Testing

| More

Google Testing Blog: TotT: Be an MVP of GUI Testing

With all the sport drug scandals of late, it's difficult to find good role models these days. However, when your role model is a Domain Model (object model of the business entities), you don't need to cheat to be an MVP--Use Model-View-Presenter!

MVP is very similar to MVC (Model-View-Controller). In MVC, the presentation logic is shared by Controller and View, as shown in the diagram below. The View is usually derived directly from visible GUI framework component, observing the Model and presenting it visually to the user. The Controller is responsible for deciding how to translate user events into Model changes. In MVP, presentation logic is taken over entirely by a Supervising Controller, also known as a Presenter.

MVC




MVP




The View becomes passive, delegating to the Presenter.

public CongressionalHearingView() {
  testimonyWidget.addModifyListener(
    new ModifyListener() {
      public void modifyText(ModifyEvent e) {
        presenter.onModifyTestimony(); // presenter decides action to take
      }});
}



The Presenter fetches data from the Model and updates the View.

public class CongressionalHearingPresenter {
  public void onModifyTestimony() {
    model.parseTestimony(view.getTestimonyText()); // manipulate model
  }
  public void setWitness(Witness w) {
    view.setTestimonyText(w.getTestimony()); // update view
  }
}



This separation of duties allows for more modular code, and also enables easy unit testing of the Presenter and the View.

public void testSetWitness() {
  spyView = new SpyCongressionalHearingView();
  presenter = new CongressionalHearingPresenter(spyView);
  presenter.setWitness(new Witness(“Mark McGwire”, “I didn't do it”));
  assertEquals( “I didn't do it”, spyView.getTestimonyText());
}



Note that this makes use of a perfectly legal injection -- Dependency Injection.

Remember to download this episode of Testing on the Toilet and post it in your office.
URL: http://googletesting.blogspot.com/2009/02/with-all-sport-drug-scandals-of-late.html

[Gd] Show Me the Money

| More

YouTube API Blog: Show Me the Money

Posted by Kuan Yong, YouTube APIs Product Manager

Money: it's on everyone's mind lately, and we know developers are no different. We understand that developers aren't just satisfied with creating the coolest YouTube mashup out there. They also want a way to sustain their efforts financially, and the trick is figuring out how to do so appropriately. That's why we've published a document that provides clear guidance on how you can monetize the apps you've built with the YouTube APIs. While it is not a substitute for reading our Terms of Service, it should point you to the clauses you should pay attention to and hopefully even give you some ideas for your next YouTube API-powered project.

So go ahead, launch the next great YouTube mashup, and monetize the hell out of it. And don't forget to tell us about your app at the YouTube Project Gallery.
URL: http://apiblog.youtube.com/2009/02/show-me-money.html

Wednesday, February 4, 2009

[Gd] Irregexp, Google Chrome's New Regexp Implementation

| More

Chromium Blog: Irregexp, Google Chrome's New Regexp Implementation

One of the new features in the most recent dev-channel release of Google Chrome (2.0.160.0) is Irregexp, a completely new implementation of regular expressions (regexps) in the V8 JavaScript engine. Irregexp builds on V8's existing infrastructure for memory management and native code generation and is tailored to work well for the kinds of regexps used by JavaScript programs on the web. The result is a considerable improvement in V8's regexp performance.

While the V8 team has been working hard to improve JavaScript performance, one part of the language that we have so far not given much attention is regexps. Our previous implementation was based on the widely used PCRE library developed by Philip Hazel at the University of Cambridge. The version we used, known as JSCRE, was adapted and improved by the WebKit project for use with JavaScript. Using JSCRE gave us a regular expression implementation that was compatible with industry standards and has served us well. However, as we've improved other parts of the language, regexps started to stand out as being slower than the rest. We felt it should be possible to improve performance by integrating with our existing infrastructure rather than using an external library. The SquirrelFish team is following a similar approach with their JavaScript engine.

A fundamental decision we made early in the design of Irregexp was that we would be willing to spend extra time compiling a regular expression if that would make running it faster. During compilation Irregexp first converts a regexp into an intermediate automaton representation. This is in many ways the "natural" and most accessible representation and makes it much easier to analyze and optimize the regexp. For instance, when compiling /Sun|Mon/ the automaton representation lets us recognize that both alternatives have an 'n' as their third character. We can quickly scan the input until we find an 'n' and then start to match the regexp two characters earlier. Irregexp looks up to four characters ahead and matches up to four characters at a time.

After optimization we generate native machine code which uses backtracking to try different alternatives. Backtracking can be time-consuming so we use optimizations to avoid as much of it as we can. There are techniques to avoid backtracking altogether but the nature of regexps in JavaScript makes it difficult to apply them in our case, though it is something we may implement in the future.

During development we have tested Irregexp against one million of the most popular webpages to ensure that the new implementation stays compatible with our previous implementation and the web. We have also used this data to create a new benchmark which is included in version 3 of the V8 Benchmark Suite. We feel this is a good reflection of what is found on the web.

If you want to try this out, and help us test it in the process, you can subscribe to the dev-channel and if you see problems that might be related to Irregexp consider filing a bug.

And BTW, we'll have sessions on V8 and other Chrome-related topics in May at Google I/O, Google's largest developer conference.

Posted by Erik Corry, Christian Plesner Hansen and Lasse Reichstein Holst Nielsen, Software Engineers
URL: http://blog.chromium.org/2009/02/irregexp-google-chromes-new-regexp.html

[Gd] Sunsetting v12 on February 23, 2009

| More

AdWords API Blog: Sunsetting v12 on February 23, 2009

In accordance with our policy of sunsetting older versions of the AdWords API, we will turn off access to version 12 of the API on Monday, February 23, 2009. Version 13 of the API has been available for over four months now, and supports a number of new features. We hope that you've already taken the opportunity to upgrade your code.

The latest versions of the publicly available official Google client libraries all support version 13 of the API, so if you're using one of those, please check the relevant README file for information on how to switch from version 12 to 13.

As always, if you have any questions about the AdWords API or upgrading to our latest versions, you can check out our Frequently Asked Questions or ask them in our developer forum.

-- AdWords API Team
URL: http://adwordsapi.blogspot.com/2009/02/sunsetting-v12-on-february-23-2009.html

[Gd] New social features launched on opensocial.org

| More

OpenSocial API Blog: New social features launched on opensocial.org

It seems like a no-brainer to create a social network for the OpenSocial community, so we've used Ning to add some social features to www.opensocial.org. Here are some of the cool new things you can do on the site:
  • Run OpenSocial apps! Since Ning supports OpenSocial, you can add apps to your profile; including useful tools like the OpenSocial Dev App or any apps you've written yourself. Use your profile to show off your work!
  • Chat with other developers to get help or raise issues in real time.
  • Learn about upcoming OpenSocial events (or run one yourself!), then share your photos or videos with the community.
Of course, opensocial.org is still the place to find OpenSocial tutorials, official specs, and other resources.

Join the community at www.opensocial.org and let us know what you think!


Posted by Lane LiaBraaten, OpenSocial Team
URL: http://opensocialapis.blogspot.com/2009/02/new-social-features-launched-on.html

[Gd] Dev Update: Bug fixes, UI tweaks, and a V8 Update

| More

Google Chrome Releases: Dev Update: Bug fixes, UI tweaks, and a V8 Update

Google Chrome's Dev channel has been updated to 2.0.160.0. The highlights for this week include a good number crash fixes and UI presentation and behavioral clean-up:
  • Fixes a number of tab dragging related crashes.
  • Fixes issue where Chrome could not be set as the default browser.
  • Add support for UA spoofing, and spoof Safari's UA string when loading URLs
  • Improving UI presentation in Vista and XP
  • We now generate a proper file name when dragging an image off the browser on to the desktop
  • V8 has been updated to version 0.4.9.3, read more in the V8 changelog.
  • Find about the Dev channel and how to subscribe at http://dev.chromium.org/getting-involved/dev-channel.

The complete list of changes is available in the release notes.

Anthony Laforge
Google Chrome Program Manager
URL: http://googlechromereleases.blogspot.com/2009/02/dev-update-bug-fixes-ui-tweaks-and-v8.html

Tuesday, February 3, 2009

[Gd] Stable and Beta Update: Incognito Mode Fix

| More

Google Chrome Releases: Stable and Beta Update: Incognito Mode Fix

Google Chrome's Beta and Stable channels have been updated to 1.0.154.48.

The change in 1.0.154.46 to fix Hotmail caused a problem for users in Incognito mode trying to access sites which depend on the User-Agent header. This header identifies the type of browser making the request and should be part of every request, even in Incognito mode. This issue is now fixed. There is also a security fix for a bug (analogous to CVE-2007-3670) where command line arguments could be injected and executed by getting a user to click a link in certain other browsers.


Jonathan Conradt
Engineering Program Manager
Mountain View, CA
URL: http://googlechromereleases.blogspot.com/2009/02/stable-and-beta-update-incognito-mode.html

[Gd] Stable and Beta Update: Incognito Mode Fix

| More

Google Chrome Releases: Stable and Beta Update: Incognito Mode Fix

Google Chrome's Beta and Stable channels have been updated to 1.0.154.48.

The change in 1.0.154.46 to fix Hotmail caused a problem for users in Incognito mode trying to access sites which depend on the User-Agent header. This header identifies the type of browser making the request and should be part of every request, even in Incognito mode. This issue is now fixed. There is also a security fix for a bug (analogous to CVE-2007-3670) where command line arguments could be injected and executed by getting a user to click a link in certain other browsers.


Jonathan Conradt
Engineering Program Manager
Mountain View, CA
URL: http://googlechromereleases.blogspot.com/2009/02/stable-and-beta-update-incognito-mode.html

[Gd] Adding Google News to Your Website

| More

Google AJAX APIs Blog: Adding Google News to Your Website

Today we are launching a new extension to the AJAX Search API, a Google News-based element. This element embeds a news slideshow on your site, letting your users see headlines and previews from Google News based on queries that you've selected. Here is an example of the NewsShow in action:



It couldn't be easier to add this to your site. Simply include this iframe:


<iframe src="http://www.google.com/uds/modules/elements/newsshow/iframe.html"
frameborder="0" width="300" height="250"
marginwidth="0" marginheight="0">
</iframe>


The element comes in two standard sizes: 728x90 and 300x250.

Adding a NewsShow to your site in this way allows you to customize its shape and content with URL arguments. Simply input your parameters into our wizard and we'll build the code for you. Or, for greater control over the NewsShow's look and feel, you can call the classes directly. Check out the documentation for details and the Code Playground to try your hand at customizing.

As always, let us know what you think in the Google AJAX API developer forum.
URL: http://googleajaxsearchapi.blogspot.com/2009/02/adding-google-news-to-your-website.html

[Gd] Integrating Custom Search with your service

| More

Google Custom Search: Integrating Custom Search with your service

Posted by: Kevin Gollum Lim, Technical Writer

Most people who need something just go to the store to get the item, but a number of people take the time and effort to handcraft their own stuff. They do that because they enjoy tinkering with things until they work just the way they like them. Well, Custom Search has a group of developers who are like that, and they want to create and share their tools.

For such developers, we have good news. We launched a new API that lets other services connect to Custom Search. You can programmatically create, update, and delete search engines without going through the Custom Search control panel. In fact, the API offers most of the functionality that the Custom Search platform provides, and we're working on supporting the rest.

If you provide a service such as hosting websites or blogs, you can partner with Google to create custom search engines for your users. You can use the API to integrate Custom Search into your management console. Your users can then create search engines using your service and will need to use the Custom Search control panel only if they want to be more involved in the customization of their search engines. In our previous blog entry, we talked about how several web hosting providers have already done this. (If you are a web hosting provider who wants to integrate search into the sites you host, please ping us.)

Even if you are not providing a service for a large set of users, you could still create a lot of cool things with the API. Here are a few ideas: If you have a list of websites that change frequently, you can automate the updating of your annotations file; if you have a content management system, you could create search for all your webpages and even create search labels based on your existing categories; if you are a blogging platform, you can enable search for all your blogs.

To learn more about the new API, read the programmer's guide.
URL: http://googlecustomsearch.blogspot.com/2009/02/integrating-custom-search-with-your.html

[Gd] Project Hosting Upgraded to Subversion 1.5

| More

Google Code Blog: Project Hosting Upgraded to Subversion 1.5

By Ben Collins-Sussman, Google Code Project Hosting

We're pleased to announce that the Subversion component of Google Code Project Hosting has been upgraded to version 1.5. What does this mean to users? If you're using a Subversion 1.5 client, you can now take advantage of Subversion's improved "merge tracking" feature to manage branches.

Prior to Subversion 1.5, branching wasn't very friendly to users. A developer had to manually keep track of the revision from which a branch was copied. She also had to keep track of exactly which changes had been merged into a branch already (to avoid repeated application of changesets), and to always specify the exact range of revisions to merge next. Merging a branch back to trunk was even more difficult, since it required comparing two precise URLs in a very specific way.

With improved merge-tracking, users never have to type a single revision number. Here's a basic example of branch workflow.
  1. Make a branch for your experimental work:
    $ cd trunk-working-copy
    $ svn cp trunkURL branchURL
    $ svn switch branchURL

  2. Work on the branch for a while:
    # ...edit files
    $ svn commit
    # ...edit files
    $ svn commit

  3. Sync your branch with the trunk, so it doesn’t fall behind:
    $ svn merge trunkURL
    --- Merging r3452 through r3580 into '.':
    U button.c
    U integer.c
    ...
    $ svn commit

  4. Repeat the prior two steps until you’re done coding.

  5. Merge your branch back into the trunk:
    $ svn switch trunkURL
    $ svn merge --reintegrate branchURL
    --- Merging differences between repository URLs into '.':
    U button.c
    U integer.c
    ...
    $ svn commit

For a more detailed discussion of merge-tracking (and its limitations), see chapter 4 of the online Subversion Book. Live in fear of branches no more!
URL: http://google-code-updates.blogspot.com/2009/02/project-hosting-upgraded-to-subversion.html

Monday, February 2, 2009

[Gd] Dive into the new Google Earth

| More

Official Google SketchUp Blog: Dive into the new Google Earth

(Cross-posted from the Official Google Blog)

As you read this, I am at the beautiful California Academy of Sciences, announcing the launch of the newest version of Google Earth. This launch is particularly special to me because it marks the moment when Google Earth becomes much more complete — it now has an ocean.

Didn't Google Earth always have an ocean? Technically, yes, well, sort of. We have always had a big blue expanse and some low-resolution shading to suggest depth. But starting today we have a much more detailed bathymetric map (the ocean floor), so you can actually drop below the surface and explore the nooks and crannies of the seafloor in 3D. While you're there you can explore thousands of data points including videos and images of ocean life, details on the best surf spots, logs of real ocean expeditions, and much more.

We were joined at the Academy by many of the dozens of ocean scientists and advocates who helped make this project a reality: friends from National Geographic, the Monterey Bay Aquarium, the National Oceanic and Atmospheric Association, the US Navy, Scripps Oceanography, and Woods Hole Oceanographic Institution, to name just a few. Above all, I would like to acknowledge the work of Dr. Sylvia Earle, who cornered me at a conference three years ago and told me that Google Earth was great but that it wasn't finished (you can read more about that encounter on the Lat Long blog). As much as I hated to admit it, she was right. We on the Google Earth team had been working hard to build a rich 3D map of the world, but we had largely ignored the oceans — two thirds of the planet. Inspired by Sylvia, the team got to work. I hope you are as excited as I am to explore our new Ocean and all of the fascinating stories and images our partners have contributed.

But that's not all we launched today. In addition to Ocean, we introduced new features that we hope will enhance the way people interact with Google Earth and use it to communicate with the world.
  • Historical Imagery: Until today, Google Earth displayed only one image of a given place at a given time. With this new feature, you can now move back and forth in time to reveal imagery from years and even decades past, revealing changes over time. Try flying south of San Francisco in Google Earth and turning on the new time slider (click the "clock" icon in the toolbar) to witness the transformation of Silicon Valley from a farming community to the tech capital of the world over the past 50 years or so.
  • Touring: One of the key challenges we have faced in developing Google Earth has been making it easier for people to tell stories. People have created wonderful layers to share with the world, but they have often asked for a way to guide others through them. The Touring feature makes it simple to create an easily sharable, narrated, fly-through tour just by clicking the record button and navigating through your tour destinations.
  • 3D Mars: This is the latest stop in our virtual tour of the galaxies, made possible by a collaboration with NASA. By selecting "Mars" from the toolbar in Google Earth, you can access a 3D map of the Red Planet featuring the latest high-resolution imagery, 3D terrain, and annotations showing landing sites and lots of other interesting features.
For those of you who keep track of version numbers, this is Google Earth 5.0. We felt the addition of the ocean and "time" merited a major bump from 4.3 to 5.0 :-)

Members of the Google Earth team will be publishing in-depth posts about all of the new features in Google Earth 5.0 on the Lat Long blog all week, so be sure to check back there often. And check out our video tour below.



Posted by John Hanke, Director of Google Earth and Maps
URL: http://sketchupdate.blogspot.com/2009/02/dive-into-new-google-earth.html

[Gd] Best Buy's Giftag on App Engine

| More

Google App Engine Blog: Best Buy's Giftag on App Engine

Posted by Amanda Surya, Google App Engine Team




Built by Best Buy, Giftag is a gift registry add-on for FireFox and Internet Explorer that enables you to create a wish list and share it with others. The Giftag team first built a prototype of the application on another platform and went live on September 2008. About 10 weeks later, the team relaunched Giftag on App Engine just in time for Black Friday. Since then, they've been getting positive reviews from users about the product.



We're happy to share this video created by Jerry St. Sauver, Curtis Thompson, and Thomas Bombach, Jr., the development team behind Giftag. In this video, they share their thoughts on App Engine, their development experience, tips on getting started with App Engine, and finally a demo of Giftag in action.






To learn more about what the Giftag team is up to, check out the official Giftag blog.



To share your own experience using Google App Engine, tell us your story (or even your own video) in our developer forum.

URL: http://googleappengine.blogspot.com/2009/02/best-buys-giftag-on-app-engine.html

[Gd] App Engine Developers - Best Buy's Giftag

| More

Google Code Blog: App Engine Developers - Best Buy's Giftag

By By Amanda Surya, Google Developer Programs

We're constantly impressed at the wide range of applications developers are building with Google developer products. One great example is Giftag, an online gift registry and social sharing application created by the Best Buy social media team. Giftag was first developed on a different platform and launched at DEMO 08. After learning about Google App Engine, the Giftag development team decided to move Giftag on to App Engine and re-launched the application just in time for Black Friday.

In this video they created, the Giftag team shares their thoughts on why they chose to migrate Giftag to App Engine, the APIs they used, what they would like to see from App Engine, and tips on how to get started with App Engine. "Because of the technology of Google App Engine, it's superb about allowing you to scale something that's really popular and not having any cost of doing that." - Curtis Thompson, Giftag Lead Developer



To learn more about Google App Engine, check out our documentation, subscribe to our blog and join our growing community.
URL: http://google-code-updates.blogspot.com/2009/02/app-engine-developers-best-buys-giftag.html

[Gd] App Engine Developers - Best Buy's Giftag

| More

Google Code Blog: App Engine Developers - Best Buy's Giftag

By By Amanda Surya, Google Developer Programs

We're constantly impressed at the wide range of applications developers are building with Google developer products. One great example is Giftag, an online gift registry and social sharing application created by the Best Buy social media team. Giftag was first developed on a different platform and launched at DEMO 08. After learning about Google App Engine, the Giftag development team decided to move Giftag on to App Engine and re-launched the application just in time for Black Friday.

In this video they created, the Giftag team shares their thoughts on why they chose to migrate Giftag to App Engine, the APIs they used, what they would like to see from App Engine, and tips on how to get started with App Engine. "Because of the technology of Google App Engine, it's superb about allowing you to scale something that's really popular and not having any cost of doing that." - Curtis Thompson, Giftag Lead Developer



To learn more about Google App Engine, check out our documentation, subscribe to our blog and join our growing community.
URL: http://google-code-updates.blogspot.com/2009/02/app-engine-developers-best-buys-giftag.html

[Gd] MapFish 2D/3D integration

| More

Featured Projects on Google Code: MapFish 2D/3D integration



Screenshot



Author: Camptocamp


Google APIs used:

Google Earth API



This demo shows how to synchronize the 3D Earth API viewport with 2D Mapping APIs including the Google Maps API and OpenStreetMap.




URL: http://google-code-featured.blogspot.com/2008/12/mapfish-2d3d-integration.html