En colaboración con LCLIS.COM - SOLUCIONES WEB PROFESIONALES Y ECONÓMICAS

sábado, 3 de marzo de 2012

Trello, Mercurial y Bitbucket

Son herramientas web gratuitas y muy intuitivas para realizar desarrollos software en equipo

TRELLO
https://trello.com/
  • Lista de tarjetas para cuando se trabaja en equipo para hacer el seguimiento de tareas, de lo que hay que hacer, lo que se está haciendo y lo que está hecho. 
  • permite asignar usuarios a tareas.
MERCURIAL
http://mercurial.selenic.com
  • Es un gestor de código fuente distribuido, con control de versiones
BITBUCKET
http://www.atlassian.com/software/bitbucket/overview
  •  Repositorio en la nube para guardar el código fuente de MERCURIAL.
  • Gratis para 5 usuarios

    Flash

    extensiones
    • .fla (el de trabajo)
    • .swf (el entregable)
    • .flv (video)
    • .f4v (video HD)
    Action Script
    • lenguaje como Javascript
    • usaremos Action Script 3.0
    Adobe Flash Professional CS5
    • Crear nuevo > Action Script 3
    • El ESCENARIO es lo que se verá
      • También se puede usar el 'fuera de campo' (zona gris) para audios, videos que en un momento puedan interactuar
    • Menu de capas
    • Linea de tiempo
      • donde insertamos los fotogramas (hasta 560)
    • cabezal reproductor FPS 24 fotogramas/seg (a veces a 12)
    • Control > probar Pelicula (CTRL+ENTER)
      • esto crea o actualiza el .swf
    • CTRL+G: grupo
      • doble click
    • Simbolo
      • F8 a un cuadrado > símbolo gráfico > lo guardamos en una biblioteca
    • Animación
      • para interpolar fotgramas entre las posiciones inicial y final
      • tipos de interpolación
        • clásica: con símbolos gráficos
        • de forma: por ejemplo un circulo se cambia a estrella
        • de movimiento
      • ir al fotograma y F6 y arrastro el simbolo
      • F5 añade fotogramas de tiempo
      • F7: insertar fotograma vacío

    jueves, 1 de diciembre de 2011

    Reservas online

    Seguimiento del taller de cibernarium: http://www.slideshare.net/TomeuPonsHeinz

    Un motor de reservas tiene las funciones
    • poder vender online directamente
    • poner precios por dia
    • dar disponibilidad
    • mostrar y aplicar ofertas
    • dar complementos
    Opciones
    • disponible
    • no disponible
    • bajo petición
    Para una habitación
    • poner foto de la cama, baño, general, algo especial
    • poner descripción maximo 50 caracteres - resaltar lo bueno
    En la página web del establecimiento
    • que esté incluido en la parte de arriba de cada página
    • debe haber los apartados
      • home
      • RESERVAS
        • reservas
        • ofertas y paquetes
        • contacto
      • PRESENTACION BASICA
        • tipos de habitacions
        • galería de fotos
        • localización (mapa de google maps)
      • SERVICIOS GENERALES
        • restaurante
        • valores especiales
      • WEB 2.0
        • facebook
        • twitter
        • blog
    Maquetación
    • Foto
    • descripción
    • enlace a reservas
      • pensar que en BOOKING.COM en dos pasos puedes hacer una reserva (poner la misma tracebilidad). La comisión es de un 15%.
    El usuario
    • puede ir directamenteb a mi web
    • ir a un distribuidor (gastos hasta un 20% de comisión)
      • es competidor, pero también
      • ofrece un valor (es un expositor, que al final hace que haya mas visitas en mi web).
    Como escojer y mantener los sistemas en los portales
    • los mas famosos del mundo (Booking, Expedia)
    • los mas famosos nacionales (eDreams, Rumbo)
    • los mas famosos sabiendo el origen del cliente (por ejemplo portales franceses)
    • los mas famosos en la tipología de producto (hotekles con encanto, bed & breakfast)
    Podemos encontrar 600 portales

    Lo mejor es tener tu propio sistema de reservas conectado a los distribuidores a través de channel manager o allocators
    • RateTiger (da unos 15 o 20 portales de distribución)
    • RateGain
    • EzYield
    Cuesta unos 9 euros al mes

    Que hacer
    • Mi web es la que llevo yo y pongo su disponibilidad << cuando tengo demanda
    • Booking también lo mantengo yo
    • Expedia o Last Minute también
    • en temporada baja uso el channel manager y los dos grandes portales
    • en temporada alta o si tengo muchas ventas voy cerrando en los distribuidores
    Que es el efecto expositor
    • a tener en cuenta que los tipos de habitaciones deben llamarse igual en la web del hotel y en la del portal distribuidor. Y las fotos y descripción también.
    • A veces se reserva por la FOTO
    Ejemplo de una reserva de Booking.com
    • descripción y fotos sin moverme de la primera pantalla
    • calendario
      • aparecen tipos de habitaciones con precios
    • botón reservar
      • formulario de reservas
        • logo y nombre del establecimiento
        • precio total
        • formulario cliente (ojo: no pedir muchas cosas)
          • nombre
          • email
          • tarjeta credito
    Backoffice
    • por dia o rango de dias
      • precio
      • disponibilidad (nº habitaciones)
      • estado (disponible / bajo petición / cerrado) 
    • ofertas
      • código de promocion
      • descripción de la oferta
      • fecha de publicación (inicio - fin)
      • fecha de consumo (inicio - fin)
      • tipos de dias
      • en que se aplica la oferta
    Sistemas tenologicos
    • ERP / PMS: programa de organización interna
    • WEB
      • CMS
      • sistema de reservas
    • Allocators
      • OTA (online travel agent)
    • SEO / SEM (marketing)

    Empresas de motor de reservas
    www.flamingohotelier.com
    www.bookassist.org
    www.guestcentric.com
    www.travelclick.com
    www.tradyso.comwww.miraiespana.com

    jueves, 24 de noviembre de 2011

    Como crear un boletín (newsletter)

    Newsletter
    a partir del curso

    http://www.cibernarium.cat/cibernarium/es/view.do?fileName=CI-011_Dossier_Newsletter_cast.pdf&idiomaCurt=es

    hay que pensar en
    • Tomar decisiones editoriales.
      • cual es el objetivo (alineado al marketing: participación, fidelización, visibilidad, informar, novedades, vender, etc) 
        • se puede informar de las novedades en la web, para generarle mas tráfico
        • para intentar vender la parte 'premium'
        • para divulgar cosas de interés
      • quien crea la newsletter: la gente de marketing para
        • CONTENIDO
        • MAQUETACIÓN de contenidos (pueden usarse plantillas)
        • envío y mantenimiento de lista de USUARIOS
        • MEDICIÓN de la newsletter
      • secciones de una newsletter
        • ejemplo: columnas
      • Nombre de la newsletter
        • normalmente NOMBRE EMPRESA + NOTICIAS DE
    • Diseño y contenido
    • Subscriptores
    • Estadísticas
     Nota:
    • porque se apunta la gente a la newsletter
      • conseguir algo a cambio de la dirección de correo
    • a quien va dirigida (quien se apunta)
      • a clientes
      • a la competencia
    • no conviene una newsletter muy grande
      • mejor que el usuario escoja la sección que quiere recibir, y el idioma
    • FRECUENCIA
      • mínimo: semanal
      • día de la semana: según el modelo de negocio
      • hora
    mailchimp.com permite eviar email gratuito hasta a 2000 usuarios registrados y controlar sus lecturas

      miércoles, 4 de mayo de 2011

      Desarrollo de aplicaciones en Android

      Android
      • las aplicaciones ocupan toda la pantalla al 100%
      • un aplicación es un conjunto de varias ACTIVIDADES
      • Una actividad se estructura en una PILA, la que está arriba es la que se muestra
      • El botón BACK va a la anterior actividad de la Pila
      • Las aplicaciones Android se destruyen por el sistema operativo (no lo controlamos)
      • Hay métodos para controlar los estados de las actividades.
      • Una APLICACIÓN se ejecuta en UNA MAQUINA VIRTUAL.
      Actividad
      • Es la interacción con el usuario
      • Consta de varios controles gráficos o VIEWS
      • Heredan de la clase ACTIVITY o de clases hijas de ella
      • Se deben declarar en el archivo de configuración xml AndroidManifest.xml
      • Para ir de una actividad a otra
        • startActivity(intent): la arranca y ya está
        • startActivityForResult(intent, requestCode) : se volverá con resultado de la actividad arrancada
          • onActivityResult(int requestcode, int resultcode, intent result) es como se captura el resultado
      • Se pueden usar actividades ya existentes de Android
      Vista (VIEW)
      • Todas heredan de la clase view
      • Tienen elementos comunes como onclick
      • La clase ViewGroup sirve para haver vistas compuestas
      Ejemplo
      public class HelloWorld extendds Activity {
       @Override
       public void onCreate(Bundle saveInstanceState) {
        super.onCreate(saveInstanceState);
        setContentView(R.layout.main);
      }

      Ciclo de vida de las actividades
      • estados
        • Running: arriba de todo de la pila (la qe tiene el foco y vemos en pantalla)
        • Paused: es visible pero no tiene el foco (se usa principalmente en tablets)
        • Stopped: no es visible - aqui debemos guardar los datos, por si se pasa a Destroyed
        • Destroyed
      • métodos de transición entre estados
        • onCreate (es el que siempre debemos sobreescribir - override). Para inicializar (conexiones de datos, views). Se podría escribir toda la aplicación aqui pero no se recomienda, mejor onStart.
        • onStart: se muestra al usuario
        • onResume
        • onPause: cuando pierde el foco
        • onStop: ya no es visible. como onPause, pero se supone que durante largo tiempo no lo será. aqui se pueden liberar recursos.
        • onRestart: de onStop,a tener el foco otra vez
        • onDestroy: ya no se queda en la pila (podemos reescribirlo, pero no tenemos control de cuando se ejecuta)
      Intent
      • es la INTENCIÓN de que se pase de una actividad a otra o una actividad haga algo
      • permite enviar parámetros entre actividades (de la misma u otras aplicaciones)
      • se define como
        • la acción que se desea realizar
        • bundle: datos (parámetros, mensajes.. entre actividades)
      • Ejemplo:
      Intent myIntent = new Intent(...
      myIntent SetData...
      • las intenciones se pueden invocar
        • explícita
        • implícita: usa el tag <intent-filter> del manifiesto
      • Si implicito, le indico acción (y opcionalmente categoría...)
      <action android:name="android.intent.action.MAIN" />
      • se usan principalmente para moverse entre actividades
      maneras de programas
      • explícita
      • implícita, definiendo intentos predefinidos
      Ejemplo explícita
      Intent myIntent = new Intent(Context, Activity.class)
      startActivity(myIntent)
      • Las intenciones se pueden enviar
        • a una actividad
        • a cualquier actividad que se esté ejecutando (sendBroadcast)
          • por ejemplo, cuando hay una llamada entrante, cuando se acaba la batería, falta señal GPS, etc
      Tutoriales
      http://developer.android.com/guide/index.html
      http://developer.android.com/guide/topics/intents/intents-filters.html

      Fundamentos gráficos de UI
      • Activity: pantalla que se muestra al usuario
      • View: controles o widgets con el que el usuario interactua
      • Viewgroup: conjunto
      View
      • es un area rectangular
      • heredan de android.view.View
      • ejemplos: TextView, EditText, Button, RadioButton, CheckBox, DatePicker, TimePicker
      ViewGroup
      • es la clase base de los Layout
      • hay layous standard que nos facilita la vida
        • AbsoluteLayout: obliga a especificar las coordenadas de cada componente
        • TableLayout: colocados en celdas
        • LinearLayout: componentes colocados linealmente (default en vertical)
        • RelativeLayout: posición relativa al anterior componente (p.ej. a la derecha de.., centrado, etc)
      • ejemplos: ScrollView, etc.
      • Estructura de Arbol:
        • ViewGroup
          • ViewGroup
            • View
            • View
            • View
          • View
          • View
      Dos maneras de definir un UI
      • Procedural
      TextView tv = new TextView(this)
      tv.SetWidth(100)
      • Declarativa: como xml (Se recomienda programar por capas, usando MVC)
      <textView
        android:id="@+id/namelabel"
        android.text=
        • Clase de recursos R para la correlación entre los identificadores y tener los elementos accesibles
        • Como acceder a los componentes definidos en xml, por ejemplo para cambiar programáticamente algo del layout
      textView tv = (Textview)findViewById(R.id.nameLabel)

      Layout
      • Contenedor de un ViewGroup
      Controles Gráficos
      • Texto
        • TextView
        • EditText
        • AutoCompleteTextView
        • MultiAutoCompleteTextView
      • Botones
        • Button
        • ImageButton
        • ToogleButton: 2 estado on/off
        • CheckBox
        • RadioButton
      • Lista
        • ListView: para crea una lista
          • se debe especificar el layout de la fila en si, pues el de la lista ya viene definido heredando de ListActivity
          • se usa ListAdapter: para gestionar los datos (es el enlazador entre la lista y los datos)Android tiene adaptadores para BBDD, arrays, etc.
        • WebView: pone un navegador dentro d euna actividad
      para especificar el tamaño de un elemento
      • que sea tan grande como el contenedor padre (fill parent)
      • definiendo los pixels

      Dos maneras de Programar
      • facilmente: con App Inventor
      • profesionalmente: con Eclipse y el plugin de Google Android
       App Inventor
      • http://appinventor.googlelabs.com
      • Instalación
        • instalar la aplicación en el PC 
        • en el movil: menu > configuracion > aplicaciones: marcar 'origenes desconocidos'
          • Desarrollo > activar 'depuración USB' y 'Pantalla activa'
      • Conectar el movil al PC
      • Ir a http://appinventor.googlelabs.com/
        • crear un proyecto
        • hacer el ejercicio indicado en http://appinventor.googlelabs.com/learn/setup/hellopurr/hellopurrphonepart1.html
      • Si no aparece el dispositivo, puede ser necesario instalar el driverque va incluido en HTC SYNCH que debe descargarse y ejecutarse
      Eclipse
      • Necesitamos Eclipse y el Plugin de Android para Eclipse
      • Tenemos 3 carpetas: Android, Eclipse, Workspace
      • Ejecutar Eclipse/eclipse.bat
      • En Eclipse tendremos 4 pestañas
      En Window > Android SDK ... aqui se indican las máquinas virtuales (virtual devices).
      • En Available packages: para instalar la versión para que salga en el combo 'Target'
      • En Virtual devices añadir la máquina (create AVD)
        • nombre
        • target
        • Size de la SD Card
        • Skin
        • hardware
      En Window > Preferences

      Para crear proyecto: Package explorer > new
      • Hemos creado un proyecto que podemos ver en el Package Explorer
      • properties
        • application name: la que saldrá al descargar hello
        • package name: com.android.exercicis.helloworld2
        • create activity: HelloWorld
        • sdk: 4
      • Editamos HelloWorld.java
      • Compilar (CTRL+F11) = proyecto > boton derecho > run as androi appliction
      • en la carpeta res estan los recursos
        • en drawable > 3 tipos de tamaño de imágenes

      Ejemplos

      tutoriales
      Para una aplicación básica de Hello World hay cuatro ficheros a tocar
      • HelloAndroid.java
      • AndroidManifest.xml
      • res > layout > main.xml
      • res> values > strings.xml




      HELLOANDROID.JAVA

      package com.examples.helloandroid;


      import android.app.Activity;
      import android.os.Bundle;
      import android.widget.TextView;


      public class HelloAndroid extends Activity {
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);


      TextView tv = new TextView(this);
      tv.setText("Hello, nou missatge");
      setContentView(tv);
      }
      }

      viernes, 24 de septiembre de 2010

      Usar un escritorio web para organizarte

      Estés donde estés ya puedes tener tu escritorio configurable en página web
      • consta de pequeñas cajitos o módulos (gadgets) que contienen lo que habitualmente hacemos
      • podemos tener mas de 1 email al mismo tiempo
      • se accede por usuario y contraseña
      • podemos tener RSS de dos modos
        • con google reader (varios a la vez en una cajita)
        • cada página su cajita
      Los que vamos a comentar son iGoogle y Netvibes
      myYahoo y PageFlakes están bien pero tienen publicidad


      • Util si ya somos usuarios de Google (en Gmail, Google Calendar, Google Docs, etc)
      • Accesible con la misma cuenta que Gmail
      • Tiene muchos gadgets disponibles
      • Se pueden crear pestañas

      jueves, 23 de septiembre de 2010

      Usar Internet para guardar y compartir tus documentos

      Podemos tener ficheros en nuestro PC (documentos word, fotos, hojas de cálculo, etc) y también realizar copias de seguridad de ellos en un disco externo, pero... si estamos fuera de nuestro PC, o si queremos compartir esa información con otras personas.. ¿como lo hacemos?

      Yo uso dos opciones muy aconsejables y son gratuitas.






      Google Docs
      • http://docs.google.com/
      • Se accede mediante la cuenta de GOOGLE que tengas abierta
      • se pueden colgar los siguientes tipos de ficheros
        • documentos (como word)
        • hojas de cálculo (como excel)
        • presentaciones (tipo powerpoint)
        • formularios
        • dibujos
      • los ficheros o carpetas pueden ser compartidos con otros usuarios, y mas de una persona puede trabajar sobre el mismo documento a la vez.
      • Microsoft lo está potenciando mucho, dando buena velocidad y nuevas funcioanlidades.
      • Permite
        • disponible desde acceso internet
        • con usuario y contraseña
        • mas de un usuario trabajando a la vez
        • incorpora XAT en la columna lateral
        • historial de versiones
        • publicar el documento como página web

      DropBox
      • http://www.dropbox.com/
      • permite guardar todo tipo de documentos (hasta 2 GB)
      • permite sincronizar ese espacio con una carpeta de tu PC, de tal manera que cuando se modifica el fichero del PC automáticamente ya se sube al servidor de DropBox, y viceversa.
      • se pueden compartir carpetas con otros usuarios
      • es necesario descargar y ejecutar un programa en el PC para que haga la sincronización