Damoin Web Services

Blog de Social Media y Desarrollo Web

La importancia de la optimización web para móviles

La web ya es móvil. Dejamos algunos datos:

  • Las visitas desde dispositivos móviles a sitios webs de hoteles se han incrementado un 300% en el último año.
  • El 87% de los usuarios utiliza dispositivos móviles mientras ve la TV.
  • En el 2014 habrá más conexiones a internet desde dispositivos móviles que desde PCs.
  • El 85% de usuarios consultan email desde el móvil con una frecuencia promedio de 4 veces al día.
  • E-commerce es de las acciones que más realiza el usuario via móvil y el segundo en crecimiento.

Todos estos datos nos ofrecen una tendencia clara: la navegación web y el comercio electrónico desde móviles y tablets van a ir incrementandose los dos proximos años de una manera espectacular hasta igualar o incluso superar en algunos casos la navegación desde pc´s.

La importancia de la optimización de nuestra web hacia los móviles debe ser una prioridad para todas aquellas webs en las que su negocio sea principalmente online, como tiendas online o proveedores de servicios, y en estos momentos es fundamental tener esta idea clara.

El uso de internet móvil crece 8 veces mas rápido que el de aplicaciones nativas en móviles y además, los usuarios dedican cada vez mas tiempo a navegar, por encima de la lectura de revistas y periodicos lo que hace imprescindible que nuestra web este optimizada para móviles.

Desde Damoin Web Services ofrecemos un servicio de optimización de webs para móvil desde 300€, con un estudio previo de forma totalmente gratuita, para más información contacto@damoin.es

 

 

Funcion para enviar correos desde asp con una cuenta de Gmail.

function enviargmail(origen,destino,asunto,texto)

Const cdoSendUsingMethod = _
“http://schemas.microsoft.com/cdo/configuration/sendusing”
Const cdoSendUsingPort = 2
Const cdoSMTPServer = _
“http://schemas.microsoft.com/cdo/configuration/smtpserver”
Const cdoSMTPServerPort = _
“http://schemas.microsoft.com/cdo/configuration/smtpserverport”
Const cdoSMTPConnectionTimeout = _
“http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout”
Const cdoSMTPAuthenticate = _
“http://schemas.microsoft.com/cdo/configuration/smtpauthenticate”
Const cdoBasic = 1
Const cdoSendUserName = _
“http://schemas.microsoft.com/cdo/configuration/sendusername”
Const cdoSendPassword = _
“http://schemas.microsoft.com/cdo/configuration/sendpassword”

Const cdoSMTPUseSSL = _
“http://schemas.microsoft.com/cdo/configuration/smtpusessl”

Dim objConfig ‘ As CDO.Configuration
Dim objMessage ‘ As CDO.Message
Dim Fields ‘ As ADODB.Fields

‘ Get a handle on the config object and it’s fields
Set objConfig = Server.CreateObject(“CDO.Configuration”)
Set Fields = objConfig.Fields

 

‘ Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = “smtp.gmail.com”
.Item(cdoSMTPServerPort) = 465
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = “direccion@gmail.com”
.Item(cdoSendPassword) = “password”
.Item(cdoSMTPUseSSL) = true

.Update
End With

Set objMessage = Server.CreateObject(“CDO.Message”)

Set objMessage.Configuration = objConfig

With objMessage

.To = destino
.From = origen
.Subject = asunto
.HTMLBody = texto
.Send
End With

If Err=0 Then

Else
Response.Write “<html><body><h1>The following error occured when sending</h1>Error (” & Err & “) :” & Err.Description & “</body></html>”
End If

Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing

End function

En Damoin somos especialistas en ASP, si necesitas programación web escríbenos a contacto@damoin.es

Problemas con los servidores de Amazon Irlanda, gestión de desastres TI en directo

Os ofrecemos la última información sobre los problemas de Amazon Irlanda, despues de que uno de los portales mas visitados como es Menéame.net este caído por un problema de conectividad.

Gracias a este problema, los que gestionamos sistemas de mayor o menor envergadura estamos comprobando y aprendiendo que tipo de operaciones y que tipo de gestiones realiza una de las mayores empresas de TI actuales frente a un gran desastre en alguna de sus instalaciones.

Uno de los puntos fuertes que podemos comprobar es como Amazon esta informando a sus clientes de forma muy transparente y rápida en que estado esta el problema y que es lo que estan haciendo para solucionarlo. Podrian caer en la tentación de ocultar la mayor cantidad de información, pero en lugar de hacerlo y ocultarlo, te informan de en que estado esta la incidencia.

Los siguientes son ejemplos de transparencia, cualidad que para una empresa con sistemas tan críticos es loable y necesaria:

  • Según la última actualización del estado en el panel de Amazon Web Services parece ser que están teniendo problemas con las gestión de snapshots en los servidores haciendo que en algunos casos se borren bloques de manera incorrecta. Esto esta retrasando la posibilidad de arrancar los servicios ya que los clientes afectados no pueden hacer uso de sus copias de forma adecuada, según vayan solucionando estos problemas irán avisando por email a los administradores de los sitios afectados para que empiecen la recuperación.
  • El servicio Amazon Relational Database Service (Ireland) también esta siendo reparado ya que sufre los mismos problemas de conectividad, en la última actualización de su estado nos indica que estan intentando recuperar las instancias e indican un método para que los clientes con backups automáticos tengan la opción de recuperarla con una recuperación Point-in-Time.

Otro de los puntos a tener en cuenta es un plan de recuperación. A todos nos ha pasado, quien mas, quien menos ha sufrido incidencias o desastres en su departamento y lo primero que te viene a la mente es… ¿por donde empezamos ahora ?.

Para esto hace falta un plan (o planes) que, aunque no tenga en cuenta todas las posibles causas de un desastre de sistemas, si nos de unas pautas sobre como reiniciar todos los servicios y poner todo en orden otra vez. Es importante en este plan tener responsabilidades y responsables asignados, información de backups, usuarios, hardware, etc. ya que sino toda esta información tendrá que ser recopilada sobre la marcha con el tiempo que roba a la resolución propia de la incidencia.

Por último, este problema con Amazon tambien nos ofrece una verdad intangible pero demoledora, y es que, ningún sistema es infalible. Suponemos que Amazon tendrá su centro de datos bien acondicionado y protegido, y aun así, ha caido un rayo y tienen estos problemas. Esta claro que contra incidencias mas “normales” cuanto mas grande y preparada este una empresa mas riesgos se minimizan, pero eso no evita al 100% que pueda pasar algo, y por lo tanto siempre hay que estar alerta y a ser posible tener un plan B, por si ese 0.000001% de probabilidad nos toca un día.

¿Que opinais del tema de Amazon?, deja un comentario

 

 

 

 

Nueva web de procesosconstructivos.com

Os presentamos el nuevo diseño de la web http://www.procesosconstructivos.com , empresa especializada en Gestion de Obras, Dirección de Ejecución, Planificacion y Mantenimiento de Edficios.

Damoin particpa en el desarrollo de la web y traspaso del diseño previo a un CSS, asi como la instalacion y configuracion de su blog:

http://www.procesosconstructivos.com/blog/

Procesos Constructivos SL es una empresa con mas de 20 años de experiencia en todos los ambitos de la construcción y esta ubicada en Madrid.

Sus clientes son:

ADMINISTRADORES DE FINCAS
ARQUITECTOS
CONSTRUCTORES
PROMOTORES

 

Puedes ver mas clientes de Damoin Web Services en nuestra página

Como crear una nube de tags en PHP

En este artículo explicaremos como crear una nube de tags en PHP usando la clase wordcloud.class.php (vía Del Harvey en Lots of code ), las palabras clave las sacaremos de un texto de la web que podamos leer en PHP, por ejemplo al crear un listado desde una base de datos.

En primer lugar debemos descargarnos el archivo zip con las clases y css para poder usarlos en nuestros scripts, podeis hacerlo pulsando en el siguiente enlace: tag_cloud.zip

Una vez descargado debemos descomprimirlo y subirlo  nuestro servidor web, la ruta es importante para luego hacer los includes correspondientes en nuestro código.

Abrimos nuestra página PHP e incluimos la orden para leer la clase que nos generara la nube de tags:

require (“includes/wordcloud.class.php”);

a continuacion debemos estudiar nuestro codigo y ver de donde sacaremos todas las palabras clave que queremos usar para crear la nube de tags, en nuestro caso lo que hacemos es guardar en una variable string todo el texto que luego queremos usar para crear la nube.

Para rellenar el string lo hacemos en el bucle while del cual estamos leyendo los textos que mostramos en la web, luego crearemos un array con las palabras del string usando la orden explode:

<?

$cadena=”";

while($row=mysql_fetch_assoc($result)){

$cadena=$cadena.’ ‘.$row[texto];  //en esta linea vamos rellenando el string

?>

//mostramos texto html

<?

}

$array_texto= explode(” “, $cadena);

//creamos el array con la orden explode

 

una vez creado el array ya podemos usar la clase para crear la nube de tags, para ello primero invocamos para crear el objeto $cloud

$cloud = new wordCloud();

con el metodo addWord vamos añadiendo todas las palabras del array recorriendolo usando un bucle for

for($i=0;$i<count($array_texto);$i++){

$cloud->addWord($array_texto[$i]);

}

con el metodo removeWord, quitamos las palabras clave que no nos interesen para la nube de tags (preposiciones,

$cloud->removeWord(‘por’);

$cloud->removeWord(‘de’);

$cloud->removeWord(‘antes’);

$cloud->removeWord(‘asi’);

Ahora definimos como se va a generar la nube de tags, si queremos ordenar por tamaño de palabra de forma descendente:

$cloud->orderBy(‘size’, ‘desc’);

para que la nube de tags no se haga infinita le ponemos un limite de 20 palabras:

$cloud->setLimit(20);

Ya solo nos falta mostrarla con la orden showCloud()

echo $cloud->showCloud();

?>

En nuestro caso usamos nuestro propio css, pero podemos usar los que vienen junto a la clase php.

Un punto importante a tener en cuenta es que debemos crear un array para poder añadir las palabras a la clase que generara la nube de tags.

 

Deja un comentario con tu opinion sobre el post y si te ha servido para tus desarrollos.