download please

Eugenio Estrada

csharp, asp.net, wpf, android, silverlight, windows phone 7, ux design...

http://eugenioestrada.es

Recent tracks

Top tracks

Profile

Eugenio Estrada

WPF and Silverlight Technologies
Computer Software | A Coruña Area, Spain, ES

Summary

Application developer, Web developer, graphic designer and clerk
Specialties: .NET development (C#, VB) Web development (HTML, ASP.NET) Graphic design (Microsoft Expression Design, Photoshop) Windows Vista technologies (WPF)

Experience

  • Jul 2007 - Present

    C# Developer / Lusco Tekhne

    ASP.NET 2.0-3.5 Web Applictiations: Development and Deployment
    (logistics, billing and applications and users monitoring)
    WPF Interfaces Design: Desktop Applications, Screensavers
    Silverlight Business Application: Development and Deployment
    Outlook Web Access, SharePoint and ISA Server personalization
    Illustration and Icons Set Design

Education

  • 2008 - 2012

    Universidad de A Coruna

    Ingeniería in Informática
    Activities: FIC.NET Club, .NET User Group Galicia
  • 1998 - 2008

    CRP Colegio Montegrande

Additional information

Websites:
Honors:
Bloguero February 2007 MCTS: .NET Framework 3.5: Windows Presentation Foundation
Interests:
Web, UX, Design, Photography, Sports, Politics, Music...
Assoc.:
.Net User Group Galicia, INETA, Culminis

Posts

  • July 28, 12:04 PM

    Facebook Páginas: consejos y trucos para empresas

    La presencia en Internet es cada vez más importante para las empresas y no solo para las grandes, para las pymes también. En este caso vamos a hablar de Facebook y como creando gratis una página de empresa en Facebook nos puede ayudar a conseguir nuevos clientes.

    Y realmente siguiendo unos pocos consejos podríamos llegar a generar el ruido suficiente como para amortizar ese pequeño tiempo invertido en mantenerlo.

    Antes de crear la página de Facebook debemos tener en cuenta unas pocas cosas:

    • Es un buen sitio donde publicar descuentos exclusivos.
    • Lo debemos actualizar a diario para no perder la cantidad de usuarios que nos lean día a día.
    • Debemos invitar gente, buscar gente de la zona y fomentar que compartan la página con sus contactos.
    • Agregar los contactos que te sugiere Facebook.

    Otra de las cosas que suele funciona es fomentar concursos del estilo de: “El comentario con más votos se lleva este premio”. Ya que fomentaría todos los puntos escritos antes o al llegar a X seguidores sorteo. Con esto generarás ruido y cuando alguien necesite aquello que tu necesitas, se acordará de ti.


  • July 12, 06:12 PM

    Gizmóvil: Resumen semana 5 de Julio

    Esta semana fue un poco variada. Desde la noticia de que Windows Phone 7 no soportará de momento HTML5, nuevas tarifas, nuevos móviles LG y nueva versión de Skype para Symbian.

    Al menos esta semana ha comenzado fuerte, estad pendientes de mañana.


  • July 08, 03:43 PM

    Falta de documentación en proyectos de Open Source

    Ahora que ando con jugueteando con la plataforma Android me estoy dando cuenta de algo de lo que antes no era consciente: ¡¡la documentación acerca de tecnologías Microsoft es asombrosa!! No soy el primero que se da cuenta y no creo que sea el último. Cuando poco a poco intentas ahondar en un tema y buscar cosas concretas acerca de la plataforma Android no encuentras absolutamente nada.

    Y sinceramente en este momento es en el que me hago muchas preguntas: ¿Cómo gente que predica la ideología del software libre es tan reacia a la compartimiento de recursos educativos? ¿Cómo es posible que una plataforma privativa en muy poco tiempo tenga diversos recursos formativos?


    Sinceramente creo que los primeros tutoriales, donde te muestras en no más de 45 minutos como hacer cosas relativamente sencillas, es el momento en el que empezamos a decantarnos por una tecnología. Por otro lado me parece inaceptable que una empresa como Google no sepa crear esa comunidad al rededor de una de las plataformas clave como es Android de tal forma que tanto los programadores tanto nuevos como veteranos de la plataforma mejoren sus resultados.

    Conclusión

    Por mucho que digan, por mucho que discutan, es más abierta un proyecto privativo bien documentado que uno abierto sin documentar. Pero claro, al final todo esto forma parte de marketing no siempre se quiere gastar en ello.


  • July 05, 06:08 PM

    Monetizando las aplicaciones móviles. Primeras conclusiones

    Hace una semana le añadí publicidad a mi aplicación de Android. ¡Oh! Iba a poner un enlace del blog pero me di cuenta que aún no os la presenté, me lo apunto para mañana. Pero a lo que íbamos, tras una semana con la publicidad de AdMob ya podemos empezar a hablar de conclusiones.

    El otro día os comentaba algunos consejos para la publicación de aplicaciones en la Android Market. Uno de ellos, os recuerdo, era la inclusión de publicidad en vuestras aplicaciones.

    Pues bien, como os decía, una semana y ya tenemos los primeros datos. Para empezar no penséis que me he hecho rico, tan solo tengo $0.72 acumulado en mi cuenta de AdMob, pero a todo el mundo le gustaría saber cómo hacerse rico.

    ¿Qué me ha llevado a acumular esos céntimos?

    Pues los números que hay detrás es lo que más me fascina. Por un lado he tenido 21,717 solicitudes de anuncio que han sido cubiertas en un 82.31% y se han hecho un total de 31 clicks. Os recuerdo que son de tan solo una semana.

    ¿Y los datos del Market?

    Finalmente comentarios que la aplicación a día de hoy cuenta con 1,372 descargas de las cuales el 62% continúan con ella instalada.

    ¿Primeras conclusiones?

    Las primeras conclusiones deberían ser, más bien, primeras incógnitas: ¿Tanta gente está usando mi aplicación? ¿Se está usando tanto? ¿Hasta cuando seguirá creciendo las descargas? ¿Será proporcional el aumento de remuneración por publicidad?


  • July 05, 05:43 AM

    dotNetMania: Plataforma Android. Introducción al desarrollo

    El número de dotNetMania de Julio está llegando y tengo el honor de contaros que en dicho número estreno una nueva sección con mi artículo “Plataforma Android. Introducción al desarrollo“. Ésta será la primera sección que no tendrá contenido relacionado con tecnologías Microsoft, abriendo la puerta a otras como, en este caso, Android.

    El sistema operativo Android está basado en el kernel de Linux y ha sido desarrollado bajo el amparo de Google. En principio, nació como un sistema operativo para móviles; hoy en día lo tenemos también en tablets y en Google TV. Desde su presentación en noviembre de 2007, estamos actualmente en la versión 2.2 (también conocida como Froyo), una versión que quiere dar un punto de madurez hasta la siguiente versión: la 3.0 o Gingerbread. Pero para nosotros, como desarrolladores, la esencia de Android seguirá siendo la misma. Este artículo pretende introducir al lector en el mundo del desarrollo para esta plataforma, adentrándonos en el entorno Eclipse y la programación con Java.

    Por si fueran pocos los cambios, también han estrado su nueva página en Facebook y, aunque ya se que todos vais a haceros fans ya mismo, os voy a dar otro motivo para correr a hacerlo sin esperar más, a partir de este mes van a regalar un artículo a todos los fans.

    ¿Y sabéis cual ha sido esta vez? Oh, sorpresa… ¡El mio! A continuación os dejo la portada de este número y el link de descarga.

    Mi artículo lo podéis descargar en: http://www.dotnetmania.com/fans/dnm07207.pdf

    ¡Y no os olvidéis en haceros fans!


  • July 05, 05:11 AM

    Haciendo cross-posting

    Hasta hoy no he conseguido hacer cross-posting al antiguo blog para que los lectores puedan seguir leyendo.

    Con este post queda inaugurado.


  • July 04, 02:51 PM

    Cómo hacer un juego con Silverlight. Parte I

    Con este tutorial, quiero abrir un tema que desde hace tiempo me interesa bastante. Ya el otro día os recomendé un libro sobre desarrollo de juegos, pero en esta serie de tutoriales vamos a verlo de una forma más práctica pensando en la aplicación de estos conceptos en el próximo Windows Phone 7.

    En el tutorial partiremos de la base de que has leído mis tutoriales de introducción a Silverlight. Y usaremos como base una librería que creé en su día para realizar una demo técnica: GameFX.

    Ver juego

    Tradicionalmente en Silverlight tendríamos dos formas de trabajar: creando controles de usuario con animaciones y basándonos en las interacciones del usuarios con dichos controles para la actualización del juego. El segundo te da mas flexibilidad a la hora de crear lógicas de inteligencia y colisión, pero, si estáis interesados en la primera, aquí tenéis una serie de 10 vídeos donde muestran como desarrollar un juego desde cero con Silverlight.

    Entonces la idea es la siguiente:

    • Primero creamos los controles: enemigos, personajes, fondos, etc.
    • Lo segundo es comenzar el bucle de actualización y pintado
    • En el de actualización, cambiamos las posiciones de nuestros controles, creamos nuevos, etc. en función del estado del teclado
    • Finalmente en el de pintado añadimos y quitamos los controles que hayan sido creados o eliminados

    Para la realización de la librería GameFX me basé en el modelo de programación de XNA para el diseño del modelo de programación.

    Como veis la clase Game nos proporciona lo que decíamos antes: los métodos de carga, descarga, actualización y pintado.

    ¿Por donde debemos empezar?

    Antes de nada debemos pensar qué tipo de juego queremos hacer, como se va a interactuar con él y que recursos va a tener: sonido, gáficos, etc.

    Al menos tenemos que tener unos ejemplos de gráficos para ir viendo como se va moviendo.

    Una vez lo tengamos claro, debemos crear los ficheros con esos recursos. Por ejemplo, para el jugador, crearemos el fichero Player.xaml:

    <UserControl
    	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    	x:Class="Demo.Player"
    	Width="128" Height="128">
        <Image Margin="0" Source="Content/player.png" Stretch="Fill"/>
    </UserControl>
    

    Como veis en la carpeta Content es donde he decidido guardar el contenido.

    Una vez ya tengamos varios ficheros, XAML, con nuestros sprite ya podemos empezar con el juego.

    Empezando a hacer el juego

    Una vez que ya estemos listos para empezar a programar el juego, debemos de nuestro proyecto Silverlight, eliminar el fichero App.xaml ya que el propio juego ya se encarga de la gestión de la aplicación.

    Acto seguido debemos crear un fichero XAML, nosotros le llamaremos DemoGame.xaml, que vamos a derivar de nuestra clase Game. En las propiedades del proyecto debemos ponerlo como objeto inicial (Startup Object).

    <GameFx:Game xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:GameFx="clr-namespace:GameFx;assembly=GameFx"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 x:Class="Demo.DemoGame" ">
        <GameFx:Game.Resources">
        </GameFx:Game.Resources">
    </GameFx:Game">
    

    Y del lado del código C# debemos implementar los 4 métodos, siendo lo más importantes estos:

    void LoadContent() { }
    void Update(GameTime gameTime) { }
    void Draw(GameTime gameTime) { }
    

    A nivel de clase debemos declarar las variables de los recursos, como por ejemplo el jugador:

    Player player;
    

    Y en el método LoadContent debemos instanciarlo:

    Player player;
    public override void LoadContent() {
        player = new Player();
    }
    

    Actualizando el estado

    En el método Update debemos en función del estado del teclado, el objeto KeyboardState nos permite saber el estado del teclado:

    public override void Update(GameTime gameTime)
    {
        if (KeyboardState.ContainsKey(Key.Down))
        {
            if (KeyboardState[Key.Down])
            {
                if ((double)player.GetValue(Canvas.TopProperty) + player.ActualHeight < GameSurface.ActualHeight - 10)
                {
                    player.SetValue(Canvas.TopProperty, (double)playter.GetValue(Canvas.TopProperty) + 4.0);
                }
            }
        }
    }
    

    Dibujando los sprites

    Por último en el método Draw debemos añadir y quitar del juego aquellos objetos que se vayan creando o muriendo. En nuestro ejemplo solamente tenemos a nuestro jugador, que solo es necesario mostrarlo la primera vez.

    bool firstTime = true;
    public override void Draw(GameTime gameTime) {
        if (firstTime) {
            GameSurface.Children.Add(player);
            firstTime = false;
        }
    }
    

    Resumen

    Tan solo hemos mirado como usar la librería GameFX que estoy programando, pero en caso de ser necesario tan solo se debería crear un bucle que llame a los métodos Update y Draw secuencialmente. Esta librería tan solo quiere ayudar a no repetir cosas que nos harían falta en todos los juegos que hagamos.

    En próximas entregas veremos como añadir enemigos, detectar colisiones, etc. Para ver el estado actual del juego:

    Ver juego

    Nota: Hay muchas cosas que está en la librería GameFX que todavía no están implementadas como el ContentManager. Para futuras versiones la idea es descargar el contenido bajo demanda en vez de tener los ficheros en el propio paquete de Silverlight.


  • July 03, 05:58 AM

    Gizmóvil: Resumen semana 28 de Junio

    Esta semana ha sido para Android con sus próximas versiones 2.2 y 3.0, la tarifa de Vodafone y el Firefox Home ha sido casi testimonial.

    La lista de aportaciones es la siguiente sido:

    Dentro de una semana nos volvemos a ver con el nuevo resumen.


  • July 03, 05:03 AM

    Botón Bitacoras.com

    He añadido al blog el botón de Bitacoras.com para que podáis votar aquellos post que os gusten. No creáis que es una tontería, votando los contenidos sabré que os gusta más y que os gusta menos a la hora de escribir y procuraré ir por temas que se que os gusten más.

    Lo mismo con el botón de Facebook que ya puse la semana pasada y procuraré que en breve también tengamos un método para twittear.


  • July 02, 06:21 PM

    Vídeo: Java 4 Ever

    Ya hace días que había visto este vídeo y tardaba en subirlo al aquí.

    Sinceramente, no tengo comentarios ante esto. Es realmente gracioso, sobre todo cuando te das cuenta, miras para atrás y piensas en como ha evolucionado el mundo Java en comparación del mundo .NET, o sea nada. No quiero abrir polémica al respecto, es una realidad.

    Los años de .NET y los mensajes SOAP terminaron hace 4 años, con la llegada de Vista, que traía de serie .NET 3.0. Esta versión supuso una revolución para las arquitecturas SOA con .NET, Windows Communication Foundation se convirtió en algo realmente útil incluso para montar clientes en Java.

    ¡Pero vamos! Hay que reírse un poco de vez en cuando. Y por cierto echadle un vistazo a este post del equipo de Windows, últimamente publican muchos datos.


Latest checkin

Badges

Checkin history

Friends