jeudi 30 septembre 2010

Use Chrome like a pro

Two months ago, Chrome team members shared a list of their favorite extensions on the Official Google blog. This time around, we asked Mac aficionados on the Chrome team to share with us the extensions they like the most. Below is a list of their favorite extensions.

  • Google Voice - Make calls, send SMS, preview inbox and get notified of new messages right in your browser (US only).

  • Send from Gmail - Makes Gmail your default email application and provides a button to compose a Gmail message to quickly share a link via email.

  • iReader - View news stories and other articles in a very easy to read, clutter-free, scrollable display.

  • Google Dictionary - View definitions easily as you browse the web, similar to using ⌘-Option-D in other Mac applications.

  • delicious bookmarks - Integrate your bookmarks with Google Chrome with the official Chrome extension for Delicious, the world's leading social bookmarking service.

  • Instachrome - Collect articles from around the Internet to read them on the web with Instapaper.

These are just a few extensions to help enhance your web browsing experience and address the most requested features. If you don’t have Google Chrome yet, you can download it here. There are more than 7,000 extensions to choose from in our Google Chrome Extensions gallery, so you’ll be sure to find the right extensions for you.

Posted by Mike Pinkerton, Staff Software Engineer

mardi 21 septembre 2010

Services and scripts for Accordance 9

Updated: As far as I know, most Accordance scripts and Services are now working again as of Accordance 9.02. Please let me know if this is not the case.

Previous: Changes in the new version of Accodance have broken some of my scripts. This is common for each major release. Notice their widget is also disabled. I'm getting lots of contacts… I am aware things are broken. I can not work on a new compatible version of my script library until after a new Accordance hits the public, so sometimes it has been a matter of weeks. In this instance, you can know I will begin a new version of the Accordance Script Library once Accordance has released a version that works with their widget once again.

mercredi 15 septembre 2010

An HTTP Fetcher Class for Mac OS X and iOS Apps

By Greg Robbins, Software Engineer

(Editor's note: Today's blog post is another cool one for programmers in the audience. Non-developer readers, thanks for bearing with us.)

Mac OS X and iOS provide developers with a high-level class, NSURLConnection, that makes interacting with servers pretty easy. NSURLConnection follows the system networking preferences, navigates through proxies, and handles other details just as users expect on their devices. But in applications that require a series of server requests and responses, NSURLConnection can be inconvenient to use. All connections made by an application’s class call back into a single set of delegate methods, and when there are numerous connections to be made, sorting out the responses is a bit of a chore.

So ever since Google’s first Mac application, Gmail Notifier, we’ve used a wrapper around NSURLConnection to make it easier to issue http requests. After years of being hidden away and evolving inside of other projects, the Google Toolbox for Mac HTTP Fetcher has now been promoted to its own Google Code open source project. Though simple to use for basic GETs and POSTs, it also offers a variety of convenient features for developers of networking applications.

Here is an example of using the fetcher to make a request of a server:

#import "GTMHTTPFetcher.h"

NSURL *url = [NSURL URLWithString:@""];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
GTMHTTPFetcher* myFetcher = [GTMHTTPFetcher fetcherWithRequest:request];
[myFetcher beginFetchWithDelegate:self

and when the request is complete, the fetcher invokes a single callback in the application:

- (void)myFetcher:(GTMHTTPFetcher *)fetcher
finishedWithData:(NSData *)retrievedData
error:(NSError *)error {
// if error is not nil, the fetch succeeded

One class can initiate many fetches, each with their own callback selectors, making it easy to pack a lot of networking into a single class. In iOS 4 and Mac OS X 10.6, Objective-C blocks simplify fetching even further, avoiding the need for callback methods:

[myFetcher beginFetchWithCompletionHandler:^(NSData *retrievedData,
NSError *error) {
// check the error and use the retrieved data here

As with the underlying NSURLConnection class, the fetcher’s requests are always asynchronous, so the user experience is never blocked waiting for a server response.

This basic http fetcher functionality requires adding just a single source file and header to an application. But the fetcher comes with support for many more advanced features, such as automatic retry on errors, cookie handling, ETag tracking and response caching, convenient request and response logging, and multi-part MIME upload.

To get started using the GTM HTTP Fetcher, read the introduction at the project site, and join the Google Toolbox for Mac discussion group. You can find even more of our open source resources for iOS and Mac developers at the Google Mac Developer Playground.

mardi 14 septembre 2010

USB Disk : Transformer iPhone en un disque stockage de fichiers

USB Disk : Transformer iPhone en un disque stockage de fichiers
Avec l’application USB Disk, vous pouvez utiliser votre iPhone ou iPod touch comme l'espace de stockage portable pour les fichiers de tout type. Stocker, organiser et visualiser des fichiers au sein de l'APP, et les ajouter dans iTunes.

N'étant pas en mesure de stocker facilement des fichiers a été rapide sur une plainte
iPhones, mais qui a changé maintenant, et vous pouvez transférer n'importe quoi pour et à partir de votre iPhone en utilisant l'espace de partage de fichiers dans iTunes. USB Disk est un gestionnaire de fichiers jolie petite qui vous permet de créer des dossiers, déplacer des fichiers et même les voir. Vous pouvez afficher des feuilles de calcul, des fichiers Word, vidéo et audio en plus, sans problèmes.

USB Disk est livré avec un document d'accueil, dont vous aurez besoin pour apprendre l'interface, ce qui serait autrement difficile. Cependant, il est effectivement facile à utiliser une fois que vous savez. Faites glisser les fichiers dans iTunes, et ils apparaissent dans le disque USB.


lundi 13 septembre 2010

More Details for Accordance on iPhone

The folks at Accordance have announced the near release of Accordance 9, as well as a longer blurb about the iOS (iPhone, iPad) app that will be released: Accordance on iPhone :: Accordance

Here are the functionality details I glean from it:

• free app

• runs Accordance modules

• search and study functionality

• offline use

• edit notes

• view multiple translations

• Greek and Hebrew search and display

• access reference tools, including dictionaries, keyed texts, lexicons, and photo guide

• can further narrow searches

• identical functionality across iPhone/iPod Touch/iPad (Though iPad screen is optimized for that resolution)

• simple search commands

• grammatical searches

• instant parsing

• module syncing with Accordance 9

Given all that, it looks like it will already contain all the functionality I would use 99% of the time. I have carried a bible application in my pocket for over a decade (Palm OS until my iPhone), and all I have ever needed it for was looking up verses to read and the rare, rare, rare simple word search.

dimanche 12 septembre 2010

iPhone Pirate Nations

iPhone Pirate Nation is developed by MiniNation Games. In this Pirate Nation, you are a pirate going out in the open Sea. Mission is to collect materials to design your own ship, attack enemies with your various weapons, complete quests and finding your group members.

In the Pirate Nation, one needs to build up your energy and defense levels. Given energy level means you can travel more and having more turns. Increasing your defense means you will survive attacks against your ship. Of course giving better weapons will allow you to kill off other pirates fast enough within the given timeline. You can earn extra money by scrubbing the decks of your "Mateys" while visiting their ships which can also earn you "Matey Medals" to replenish your energy as well as additional Doubloons for you to spend. Use your treasures to purchase materials to build parts for your ship, and Jewels to acquire special items to help you advance in the game.

There are two ways to get credits. Either earn money by going for quests or buy jewels using real money. Get jewel via real money allows you to get powerful items for your fight. Choose your own way. slowly gathering money or buy using real money.

Enjoy the iPhone Pirate Nation and build your ideal pirate ship!

vendredi 10 septembre 2010

OAuth Sign-in Controllers for iOS and Mac OS X Applications

By Greg Robbins, Software Engineer

(Editor's note: Long-time readers know we sometimes publish posts aimed at programmers, and this is one of those. If you're not a software developer, don't worry. Our usual non-technical stuff will return.)

It’s rare today for any software to live in isolation. And often, applications want to connect to data in your Google Account. Social networks seek access to your Gmail contacts, finance programs try to sync with your Google Finance portfolio, and photo editing software would like to add eyeglasses and mustaches to the photos in your Picasa Web Albums account. But you probably don’t want your photo editing program to be able to download your financial portfolio, spend money with your Google Checkout account, or have access to any of your other personal data.

The fundamental problem is that giving your username and password to a program hands it access to all of your data. Recently, Internet software developers have converged on a solution called OAuth. When sites and software support OAuth, you only need to give your username and password—your credentials—to the site where your data belongs, and that site passes a token with strictly limited authorization rights back to other sites and software.

For example, if you want to use the new SuperAwesomeEditor application to trim your YouTube videos, the editing program can use OAuth to ask YouTube for permission to edit your videos, and then YouTube will ask you to verify your identify. Once you give your username and password to YouTube, it will hand back to SuperAwesomeEditor a token allowing it access just to your YouTube videos for editing. SuperAwesomeEditor won’t know your password, so it won’t be able to grab your financial documents or check out your Gmail contacts. And tomorrow, if you change your mind, you can tell YouTube to cancel that token, and suddenly SuperAwesomeEditor will be unable to access your videos at all. Now you’re in control of your personal data.

OAuth offers another big advantage: it gives the data provider flexibility in how it authenticates you. So today you may be asked for your username and password, and also to solve a captcha to prove you’re human. Tomorrow, with tighter security, the provider can add another means of authentication, perhaps by sending a text message to your phone with an extra passcode to type when signing in. Improvements in user authentication over time like this aren’t possible in software that only knows how to ask for a username and password.

Unfortunately, the rose of OAuth comes with thorns. One bit of pain is that it takes a lot of tricky programming for applications to use OAuth for authentication. Another downside stems from OAuth having been designed to allow one website to obtain authorization from another; it is not well-suited for use in installed applications, such as native iPhone, iPad, or Mac OS X software.

To encourage adoption of OAuth by Mac and iOS apps, we have released the Google Toolbox for Mac OAuth Controllers. This small set of Objective-C classes makes it easy for developers to add OAuth sign-in embedded into Cocoa apps. Since adoption of OAuth extends beyond Google, the OAuth controllers work with both Google and non-Google data providers.

Here’s how easy it is for developers to let users sign in to Google Contacts with OAuth from an iPhone application:

#import "GTMOAuthViewControllerTouch.h"

NSString *keychainItemName = @"HotSocialNetwork: Google Contacts"
NSString *scope = @"";
// scope for Google Contacts API

GTMOAuthViewControllerTouch *viewController =
[[[GTMOAuthViewControllerTouch alloc] initWithScope:scope
[[self navigationController] pushViewController:controller animated:YES];

When the user finishes signing in, the controller will invoke the application’s callback method:
- (void)viewController:(GTMOAuthViewControllerTouch *)viewController
finishedWithAuth:(GTMOAuthAuthentication *)auth
error:(NSError *)error {
if (error == nil) {
// Authentication succeeded; retain the auth object

That’s it. The controllers handle displaying an embedded web view and interacting with the server, and optionally saving the authorization token in the keychain. Later on, the application can use the auth object provided to the callback to authenticate and sign requests it makes to the server, like this:

[auth authorizeRequest:myNSURLMutableRequest];

Authenticating to non-Google services takes a few more lines of code to specify the application’s identity and the server addresses needed for authorization, but it’s almost as simple.

The OAuth protocol is in transition, as a newer version is currently being developed. But if you are a developer, there is already benefit to adopting OAuth for letting your users sign in to Google and other services. For more information about using the GTM OAuth controllers in your app, read the introduction at the project site, and join the discussion group. Google also maintains a site for our ongoing research into OAuth and related subjects.

The OAuth Controllers are an independent sibling project to the Google Toolbox for Mac, a collection of useful classes for iPhone and Mac developers. The controllers incorporate the newly-liberated GTM HTTP Fetcher project, our networking wrapper class, which I’ll discuss in an upcoming post. You can find more of our open-source Mac and iPhone toys on the Google Mac Developer Playground at

mercredi 8 septembre 2010

Accordance Users Conference

I am working on some arrangements, as well as my workshop, and so am now really looking forward to the Accordance Users Conference coming up at the end of this month (Sept. 24-25) in Dallas. It will be a great time to interact with other users. It will be an opportunity it seems to get a first look at some new things they have in the pipeline (iPhone app demo I'm predicting!). It will be an opportunity to sit down with other users and the creators to talk through your own work in Accordance and brainstorm how to make it more effective.
Hope to see you there.