Marketing digital

Marketing digital

Dentro del Marketing Digital podemos hablar de la gran segmentación que supone la Optimización SEO (de sus siglas en inglés Search Engine Optimization). Como hemos comentado muchas veces en este blog, actualmente el SEO es imprescindible para cualquier negocio, grande o pequeño, que preste servicios o comercialice productos dirigidos tanto a pequeños consumidores como a empresas (B2B). Varios estudios demuestran que normalmente los usuarios no pasan de la 3ª página del buscador, por lo que estar entre esas 30 primeras posiciones es de vital importancia para ganar visibilidad y per tanto, acceso a nuevos clientes.

El pasado mes de Abril Google nos sorprendió con una nueva revisión de su algoritmo. Google Penguin ha evolucionado todos los bosquejos que se lanzaron con Google Panda y que rompieron con los conceptos SERPs que había hasta la fecha, en una clara apuesta de avanzar en paralelo con la revolución social en internet.  “Google ha cambiado las reglas del juego”, y las ha cambiado de tal manera que muchos hablan en voz muy alta de enterrar el SEO tal y como se ha conocido hasta ahora, abogando por rechazar los tecnicismos por metodologías sociales, por que esa es la nueva clave: el público, los usuarios, las personas. En una clara apuesta de evolución y las futuras búsquedas semánticas, Google ha comenzado a catalogar internet y los miles de millones de sites a través de lo que opinamos nosotros, los usuarios (y aquí más de uno pensará lo barato que le va a salir). Nuestros comentarios, subjetivos, de cada página o blog sin inimitables por ningún robot, y es esta información la clave del futuro de la búsqueda en internet.

La optimización SEO ha pasado de una serie de prácticas o metodologías mecánicas a algo mucho más complejo, tanto por todos los “frentes vivos” que hay que resolver (recordemos que estamos hablando de redes sociales donde el protagonista fundamental es un usuario), como por la tremenda volatilidad del algoritmo de Google. Frente a este nuevo panorama la solución más fiable y económica a largo plazo es recurrir a una agencia de marketing digital especializada. Al igual que en muchos otros sectores, un profesional que conoce su trabajo y dispone de las herramientas adecuadas es la mejor opción, sobre todo para algo tan delicado como en lo que se ha convertido una correcta y exitosa seoflexia. Una agencia o profesional debe abarcar todas las fases de la optimización, desde el estudio previo (nicho, competencia, palabras clave, etc), como su correcta implementación (técnicas whitehat y sobre todo, aplicando las nuevas recomendaciones para Google Penguin, donde los pilares son moderación y social), llegando al mantenimiento y reoptimización ante cambios del propio buscador o carencias detectadas.

Sin Comentarios

Perfiles profesionales de un Community Manager o Social Media Manager

Perfiles profesionales de un Community Manager o Social Media Manager

Desde hace ya unos pocos años los términos Community Manager o Social Media Manager son algo cotidiano. Estamos acostumbrados a verlos en ofertas de empleo, en conferencias, en la televisión, la radio, la prensa, etc. Sin embargo, al igual que no es lo mismo un neurocirujano que un cirujano del corazón, tampoco es lo mismo un Social Media Strategist que un Social Media Developer. Con el objeto de evitar la ambigüedad ¿por qué no empezamos a denominar correctamente a cada profesional de las redes sociales?

En este post nos hacemos eco de un interesante artículo publicado en Elogia, donde nos proponen un poco más de vocabulario para intentar especificar o precisar este nuevo boom de profesiones estrechamente ligadas con la web 2.0 y que comúnmente entendemos por “community manager”. Si bien indican que todos estos supuestos profesionales normalmente convergen en una única figura (community manager ninja), estoy seguro que en el futuro, cuando la necesidad de explotar las redes sociales haya penetrado lo suficiente en las empresas, podremos hablar sin ninguna duda de un nutrido grupo de profesiones claramente diferenciadas por sus funciones y responsabilidades (porque no es lo mismo un Programador, que un Analista programador, que un Analista funcional o que un Analista orgánico).

Este listado de profesiones de social media puede ser una aproximación a una futura categorización, y aunque pueda estar desacertado en algunos conceptos o parecer redundante, sirve perfectamente como base para comprender un poco más las distintas labores que se desempeñan en este micro-sector. Como indican en el artículo original, esta estructura escasamente se da, y las pocas veces que lo hace es en grandes empresas o proyectos. Normalmente una o varias personas asumen todas las tareas planteadas.

  • Community Manager: Se encarga de interactuar directamente con los usuarios: Escuchar y comunicar.
  • Social Media Manager: Coordina a los Community Managers y organiza la estrategia.
  • Social Media Strategist: Es el encargado de elaborar las estrategias de social media estableciendo los objetivos o alcance.
  • Social Media Analyst: Podriamos decir que es el encargado de estudiar y analizar el impacto o efectividad de la estrategia.
  • Social Media Developer: perfil técnico para desarrollar explotar el API de las redes sociales (típicamente, crear apps o micro aplicaciones)
  • Social Media Public Relations: Figura relacionada con RRPP, encargado en exportar los contenidos hacia el exterior.
  • Social Media SEO: obvio 😉
  • Content Curator: figura encargada de preparar contenidos y decidir qué publicar.

Os invitamos a visitar el artículo completo en Elogia y recoger una idea más completa de todos estos perfiles, que aunque en algunos casos no está muy clara la frontera entre uno y otro, no llevará mucho que se concreten exactamente los ámbitos de actuación ¿se ajusta esta categorización a la realidad? ¿creéis que hacen falta tantos perfiles distintos para desarrollar correctamente un proyecto en redes sociales a día de hoy?

Sin Comentarios

Implementar Google Maps en aplicación Android

Desarrollar aplicación Android con Google Maps

La forma más ágil, cómoda y sencilla de implementar Google Maps en una aplicación Android es utilizando la propia app de Google Maps mediante un Intent. Si no es un requisito que Google Maps se explote desde tu aplicación, olvídate de tener que desarrollar todas las funcionalidades, como calcular rutas, capas de datos, etc., con sólo pasar un par de parámetros podrás invocar un activity nuevo de Maps y aprovechar todo su potencial.

Tal y como indican en la documentación oficial de Android, el Intent de Google Maps es un ACTION_VIEW al que se le puede pasar una uri con parámetros, que fundamentalmente son de tres tipos:

Desarrollar aplicación Android con Google Maps

  • Ubicación: ya sean longitud y latitud, o bien la dirección tal cual: calle Gran Vía 13 o tipo de negocio “pizzería en Madrid”
  • Funcionalidad: uno de los aspectos más útiles, y es que además de centrar el mapa en la ubicación indicada, puedes hacer que muestre un label con un literal que puedes especificar para ofrecer más información. Este label también incluye un botón para establecer una ruta guiada por GPS.
  • Visualización: puedes especificar el zoom mediante z=[2-23], donde 23 es el más cercano.

La uri puede tener la siguiente estructrua:

  • geo:latitud,longitud
  • geo:latitud,longitud?z=zoom
  • geo:0,0?q=direccion+especifica
  • geo:0,0?q=negocio+ciudad
  • geo:0,0?q= latitud,longitud (label+mas+informacion)

Un código de ejemplo para invocar el Intent de Google Maps para Android podría ser el siguiente:

String geo = “geo:0,0?q=22222 ,66666(Ubicación de Ejemplo)&z=5”;

Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(geo));

startActivity(i);

Si además quieres especificar que siempre se utilice la aplicación de Google Maps, en vez de que salga el popup para seleccionar qué app quieres usar en caso de que tengas varias de mapas, puedes meter esta línea antes del startActivity:

i.setClassName(“com.google.android.apps.maps”, “com.google.android.maps.MapsActivity”);

 

Sin Comentarios

SQL Server Parameter Sniffing: error timeout con DataAdapter.Fill en .NET

SQL Server Parameter Sniffing: error timeout con DataAdapter.Fill en .NET

Si estás invocando un procedimiento almacenado en SQL Server al que le pasas uno o varios parámetros y observas que el tiempo de ejecución es mucho mayor que si ejecutas manualmente la query, probablemente estés ante un caso de Parameter Sniffing. Este tipo de problema sucede cuando el gestor de la BD intenta reutilizar un plan de ejecución anterior recuperándolo de la caché aplicando  los nuevos valores de los parámetros recibidos.

El plan de ejecución de un procedimiento almacenado en SQL Server no se genera al compilarlo, si no que se crea la primera vez que se ejecuta el SP y después se reutiliza en las sucesivas llamadas. Esto puede dar lugar a ejecuciones con una demora de tiempo muy elevada, ya que puede ser que el plan de ejecución de la primera consulta no sea tan óptimo para otras.

La forma de solucionarlo es utilizar variables locales en lugar de los propios parámetros en la query del procedimiento almacenado.  Creamos una nueva variable del mismo tipo y tamaño que cada parámetro, y le asignamos su valor. Por ejemplo:

CREATE PROCEDURE SP_N4GASH

@fecha Date,

@categoria int

AS

DECLARE @nuevaFecha Date

DECLARE @nuevaCategoria int

SET @nuevaFecha =@fecha

SET @nuevaCategoria=@categoria

SELECT […]  FROM […]

WHERE aud_fecha = @nuevaFecha

AND catID = @nuevaCategoria

GO

En mi caso me apareció este error desde una aplicación C# desde la que invocando a un procedimiento almacenado y metiéndolo en un DataTable mediante DataAdaptar.Fill me arrojaba un error de TimeOut. La solución rápida y mala de este error desde la aplicación web es asignar varios segundos al parámetro timeout del SQLCommand, y aunque esto evita que salte el error y se detenga el proceso, no soluciona el problema de la demora de tiempo, donde a veces se presentan diferencias de más de una hora respecto a la solución desde T-SQL.

Sin Comentarios

Flash Builder 4.6 – Error Java Heap Space

Flash Builder 4.6 – Error Java Heap Space

El error Java Heap Space puede aparecer mientras trabajamos con Flash Builder 4.6 al intentar compilar, limpiar o generar un proyecto. Normalmente ocurre cuando el tamaño de la película flash a generar es muy elevado, o cuando el conjunto de ficheros o archivos que utiliza pesan mucho (imágenes, XML, etc).

Para solucionarlo podemos seguir la solución publicada en el FAQ de Adobe, que consiste en ampliar la memoria virtual de Java. Para ello tenemos que seguir los siguientes pasos:

  • Cerramos Flash Builder ó Eclipse en caso de que estemos usando su plugin.
  • Localizamos el fichero flashbuilder.ini ó eclipse.ini y lo editamos.
  • Modificamos los valores XMS y XMX del parámetro –vmargs. Esos valores indican la cantidad de megas (M) ó kilobytes (K) disponibles para la memoria virtual de java. Estos valores deben ser siempre múltiplos de 1024 kb.
    • Xms256m: Memoria inicial disponible. Lo cambiamos por Xms1024m.
    • Xmx512m: Memoria máxima disponible. Lo cambiamos por Xmx2048m.
  • Volvemos a abrir Flash Builder 4.6 ó Eclipse y debería de funcionar correctamente.

La cantidad de memoria que deseemos dedicar dependerá del equipo donde estemos ejecutando la aplicación.

Sin Comentarios

Flash Builder 4.6 “Workspace in use or cannot be created, chose a different one.”

Flash Builder 4.6 'Workspace in use or cannot be created, chose a different one.'

Este error aparece normalmente cuando cerramos incorrectamente el IDE Flash Builder, por ejemplo, cancelando el proceso desde el Administrador de Tareas de Windows o al producirse algún tipo de error. Hay varios métodos para solucionarlo, en mi caso con la versión 4.6 en una ocasión me funcionó la 1ª y en otra la 2ª:

1. Borrar el fichero .lock ubicado en el directorio .Metadata del workspace de Flash Builder 4.6. Es posible que no os deje borrarlo porque estará siendo utilizado por el proceso de FB, por lo que previamente tenéis que cancelar el proceso y luego podréis borrarlo.

Workspace\.metadata\.lock

2. Borrar el fichero .snap ubicado en:

Workspace\ .metadata\.plugins\org.eclipse.core.resources\.snap

3. Editar el fichero de configuración de preferencias de Flash Builder 4.6 y donde pone RECENT WORKSPACE borramos el que nos está dando error.

UsuarioX/Documents/Adobe Flash Builder 4.5/cascaded/308971/configuration/
.settings/org.eclipse.ui.ide.prefs

Sin Comentarios