sábado, 27 de octubre de 2012

iOS 5.1 incluirá nuevo método de acceso a la cámara en pantalla de desbloqueo

La versión 5.1 del sistema operativo móvil de Apple se acerca a pasos acelerados, y a raíz de aquello es que comienzan a aparecer filtraciones que nos revelan qué habrá de novedoso en el nuevo software, saliendo ahora un reporte que nos indica la introducción de un botón para el rápido acceso a la cámara fotográfica en el iPhone.

La captura de pantalla filtrada muestra que se incluirá un icono al lado del switch para desbloquear el equipo, el cual debe arrastrar hacia arriba para entrar directamente a la cámara, acelerando el proceso de toma de imágenes.

Además, esta fuente nos muestra otra imagen donde se confirma que Siri tendrá soporte para el idioma japonés en la próxima actualización 5.1 de iOS, algo que ya habíamos adelantado y que ahora se revela a través del menú de configuración del equipo. Esto nos deja con la pregunta: ¿Cuándo Siri en español? Y otra más sobre el tema anterior: ¿Les agrada esta nueva forma de entrar a la cámara?

jueves, 25 de octubre de 2012

The Gmail Public Labels API

[This post is by Nadav Aharony, a product manager on the Android team — Tim Bray]

We're rolling out new developer features for the Gmail Android app: It now includes a public ContentProvider that you can use to retrieve label data. You can use this to access up-to-date unread counts for specific accounts' inboxes and labels.

To use the API, the Gmail app needs to be at version 2.3.6 or higher on Froyo or Gingerbread; 4.0.5 or higher on Honeycomb and ICS. Before using it, be sure you first check the Gmail app version; we've provided a handy GmailContract.canReadLabels(Context) method to help with this. Your app will need the com.google.android.gm.permission.READ_CONTENT_PROVIDER permission.

Finding the Gmail accounts set up on the device

The Labels API needs a valid Gmail account to build a query for per-label information. Assuming the GET_ACCOUNTS permission, the AccountManager can be used to fetch this information:

// Get the account list, and pick the first one  final String ACCOUNT_TYPE_GOOGLE = 'com.google';  final String[] FEATURES_MAIL = {          'service_mail'  };  AccountManager.get(this).getAccountsByTypeAndFeatures(ACCOUNT_TYPE_GOOGLE, FEATURES_MAIL,          new AccountManagerCallback() {              @Override              public void run(AccountManagerFuture future) {                  Account[] accounts = null;                  try {                      accounts = future.getResult();                      if (accounts != null && accounts.length > 0) {                          String selectedAccount = accounts[0].name;                          queryLabels(selectedAccount);                      }                    } catch (OperationCanceledException oce) {                      // TODO: handle exception                  } catch (IOException ioe) {                      // TODO: handle exception                  } catch (AuthenticatorException ae) {                      // TODO: handle exception                  }              }          }, null /* handler */);

Getting and accessing existing labels

Once you've got the email account, you can get a ContentProvider URI to query against. We've provided a simple support class called GmailContract.java for constructing the URI and defining the columns and relevant constants.

You can access any label, predefined or user-defined. The predefined labels include (you have to use symbolic constants rather than these strings, see below):

  • Priority Inbox

  • Starred

  • Chats

  • Sent

  • Drafts

  • All mail

  • Spam

  • Trash

To obtain a Cursor with information for all labels in an account, your app can either query this URI directly or use a CursorLoader. Here's an example:

Cursor c =       getContentResolver().query(GmailContract.Labels.getLabelsUri(selectedAccount),           null, null, null, null);

You can query and watch for changes on a single label by storing the URI value in the GmailContract.Labels.URI column from the cursor data.

The NAME value for pre-defined labels can vary by locale, so don't use GmailContract.Labels.NAME. Instead, identify pre-defined labels like Inbox, Sent or Drafts using the String value in the GmailContract.Labels.CANONICAL_NAME column. Here's an example:

// loop through the cursor and find the Inbox  if (c != null) {      final String inboxCanonicalName = GmailContract.Labels.LabelCanonicalName.CANONICAL_NAME_INBOX;      final int canonicalNameIndex = c.getColumnIndexOrThrow(GmailContract.Labels.CANONICAL_NAME);      while (c.moveToNext()) {          if (inboxCanonicalName.equals(c.getString(canonicalNameIndex))) {              // this row corresponds to the Inbox          }      }  }

If you choose to use a CursorLoader, it will keep the label counts up to date as they change over time.

Sample App

You can find a sample app that makes use of the new API here. The app provides a basic readout of label and message-count information.

People care about their incoming mail; we're looking forward to seeing what you do with access to this information. We're also open to suggestions as to how to improve and extend this new API.

http://feedproxy.google.com/~r/PocketPcLive/~3/HXHLAGwDqNs/microsofts-reply-on-the-privacy-lawsuit.html


privacy lawsuit You may know this; a week back Reuters gave information to many news sites about a Michican woman who is suing Microsoft for collecting location data without the user's permission. As Windows Phone always demands for permission, in case of any personal queries about the customers, this issue makes most of them feel more disgusting.

miércoles, 24 de octubre de 2012

Capcom Mobile Launches KENKEN for iPhone


Capcom Mobile, a leading developer and publisher of mobile games, and NEXTOY today announced the launch of the hit puzzle game KENKEN on the Apple App Store for the iPhone and iPod touch. KENKEN: Train Your Brain!, features stunning graphics, intuitive controls and 250 new puzzles to challenge puzzle masters and casual gamers alike.

KENKEN has become a certified phenomenon with more that 1.5 million puzzle books sold and regular puzzles appearing in The New York Times, Boston Globe, Detroit Free Press, Readers Digest and on NYTimes.com.

The brainchild of Japanese Math teacher Tetsuya Miyamoto and made famous by puzzle master Will Shortz, KENKEN requires simple arithmetic calculations and logic to decipher the ingenious puzzles. Translated as 'wisdom squared' in Japanese, KENKEN involves addition, subtraction, multiplication and division.

With difficulty levels from beginner to advanced, KENKEN puzzles improve logical thinking, concentration and perseverance.

If you've never played KENKEN it is in the same category as Sudoku but with a different twist. You can try it out online here and see what you think, or you can watch a how to play video here.

KENKEN: Train Your Brain is available from iTunes for $4.99.

martes, 23 de octubre de 2012

Cellphone Calls from 29,000 feet

Can You Hold On Honey? I Have to Climb This Mountain Real Quick.

For all you cell phone users out there planning on climbing Mt. Everest, you can breathe a little easier now. Earlier this week Nepal Telecom, Nepal's largest telecom company, announced that they plan to build a cell phone tower that will provide coverage for up to 3,000 calls at a time. One can only assume that limit will never be reached.

Nepal Telecom has a base of 2.8 million customers, about a tenth of all people from Nepal, and 60% of all cell phone users in the country. The company has installed seven satellite antennas around the mountain, and will be providing coverage as early as June this year. The Nepali company hopes to provide an alternative to those who have rely on satellite telephones when taking the climb.

Let's hope we never hear about an avalanche caused by a chatty climber.

Gavin Nachbar is a freelance writing cell phone talker who he, himself, never plans on climbing Mt. Everest.

lunes, 22 de octubre de 2012

Bruce Sterling on Earth-Friendly Pervasive Computing

Noting that the word 'computer' is disappearing from technologists' vocabularies, science fiction author and futurist Bruce Sterling believes that as the Internet subsumes computing, we are truly on the path toward a highly embedded wireless network in which nearly everything is a node:

In 2007 the computer gave up taking over the world. Instead the world took over the computer. The Internet became a wholly owned subset of Reality 2.0. When the actual world invades the virtual world, it scatters the computer into tiny physical pieces, some no bigger than dust. "Intelligent printing," another modern darling, is semiconductor ink sprayed on cardboard. There's never been a humbler, cheaper "computer."

Sterling envisions a world in which the chips that drive it are powered by tiny amounts of ambient energy -- nearly any form of heat or light will do. Such chips would have such low power requirements that they wouldn't need a dedicated power source, and would use up hardly any natural resources.

Source: Futurismic

domingo, 21 de octubre de 2012

Updated SDK Tools and ADT revision 17

Today we are releasing an update to the SDK Tools and the Eclipse plugin. Revision 17 brings a lot of new features and bug fixes in various areas such as Lint, the build system as well as the emulator.

Lint is a static checker which analyzes Android projects for a variety of issues around correctness, security, performance, usability and accessibility, checking your XML resources, bitmaps, ProGuard configuration files, source files and even compiled bytecode. It can be run from within Eclipse or from the command line.
New for r17:

  • Added check for Android API calls that require a version of Android higher than the minimum supported version. You can use the new @TargetApi annotation to specify local overrides for conditionally loaded code. For more information, read here.
  • Added over 40 new Lint rules for a total of over 80, including checks for performance, XML layouts, manifest and file handling. For a full list read here.
  • Added ability to suppress Lint warnings in Java code with the new @SuppressLint annotation, and in XML files with the new tools: namespace prefix and ignore attribute. For more information, read here.
  • Improved HTML and XML reporting and Eclipse integration. For more information, read here.

We've also made improvements to the build systems for Eclipse and Ant:

  • Added strict dependency support for 3rd party Jar files. You can read more information here.
  • Added support for custom views with custom attributes in libraries. Layouts using custom attributes must use the namespace URI http://schemas.android.com/apk/res-auto instead of the URI that includes the app package name. This URI is replaced with the app specific one at build time.
  • Added a feature that allows you to run some code only in debug mode. Builds now generate a class called BuildConfig containing a DEBUG constant that is automatically set according to your build type. You can check the (BuildConfig.DEBUG) constant in your code to run debug-only functions such as outputting debug logs.

The emulator is seeing some big improvements as well:

  • Thanks to contributions to AOSP from Intel, the emulator now supports running x86 system images in virtualization mode on Windows and Mac OS X. This allows the emulator running at near native speed. The drivers are available through the SDK Manager. Read more here.
  • After adding webcam support and sensor emulation, we are adding experimental support for Multi-Touch input through a tethered Android device. (Read more here)

Finally, we are also releasing an updated Support Library with the following improvements:

  • ShareCompat provides easy helper classes for both sending and receiving content for social sharing apps.
  • NavUtils and TaskStackBuilder provide cross-version support for implementing the Android Design guidelines for navigating within your app including the action bar's 'Up' button.
  • NotificationCompat.Builder provides a compatibility implementation of Android 3.0's Notification.Builder helper class for creating standardized system notifications.
  • A new Library Project adds support for GridLayout back to API level 7 and higher.

You can get more information about these changes in the SDK Tools Release Notes and ADT Release Notes.