Programa con Google
Inspirando la innovación tecnológica para los desarrolladores Google en español
El poder de Polymer y YouTube desde la comunidad de expertos
Tuesday, March 31, 2015
Cual es uno de los mayores desafíos a los que nos enfrentamos hoy en día los desarrolladores al momento de crear la UI de una aplicación?
Probablemente uno de los mayores desafíos es que las aplicaciones se han convertido en servicios, que se consumen desde distintos dispositivos, como móviles, tabletas, portátiles, TV, dispositivos vestibles y autos!!! Todos con distintos tamaños de pantallas, e incluso con distinto tipo de
entrada
de datos, como mouse y teclado, pantalla táctil y voz.
Por si esto fuera poco, incluso se utilizan estos nuevos servicios o aplicaciones desde distintos dispositivos en forma simultánea.
Este es un problema al que también se enfrenta
Google
, ya que provee servicios para todas las plataformas, e inclusive es pionero creando algunas de estas plataformas, como
Android Wear
y
Android Auto
.
La buena noticia es que
Google
no solo esta preparado para estos escenarios, en los que ofrece sus aplicaciones y servicios con una interfaz de usuario (UI) y una experiencia de usuario (UX) consistente, si no que ademas a desarrollado un
lenguaje de diseño
,
Material Design
, que resuelve el problema, y lo ha implementado sobre varios frameworks y tecnologías open source, como
Polymer, Android L y AngularJS
, lo que facilita y permite la rápida adopción de esta solución por parte de los desarrolladores para sus propias aplicaciones.
Material Design
Material Design
es un
lenguaje de diseño
que utiliza los principios clásicos de diseño, e incorpora la ciencia y la tecnología para dar un aspecto
material
a los componentes de UI, como sombras y aceleración, de modo de lograr una metáfora de los componentes con objetos reales que le transmita al usuario información en forma intuitiva y que permita aplicar cientos de años de diseño aplicado a objetos materiales a una nueva rama de diseño, que es el diseño de UI, que solo lleva pocos años de vida.
Material Design
es ademas el resultado de la evolución de
Android
a través de sus diferentes versiones.
Como se trata de una evolución de
Android
lo podemos encontrar en todas las versiones de
Android L
o superior, y en sus distintas plataformas,
Android, Android Wear, Android TV
y
Android Auto.
Y para el desktop? y para la Web? Contamos con una implementación sobre las más modernas opciones tecnológicas para la Web, esto es
Polymer
para
Web Components
y otra para
Angular JS.
Polymer
Polymer
es una librería que nos permite crear páginas y aplicaciones Web mediante componentes (
web components
).
La potencia de este enfoque radica en que nos permite utilizar componentes propios y de terceros y componerlos para construir nuestra aplicaciones de forma simple, reduciendo tiempos y esfuerzo.
Polymer
provee un set de controles estándar,
Polymer paper elements
, que permiten implementar la UI con
Material Design
. Ademas
Google
provee una colección de componentes
Polymer
que integran la funcionalidad de las distintas APIs de
Google
:
https://github.com/GoogleWebComponents
Si vemos la lista de componentes vemos que, entre otros, contamos con controles de
YouTube.
https://github.com/GoogleWebComponents/google-youtube
Youtube
Cuales son los controles basados en
Polymer
nos provee
YouTube
?
El control del reproductor:
google-youtube
http://googlewebcomponents.github.io/google-youtube/components/google-youtube/
Este componente encapsula el reproductor, y expone como propiedades los parámetros que personalizan su apariencia y comportamiento.
El muro de videos:
google-youtube-video-wall
http://googlewebcomponents.github.io/google-youtube-video-wall/components/google-youtube-video-wall/
Este control nos provee un muro de videos personalizable, basado en Material Design, y
Polymer
paper elements
.
Este control utiliza el
API de datos de Youtube
para recuperar y filtrar los vídeos que se presentan en el muro. Y nos permite especificar los parámetros con los que invoca el API de búsqueda y de datos.
Resumen
Vemos que
Google
a resuelto uno de los mayores desafíos que se presentan al crear la UI en una aplicación moderna, y ofrece un lenguaje de diseño y diferentes frameworks y plataformas que lo implementan, todo integrado a sus APIs y servicios para utilizarlos en una forma rápida y simple!
El siguiente paso es simplemente utilizarlo en nuestra aplicación!!
Te invito a leer la próxima entrega donde visitaremos casos de éxito de experiencias de usuario y aplicaciones Web con videos de YouTube, con el objetivo de analizar cómo las podemos re-implementar utilizando
Polymer
y
Material Design
, de modo de comparar y analizar la potencia de estas nuevas tecnologías y conceptos.
Hasta la próxima!
Este post ha sido escrito por
+Matias Molinas
, Google Developer Expert para YouTube API. Editor by +Nicolas Bortolotti
Recuerda migrar a OAuth2 u OpenID Connect
Monday, March 23, 2015
Originalmente publicado por William Denniss, Product Manager, Identity and Authentication (
Reminder to migrate to OAuth 2.0 or OpenID Connect
)
En los últimos años nosotros hemos hecho público que
ClientLogin
,
OAuth 1.0 (3LO)
*
,
AuthSub
, y
OpenID 2.0
serían discontinuados y cerrados el 20 de Abril del 2015. Nosotros estamos tomando distancia de estos protocolos antiguos con el fin de centrar nuestro apoyo a los últimos estándares de Internet, OAuth 2.0 y OpenID Connect, que aumentan la
seguridad
y
reducen
la complejidad.
La forma más fácil de migrar a estos nuevos estándares es usar
Google Sign-in
SDKs
(
consulte la documentación de migración
).
Google Sign-in
está construido sobre OAuth 2.0 y la infraestructura de OpenID Connect, esto proporciona una única interfaz para el flujo de autenticación y autorización en Web, Android y iOS.
Si la migración de estas aplicaciones, que utilizan estos protocolos discontinuados, no se completa antes de la fecha límite, la aplicación va a experimentar una interrupción en su capacidad de conectar con Google (posiblemente también incluyendo la capacidad de registro o ingreso[sign-in]) hasta que se produzca la migración a un protocolo soportado. Para evitar cualquier interrupción en el servicio, es importante que usted trabaje en la migración antes de la fecha de cierre.
Si necesita migrar su integración con Google:
Migrar desde OpenID 2.0 a Google Sign-in
Migrar desde OAuth 1.0 a OAuth 2.0
Para AuthSub y ClientLogin, no hay soporte para la migración. Tendrá que empezar de nuevo con OAuth 2.0 y los usuarios tienen que volver a autorizarse.
Si tienes cualquier pregunta técnica sobre la migración de tu aplicación, puedes enviar las preguntas en Stack Overflow utilizando la etiqueta
google-oauth
o
google-openid
.
*3LO significa 3-legged OAuth: El Usuario final proporciona consentimiento. Por el contrario, 2-legged (2LO) corresponde a escenarios de autorización empresariales: control de acceso mediante políticas organizacionales. Los flujos de OAuth1, 2LO y 3LO están en desuso.
Cruzando las barreras del emprendimiento regional
Friday, March 20, 2015
El Google Developer Summit continua su recorrido, cruza los Andes y llega a #Chile, reflejando todo el ecosistema emprendedor regional.
En esta oportunidad compartiremos junto a 13 startups, 5 aceleradoras/incubadoras y más de 100 referentes regionales los principales elementos propuestos por
Startups Launch
. Además junto a los integrantes de
Top Experts
analizaremos el nuevo mundo móvil y los principales desafíos sobre el modelo emprendedor de la región.
Para la interacción y actividades sociales puedes visitar este evento social en G+ (
Santiago de Chile workshops
o en el formato nocturno
Santiago de Chile Night
). Recuerda que también puedes utilizar este hashtag en cualquiera de las redes: #GDSSantiago
Google Developers Summit Santiago demuestra la pasión del mundo emprendedor proponiendo workshops, debates, intercambio con aceleradoras, networking y mucho más.
Un encuentro entre Google, tu negocio y el ecosistema emprendedor
By
+Nicolás Bortolotti
Developer Platform Lead LatAm South Region
Google Developer Experts, una experiencia desde la comunidad de expertos
Thursday, March 19, 2015
Hacia finales del año pasado tuve el privilegio de ser invitado por Google Developers para producir una serie de videos contando cómo fue nuestra experiencia utilizando las tecnologías de
Google Cloud Platform
para potenciar los exigentes requerimientos de nuestros juegos masivos en
ZupCat
.
Estos videos pueden ser vistos en 4 capítulos en el canal oficial de YouTube de Google Developers en los siguientes links:
Operando un hit
Métodos de persistencia y distribución
Simple-DataStore
Escenarios de BigQuery
Cada video contiene referencias de código, configuraciones o APIs que me gustaría compartir para poder completar estas entregas y de paso hacer un breve repaso.
En
operando un hit
hace referencia a un archivo de configuración de aplicaciones llamado
app-engine.xml
que permite expresar algunas características importantes de las aplicaciones que hosteamos en la plataforma.
En el segundo capítulo, donde cuento acerca de de las tecnologías disponibles para persistencia y distribución de contenido, hago referencia a Cloud Storage. Es posible acceder a este servicio para subir y modificar contenido utilizando librerías disponibles en diferentes lenguajes, que pueden ser encontradas en
este link
.
En referencia a Cloud DataStore, las APIs de acceso sobre Java pueden ser encontradas en
este otro link
y la manera de acceder a Cloud SQL desde AppEngine
se describe aquí
.
En el tercer capítulo, donde hago referencia a Simple DataStore, se puede encontrar el código del proyecto
aquí
y los ejemplos de código en
este
y
este
link.
Finalmente el capítulo final del ciclo, que habla de BigQuery, contiene varias referencias de acceso a la base de datos desde un cliente Java regular y de otro dentro de AppEngine. Los links son:
Connection factories:
BigQueryClientFactory.java
: acceso desde un cliente java común
BigQueryServerFactory.java
: acceso desde un cliente hosteado en App Engine
BigQueryClient.java
: acceso al servidor BigQuery
SendClientLogToBigQueryService.java
: un ejemplo de uso
Este post ha sido escrito por
+Hernán Liendo
, Google Developer Expert Cloud Platform, profesor universitario y co-fundador/CTO de ZupCat donde coordina los esfuerzos de ingeniería para desarrollar juegos mid-core free-to-play.
Editor by
+Nicolas Bortolotti
Un Google Developer Summit con sabor latino
Wednesday, March 11, 2015
Este mes de marzo
Buenos Aires
es una de las sedes para el
Google Developer Summit
en la región sur de Latinoamérica. Un evento creado desde las startups para las startups, lleno de matices que refleja el ADN emprendedor de nuestra región.
Sabemos que todo emprendimiento requiere de esfuerzo, conocimiento, pasión y búsqueda de nuevas oportunidades y en esta ocasión tendremos la oportunidad de disfrutar 2 días junto a emprendedores, startups, aceleradoras, y todo el ecosistema emprendedor regional.
Con la partición de 14 startups, 5 aceleradoras fondos de inversión e incubadoras, más de 12 especialistas y mentores del mundo tecnológico empresarial, el
Google Developer Summit
propone nuevas opciones de interacción y novedades sobre
Startup Launch
para la región, sin dudas una nueva oportunidad abierta para todo emprendedor tecnológico.
Buenos Aires, Argentina
*Para la interacción y actividades sociales puedes visitar este
evento social en G+ workshops (Buenos Aires)
o en el formato nocturno
evento social en G+ night (Buenos Aires)
Recuerda que también puedes utilizar este hashtag en cualquiera de las redes: #GDSBuenosAires
Google Developers Summit Buenos Aires demuestra la pasión del mundo emprendedor proponiendo workshops, debates, intercambio con aceleradoras, networking y mucho más. Un encuentro entre Google, tu negocio y el ecosistema emprendedor
By
+Nicolás Bortolotti
Developer Platform Lead LatAm South Region
Women Techmakers Mexico City Summit
Thursday, February 19, 2015
Google aspira a cultivar espacios de trabajo plenos alrededor del mundo. Un componente clave de esta visión es empoderar a mujeres a perseguir sus sueños y construir herramientas que cambien el mundo. El contar con una variedad de perspectivas, nos lleva a mejorar la toma de decisiones, a productos más relevantes, y hace nuestra industria mucho más interesante. Estamos convencidos que al crear el ambiente, los programas y las políticas correctos, las mujeres en tecnología pueden prosperar.
Ven a
Conectar. Crear. Celebrar.
con nosotros en marzo, en celebración del Día Internacional de la Mujer. Google México y varias organizaciones más te traemos discusiones con líderes de opinión, talleres técnicos, sprints de diseño, oportunidades para conectar, y mucho más. Regístrate para asistir al Women Techmakers Mexico City Summit el 6 de marzo en
WomenTechmakers.com
. Hazlo pronto, los lugares están limitados. Adicionalmente, te invitamos a revisar frecuentemente el sitio, pues lo actualizaremos con eventos alrededor del Día Internacional de la Mujer organizados por nuestros Google Developer Groups.
Aprende como Women Techmakers provee visibilidad, comunidad, y recursos para mujeres en tecnología visitando
WomenTechmakers.com
. Únete a la conversación en la
Comunidad Women Techmakers en Google+
y participa con la comunidad global de mujeres en tecnología, en todos los canales sociales, utilizando el hashtag
#WomenTechmakers.
Francisco Solsona
Google Developer Platform Team
O’Clock, el startup de social countdowns que descansa sobre Google App Engine
Thursday, January 29, 2015
O’Clock es una plataforma de cuentas regresivas sociales que nos ayuda a recordar los momentos importantes de la vida. Solo basta acceder al sitio
www.oclck.com
o
descargar la App
, programar una cuenta regresiva social (o seguir una existente) y comenzar a interactuar con nuestros amigos (y/o desconocidos) para compartir esa ansiada espera.
Los relojes están organizados en la plataforma por ubicación (mediante geolocalización) o tendencias y se pueden acelerar y/o compartir por redes sociales o incrustarlos en otros sitios web. Hasta el momento hemos recibido el reconocimiento de múltiples organizaciones, entre los que destacan Angelhack, AppCampus, AppMyCity, IncubaUC, AppCircus y desde hace pocos días, formamos parte del programa
Startup Launch
.
La plataforma web ha sido construida en Python (algunos procesos con Django y otros sin framework para agilizar los tiempos de respuesta), el motor DB para datos persistentes es MySQL, la App fue desarrollada de forma nativa con Android SDK, y utilizamos algunos servicios externos mediantes APIs como Mandrill y PubNub entre otros, para concentrar nuestro foco en el producto.
Sin embargo, el servicio más importante que utilizamos y que nos ha permitido escalar tranquilos es Google App Engine. Los peaks de uso de O’Clock ocurren en la proximidad de fechas emotivas (San Valentín, Navidad, año nuevo, etc...), y utilizar esta plataforma como servicio nos permite descansar en problemas de escalamiento, sin estar despiertos a las 2 de la mañana por un peak de usuarios.
El apoyo de los Google Developer Experts ha sido vital
Cuando O’Clock comenzó a aparecer en
prensa
, nos dimos cuenta que:
El rendimiento no era óptimo.
La experiencia de un usuario en Europa era distinta a la de un usuario en Latinoamérica.
Y si bien intentamos prescindir de Django (framework) para agilizar algunos procesos, nos dimos cuenta que no era suficiente, y fue entonces cuando tocamos la puerta (o más bien el Hangout) de los Google Developer Experts Hernan Liendo (Argentina) y David Cifuentes (Colombia), quienes no solo nos ayudaron a resolver algunas dudas específicas, sino que también nos dieron los siguientes consejos que tuvieron gran impacto en el rendimiento y experiencia:
Cambiar de Blobstore a Cloud Storage para el almacenamiento de imágenes
: Mejoramos el rendimiento, obteniendo el máximo potencial de la infraestructura y distribuyendo las imágenes para que los usuarios que descarguen el contenido lo hagan desde un punto cercano (y por lo tanto, más rápido).
Pasar de SQL a GAE Datastore:
Con esta medida hemos podido mejorar la velocidad/rendimiento de la plataforma, considerando algunas cualidades como el manejo de entidades que nos permiten seguir escalando tranquilos.
A continuación les dejamos un pequeño código de como realizamos el upload de las imágenes:
def create_file(filename,fil):
write_retry_params=gcs.RetryParams(backoff_factor=1.1) content_type=mimetypes.guess_type(filename)[0]
with gcs.open(filename,'w',content_type=content_type,options={b'x-goog-acl':b'public- read'}) as f:
while True:
chunk=fil.read(8192)
if not chunk: break f.write(chunk)
return 'https://storage.googleapis.com%s'%(filename)
Este método recibe el nombre de la imagen y el contenido de esta como parámetro, dentro del método obtiene el MIME Type ('image/jpeg','image/bmp') del archivo, luego usando la librería cloudstorage, creamos un nuevo archivo usando el modo 'w', pasando además el nombre de la imagen, el tipo de contenido, y la opción para dejar un enlace público a la imagen ('x-goog-acl':'public-read'), luego se lee el contenido de la imagen y se escribe en el nuevo objeto de gcs, y finalmente se retorna la url para acceder a la imagen en GCS.
También pueden utilizar al siguiente función para obtener información del archivo (tamaño, tipo, timestamp y md5 por ejemplo) :
def stat_file(filename):
stat=gcs.stat(filename)
return repr(stat)
Gracias al apoyo de inversionistas ángeles, en 2015 hemos traído nuestra operación a San Francisco (EE.UU), donde esperamos acelerar el desarrollo. Los invitamos a seguir o crear las cuentas regresivas sociales para esas fechas importantes que no quieren dejar pasar.
Este post ha sido creado por Guillermo Díaz, fundador y CEO de O’Clock.
Labels
#freeandopen
#iio2009
#OneCommunity
#UPGlobal
#UpLatam
+page
2013
A/B Testing
actionbar
AdMob
adwords
adwords api
ajax
almacenamiento
alojamiento de proyectos en google code
Analytics
android
Android (operating System)
android 4.2
android design
Android SDK
Android Studio
Android Wear
AndroidDevStory
androititlan
angelina jolie
anuncios
API Analytics YouTube
APIs
Aplicaciones
aplicaciones chrome
app engine
App Indexing
app invites
applications
AppQuality
apps
Apps Script
arte
backend
batch
Bava
Betatesting
bigdata
BigQuery
blink
bootcamp
búsqueda ajax
by Google
byCases
byCommunity
byDevelopers
byGoogle
Cardboard
caso de éxito
casos destacados
chrome
chrome web store
chromebook
chromecast
chromium
cloud
cloud test lab
CMD en vivo
coconut
code
code-in
code.org
código
código abierto
Communities
Comunidades
concurso google
conference
convocatoria
Coordinate
crear aplicaciones ajax
creatividad
CSS
cws
daniela robles
dart
dart sdk
dartium
dartlang
denis labelle
desarrolladores
Desarrolladores Google
desarrolladores LatAm
Desarrollar
Destacados
Dev.f
DevArt
DevBus
DevBusLatAm
Developer Bus
Developer Summit
DeveloperConsole
developers
DevFest
devoxx
diseño UX
Distribuir
doubleclick
Drive SDK
ecosistema
elections
elizalde
Emoticons
emprendedores
engagement
english
Enhanced Campaigns
enterprise
eventos
evolución de aplicaciones
Excel
FanBridge
Featured
find people
firebase
flu trends
Freebase
functional programming
G+
g+ goto gal
G+GotoGal
GAE
GCS
GDA
GDE
GDG
GDH
GDL
GDLevent
GitHub
gmail
golang
GOMO
Google
Google AdMob SDK
Google AdWords
Google Analytics
Google APIS
Google App Engine
Google Apps
Google Apps Script
Google Art Project
google calendar
google cast
Google Charts
Google Chrome
Google Cloud Console
Google Cloud Platform
Google Cloud Platform Newsletter
Google Cloud Storage
google code-in
Google Compute Engine
Google Developer Groups
google developers
Google Developers Academy
google developers expert
Google Developers Hackademy
Google Drawings
Google Drive
Google Earth
Google Forms
google geo
google i/o
google i/o extended
google io
Google Keep
Google Maps
google maps coordinate
Google Mexico
Google Nose
google now
Google Person Finder
google places api
Google Play
Google Play Books
google play games
Google Play Movies
Google Play Services
Google Plus
Google Science Fair
google search
Google Sheets
google sign in
Google Top Geek
Google+
Google+ Communities
Google+ Hangouts
google+ sign-in
GoogleAPI
GoogleCloudPlatform
GooglePlay
Googleplex
GTG
Hackademy
hackers
hangouts
Hangouts Remote Desktop
hardcode
Heello
honeycomb
HTML5
IFAI
in-app
ingles
Ingress
integración de soluciones
interactive post
Interesante
International Women’s Day
io15
iOS
J2EE
java
JavaScript
jelly bean
JSON
Juegos
juegos html5
latamRegionSur
Launchpad
lightbox
linux
lucero galindo
Made with Code
Mapdata
Mapeo
Maps Ad Unit
Maps API
Maps Engine
Marshmallow
Material Design
mejores apps 2013
michelle marie
MIT
MIT Global Start-up Labs
MIT-AITI
mobile
monetizar
MOOC
Mountain View
móvil
mr.white
natalie villalobos
Navigation
Next Big Sound
Next Level
nfc
Niantic
Nik
nube
OAuth2
OClock
open source
PageSpeed
patrones
patters
performance
permisos
Pipeline API
Pixability
pixel
pollito pio
Polymer
por lote
Prediction API
programación
Protocol Buffers
proyecto 20%
PYMES
python
quickoffice
seguridad
Showyou
sign-in
social media
Spain
SQLite
startup grind
Startup Launch
startup weekend
startup weekend for the planet
startupbus
startups
Street View
subtitles
sw
SyScan
tablet
Tablet Optimization Tips
tabletas
takeaction
Tango
tendencias 2013
testing
The Garage
tips G+
tips gmail
Top Experts
Top Geek
TopExpert
topics
traducciones
Transparency Report
triggers
Tubular Labs
twilio
udacity
ui
UNAM
unity
universal search
video juegos
vidIQ
ViewPager
web
Web hosting
Web móvil
Wizdeo
WizTracker
Women at Google
Women Techmakers
Yifat Cohen
youtube
YouTube Analytics API
YouTube API
YouTube Data API
YouTube One Channel
YouTube Player API
Archive
2016
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2014
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2012
Dec
Nov
Oct
Sep
Aug
Jul
2011
Nov
Oct
May
Mar
2010
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2007
Dec
Feed
Desarrolladores
Eventos y Comunidad
Casos Destacados