Joined a new Job

I have joined waterford(http://www.waterford.org/) as a flash programmer. It was a good first day. While the office is small here in India, compared to other companies, the work environment is looking good. The most important thing for me is the travel time, it has been reduced tremendously. Now the workplace is at a walkable distance. Uff traffics are gone for the timebeing. The flash development team is small enough but doing quality stuff. The current project is games for kids(from KG to 2). So there are a lot of challenges. I mean it. Its on the technical side as well as UI side and designing graphics side too. I have to go through a lot of docs, answer a lot of queries. We will be working on a software where kids learn as well as play and the school/guardians control the lessons/children. There will be sequencing and multi-player games too. These are new to me as I never worked on multiplayer applications. So feeling great to be working on new technologies and on the decision making side.
The first set of questions thrown to me currently is as follows, though several of them seem obvious, I need proper explanation and reference to convince my manager and client. So, if anybody has got any feedback or suggestion, please let me know.

1. Whether to Flash-Remoting or XMLSockets (in terms of speed and multiuser and speed)
2. If remoting, which would be the serverside technology,  JAVA or PHP ? (Which one is faster?)
3. How RED5 solves our purpose?(my suggestion was to use RED5, so looking forward to resons)
4. At initial screen(registration/login), whether a simple dynamic page or a flash page (speed ?, my suggestion is flash)
5. wheter to use AIR or simple serverside pages on browser in the initial screens (my suggestion is AIR)
6. MySql or PostGRE Sql ? (i suggest : mysql but everybody else is at POSTGREs)

The list goes on. But I think these were the most crucial ones.Currently I am reading things to get a doc ready for the purpose.

Advertisements

6 thoughts on “Joined a new Job

  1. 3 easy, red5 is free :) and you can move to commercial server later with little problems, if you ever need to.

    6 I always thought mysql is faster, but people I work with moved from mysql to to postgre for performance reasons.

  2. thanks makc3d for the reply. I had just submitted my analysis and now back at home. I am putting down my whole analysis sheet down here for any good to anyone might be.

    :::::::::MYSql and postGRES:::::::::::::::::::::::

    MYSql : 2 different licences and for commercial use, one need to have a commercial licence
    POSTGRES : Licence is as simple as putting the original licence in one’s product (so its opensource and free for commercial use)

    MySQL does, however, support the advanced feature of data partitioning within a database. PostgreSQL does not.
    (ref : http://www.devx.com/dbzone/Article/20743/0/page/2)
    MySQL uses a threaded model for server processes, wherein all of the users connect to a single database daemon for access. PostgreSQL uses a non-threaded model where every new connection to the database gets a new database process.
    PostgreSQL uses a system called Write Ahead Logging to provide database consistency checking. MySQL has database consistency checking only under InnoDB table types.

    Usage
    Cox Communications uses MySQL to manage information related to its cable modem business. NASA uses MySQL to store information about public contracts. Slashdot, a widely read online publication, uses MySQL to store all of the information related to its site. The Associated Press uses MySQL to serve various types of information, including access to the U.S. Census and Olympic results.
    You probably use PostgreSQL indirectly on a fairly regular basis. Afilias, which manages the .ORG registration, uses PostgreSQL to store all of .ORG registry information. The American Chemical Society uses PostgreSQL to store documents that exist only within that database. BASF uses PostgreSQL in a shopping platform for its agriculture products. The World, a media company, has built much of its infrastructure around the use of PostgreSQL.

    ::::::::::::::::RED5 and FMS:::::::::::::::::

    RED5 (currently 0.8.0 RC1)(Free)(http://osflash.org/red5)
    (applications developed on red5 : http://osflash.org/red5/showcase)

    Red5 is an Open Source Flash Server written in Java that supports:
    Streaming Audio/Video (FLV and MP3)
    Recording Client Streams (FLV only)
    Shared Objects
    Live Stream Publishing
    Remoting (AMF)
    faqs :
    http://jira.red5.org/confluence/display/docs/FAQ
    http://code.google.com/p/red5/

    ref :
    http://www.rogue-development.com/blog2/2007/09/amfphp-red5/
    http://stackoverflow.com/questions/190802/alternatives-to-flash-media-server-for-multiplayer-game-development

    Flash Media Server (Costly)
    (http://www.adobe.com/products/flashmediainteractive/features/)
    Top features in Flash Media Interactive Server
    * Major performance gains
    * More secure content delivery
    * H.264 video and HE-AAC audio
    * Live video support
    * Mobile delivery to Flash Lite 3
    * New plug-in architecture
    * AMF3 support
    * Multipoint publishing
    * Video recording
    * Server redirection handling
    * Stream data access
    * Logging
    * Network efficiency
    * Bandwidth detection
    * Advanced seek feature

    XML sockets

    (http://www.gotoandplay.it/_articles/2003/12/xmlSocket_p02.php?PHPSESSID=12e7c0c5d77d3e8fd4f5dd1ab1c81123)
    I am not saying XML is bad for multiplayer games, and many free and commercial servers do use it as a communication protocol. XML can be properly optimized so that bandwidth is preserved. By doing so you can still retain it’s flexibility and ease of use and also you don’t have to write a parser from scratch.
    On the other hand it can also be possible to compress information in special string formats or even binary data: this will surely improve performance and save bandwidth at the cost of more complex coding.

    ::::::::::::::::::::::Front END:::::::::::::::::
    Flash frontends
    1. http://jooce.com/
    2. http://gamedev.fh-hagenberg.at/games/delta-strike/ (Game / Multiplayer Online Real-Time Strategy)

    Thikning of download time, I think html with embeded swf will be better than flash.

    AIR : advantage
    1. One look and feel across all operating systems including Linux
    2. The application is onetime install, so making things faster at startup.
    3. Only connects to the server whenever there is a requirement
    4. GAmes will be downloaded inside AIR application and play.

    ref : http://www.readwriteweb.com/archives/the_best_things_about_adobe_air.php

    example : http://labs.adobe.com/showcase/air/nickelodeon.html

    Online serverside pages :
    1. The fastest, but then look and feel are dependent on the web browser and operating system.

    :::::::::::::::Back End::::::::::::::::::::::::::
    php vs java
    ref :
    1. http://www.cmswire.com/cms/industry-news/php-vs-java-vs-ruby-000887.php
    2. http://www.trap17.com/index.php/which-faster-today-java-php-net-technology_t61683.html
    3. http://www.osnews.com/story/5602&page=3

    But Adobe has already taken several steps to make the Flash-Java communication a lot easier and faster with
    1. (Adobe LiveCycle Data Services ES)http://www.adobe.com/products/livecycle/dataservices/
    2. (BlazeDS)http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/

    So I think, the opensource BlazeDS is going to be the way to go for us. Again if we are going for RED5 there is no use of BlazeDS(need to confirm this by making a java communication with both RED5 and BlazeDS).

    :::::::::::::::::My Conclusion ::::::::::::::::::
    1. AIR application installion on clientside will takecare of initial screens
    a. consistent look and feel across operating systems
    b. one time install
    c. rich graphics
    2. Games will load into AIR dynamically from the server
    3. RED5 for multiplayer games
    4. May use BlazeDS along with RED5 depending upon the performance and facility of RED5 server

    We can have a discussion on this if further clarification is required.Please let me know your views.

  3. hey buddy !!
    nice to see you here.I am missing flashmove BTW. Will try to be there as often as I was, hope you are continuing with the same spirit.

  4. realistically, things can list tons of features but, if one you really need to use sucks, all the rest together can’t change that. we can talk about how postgre uses heavier non-threaded model, or does not support some partitioning (I dont even know what that is, ha) but when that dude I mentioned gets up to 90% less cpu load on the same database scheme, it just doesnt matter (for him), I suppose.

  5. hi Puppy,
    I completely agree with you.I, myself is a mySql guy too.Never worked on POSTGREs.And this is because of the reasons you mentioned. During my personal development choice, I chose MySql. Current scenario is the client had some notion about security issues in mysql. I have tried my best to convince them for POSTGREs but then could not answer one simple question of theirs. “Did you ever worked on POSTGREs?” I said no. And I think that is there stand point. Anyway, then I think I have an oppurtunity here to learn this new DB and then will be a better position to judge.
    Being said that My gut feeling says Mysql is far more faster than any other Database.
    Nice talking to you buddy. :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s