Give Me Cake

CakePHP Baking, Internet Marketing, SEO, Design and more

System Development with a Design Firm?

Posted on | April 21, 2010 | 1 Comment

Hands up those design firms that are taking in system projects as well. Hands up those who REALLY have a functioning Tech team!

That’s lesser hands.

Designing and implementing a website is not the same as developing a System. The process that starts the both are  different. Yes, the designer and the developer both have to go thru the waterfall life cycle. But that’s where the similarity pretty much ended. A real IT system development company will provide the client with a detail and accurate breakdown of the cost of development. But a design firm’s quote often fall short of the requirements expected by the client and also fails to convey the real scope of the project to the outsourced developers.

An application needs extensive documentation, more than mockups. Requirements, workflow, database documentation, deployment instructions, redeployment processes for the scripts & database. Changelog.Database synchronization, system backup. Logging and evaluation.

For a design website, Requirements, sitemap, deployment instructions, system backup. Logging and evaluation. Yes google tracker is the most popular tools used but what is done to analyst the data? Nothing I am sure. Just a ok so I know it, that’s good enough.

Readers, please feel free to point out if I have left out anything for the development & design processes.

Sadly, in Singapore, a big chunk of the budget is spent on Marketing, Branding and Ads. Less is spend on research, systems, websites are reproduced using cookie cutter method, without evaluating whether it is suitable, enhancing, improving or not.

Companies believe in that IT spending on ERP systems are beneficial to them. But often they can’t accept that R&D is needed for the best solution flow that fit their work processes, company culture & workers. Instead of expecting a full fledge system with the most advanced AJAX effects, capable of wonderment and fast turnaround time, settle for a prototype first. From a prototype, build up modules of the system to work on its own before linking up the whole flow. Really fixing and mending a live application is not R&D. There is no proper deployment processes and documentation.

If the company is unable to allocate budget for a prototype and on going development work for a system, why not settle for a hosted application?

I so wonder why do companies send their IT projects to design firm? Lack of budget? Don’t know any better? When the company don’t have development processes in place, it is a sign that your project might just be their first? Often these companies that outsource their ERP to Design Firms, are also the ones to go first when recession comes.

On the other hand, I have also seen designers who are also great programmers, judging from their portfolio. So I shall conclude that when companies refrain from spending on their IT projects, they could be just ignorant about IT & Web or they just plain don’t care.

Interesting Read

Posted on | December 15, 2009 | No Comments

http://highscalability.com/blog/2009/11/17/10-ebay-secrets-for-planet-wide-scaling.html

Setting up Cakephp for Application Development

Posted on | July 5, 2009 | No Comments

I like to keep the CAKPHP ROOT files (/cake/) in a folder of its own and my /app in the working folders. This way, the CAKEPHP ROOT files are not SVNed and that keeps my repos smaller.

My folder structure:

D:\www\cakephp_1_2
D:\www\video_tutorial\app
D:\www\video_tutorial\vendors

D:\www\project 1\app
D:\www\project 1\vendors

All my vendors files for all projects are stored in D:\www\cakephp_1_2\vendors. If it is project specific, it goes to the project’s own folder.

In the project’s folder, index.php in webroot folder, change the CAKE_CORE_INCLUDE_PATH constant to allow the app to locate the CAKEPHP ROOT files and include them.

D:\www\video_tutorial\app\webroot\index.php

/**
* The full path to the directory which holds "app", WITHOUT a trailing DS.
*
*/
if (!defined('ROOT')) {
define('ROOT', dirname(dirname(dirname(dirname(__FILE__)))));
}
/**
* The actual directory name for the "app".
*
*/
if (!defined('APP_DIR')) {
define('APP_DIR', basename(dirname(dirname(dirname(__FILE__)))).DS.'app');
}
/**
* The absolute path to the "cake" directory, WITHOUT a trailing DS.
*
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', ROOT.DS.'cakephp_1_2');
}

Video Sharing Website Part 2 : Converting the uploaded video to FLV

Posted on | June 30, 2009 | 2 Comments

This series of blog post will talk about how to setup a Video Sharing Website.

Converting the uploaded video to FLV

This is a ‘on the fly’ conversion example, using Cakephp Framework.  I am using the ffmpeg library for the transcoding in my example. The ffmpeg converter supports FLV, MP4 and many more.

ffmpeg supported formats: http://ffmpeg.org/general.html#SEC8

For the most basic video sharing, the user will upload a video, enter a title and a description. The VideoConvertorComponent will take the uploaded video, extract a thumbnail and convert it to FLV. Other users can view the FLV in the flash player.

VideoConvertorComponent:: flv_import() is called in the controller. FLV and thumbnail image is created.

Read more

Video Sharing Website Part 1 : Introduction to Video Streaming

Posted on | June 30, 2009 | 1 Comment

This series of blog post will talk about how to setup a Video Sharing Website.

Definition to various methods of video downloads and video format

  1. Streaming
  2. HTTP Download
  3. HTTP Streaming – A combination of Streaming and HTTP Download

Streaming

Use of Video Stream Application servers. Examples of Video Stream Application servers include: Video Desk, Adobe Flash Media Server. To use a Streaming Application Server, you need to have a dedicated server with dedicated bandwidth. Such setups are expensive and can run up to a few thousand dollars per month. This is not for the average user. But more suited for the needs of content delivery network. Like news streaming, on demand TV or Movies. Requires a lot of specialized server setup and maintenance knowledge.

HTTP Download

The usual way files are downloaded completely before you can view them. Longer waiting time. This method would require user to have the plugin that supports the playback installed.

HTTP Streaming

A flash player will play part of the video when it is downloaded. With this method, you can fast forward to any segment you want to watch before the video is downloaded fully. The player will send a request to the server for the seeked segment of the video and the start playing from there. This is call pseudo streaming.

This streaming setup uses three components:

  1. A Flash Player
  2. A server side script for the transcoding of uploaded video to different formats, and the pseudo streaming of the video
  3. An FLV video

The server side script needs to take care of bandwidth throttling, securing the video to prevent leeching, detection of bandwidth to if variable bandwidth video is supported. This will be covered in further posts.

Video Formats Suitable for Online Stream

  1. FLV (H.263/MP3) – 320px in width
  2. MP4 (H.264/AAC) – 320px in width ~500kbps
  3. A TV conversion (720px wide, H.264/AAC, ~1000kbps)
  4. An HD conversion (1280px wide, H.264/AAC, ~2000kbps)

Higher bitrates or bigger file size will result in longer transcoding time. Since this is the case, the transcoding process has to be ‘behind the scenes’ to avoid letting users wait for a long time. The FLV version is the most commonly used format.

Network Architecture

keep looking »
  • Give me Cake?

    Givemecake.dev-work.com a collection of web application development tips, tutorials and resources.
  • See Your Ads Here

  • See Your Ads Here

  • Meta