Archive for the ‘web’ Category

Dream Big – An Open Source Tale

Wednesday, March 10th, 2010

Don’t ever let yourself be put down because other people say it can’t be done.

This is a simple story of how leveraging open source technologies can bring you to heights and depths you thought you could never reach.

Around 2002, November, I was asked by one of our ministry head to think of a way to make a new website geared for students. When I think of now, it was really like a social network on a much much smaller scale.

The situation here on the student network’s proposed site was this: they had already searched for a software development firm in Manila and asked for a quotation and timeframe of the work. They said it would take 3 months, and about a six digit amount to get it done. Since that was way too much, they decided to look into the outreach here in Cebu and ask around if there were any people somehow knowledgeable enough to take the challenge.

A few months before, where I was working, I had started studying and implementing some LAMP architecture on the corporate website. Mind you, my skills then were not so mature yet. PHP was still version 4.x and there were even some 3.x versions around. You can even call me a greenhorn (newbie) during this time – on the company I was in, all I had was Dreamweaver 4 to work upon the website, and some tutorials from the web on how to set up and program in php.

To make the long story short, I and two other people from the community (serving in ministry work), were tasked to do what one would have thought to be impossible to do during that time – make the student network site, complete with interactive forums and one login registrations to be part of the site, and with ALL content in less than one month. Yes, that’s right, the site was going to be launched a little bit after Christmas.

Since I was working then, we had to take turns in programming and developing the site. I was the head then of the 3 person team in Cebu. The two were not working yet, so I tasked them to make the different sections of the site. We were working at my home (no problems, I was single then :) ). Some people from our main branch in Manila were sending designs for us to cut and slice and place in the site.

After of almost a month of non-stop work on the site. It was done, and uploaded to a shared server through dialup (it would take 3-4 hours to update the whole site).

What’s the lesson of this experience? If I were to use proprietary software and languages it would be a whole lot more expensive (I knew there was asp, and coldfusion, but hosting for that was expensive). We had to use the one available on most cheap servers at that time, and that was a LAMP based server. We leveraged free forum software and modified it and integrated it into the site’s one login and registration. If we had started from scratch we wouldn’t have had finished the site on time. Open Source is all about collaboration, and this experience has taught me a lot about coordinating remotely too.

Looking back, I was to lead the original web team here for about 2 more years, before moving on (by then they had grown to more than 5) – after which, I was still assigned to the original website which we made, and helped worked on two more sites and administered the ministry’s server (which was now a dedicated server). The site which we first started won the Catholic Mass Media Awards for Best Website for 3 straight years before becoming a Hall of Fame Awardee. I was incidentally there using a borrowed suit during the first time we won (it was held in Ateneo and televised nationwide, hosted by some guy and Donita Rose), and that by itself was an experience I’ll never forget. You can get the list of winners during the first time the site won at the cmma foundation website here.

Dream Big. It can be done.

Flash Versus Html 5 – the Facts

Thursday, February 4th, 2010

We’ve all seen the html 5 upcoming features and admittedly, it is very exciting.

Features such as canvas, and even a way for communication between servers (like a chat client), and geolocation are just one of the few highlights that html 5 offers.

One of the most anticipated features is the <video> tag which allows for embedding video without the use of an external browser plugin (ie flash).

Many pundits would say that it is the beginning of the end for Adobe Flash.  And I would agree, to an extent.  I believe that Flash’s days as a premium source of progressively streaming video content are numbered somewhat.

Things to keep in mind though:

1. HTML 5 does not include options for LIVE video streaming.  We can say that there is H264 streaming by the open source darwin server (created by apple).  But let’s be real.  Quicktime is a resource hog, and it’s frankly, its awful in windows.  And flash is practically present in over 90% of the computers worldwide – computers are then mostly live streaming content ready.

2. Games and RIA – Canvas and javascript have some neat tricks in HTML 5 (freeciv.net comes to mind).  One thing that flash trumps HTML 5 is how flash makes it easy for developers to create games (and elaborate ones at that!), with sound and effects to boot.  Flash simply trumps HTML 5 in Rich Internet Application features.

3. HTML 5 final draft is on 2022.  What would happen here is that as browsers race to implement HTML 5 features this early, they will have their own implementation.  We have already seen this in the implementation of the <video> tag.  Safari, Chrome support H264.  Firefox and Opera support Theora – IE has no support for the <video> tag.  From experience, I have to contend with different implementations of javascript, dhtml, and even css for different browsers.  What I am hoping is that HTML 5 will not descend into a web developer’s nightmare of supporting different browsers.  For flash, backwards compatibility is largely maintained: AS2 will still run on the newest Flash runtime, and developers will just develop flash applications without worrying that their applications won’t run on linux, windows or macs.

4. One thing about the video tag is that the actual video file is linkable, and thus, downloadable.  Content providers don’t like their videos readily downloadable by users, especially for premium video content.  Although not perfect, Flash offers a way hamper downloads of video content by users.  We live in the real world, and the fact is, however we want our videos to be openly available, content providers would think otherwise.

5. Concerning the video tag, is Firefox’s and Opera’s refusal to support H264.  Fact of the matter is, H264 is patent encumbered, and in order for Firefox and Opera to use H264, they would have to shelve off H264 licensing fees.  As a blog of a Mozilla developer states: “In other words, if you’re an end user in a country where software patents (or method patents) are enforceable, and you’re using software that encodes or decodes H.264 and the vendor is not on the list of licensees, the MPEG LA reserves the right to sue you, the end user, as well as the software vendor or distributor.” – Flash on the other hand, has licensed H264 for use in their player.

6. Flash has some excellent authoring tools available, which makes development easy.  One thing which bugs me in the Open Source world is that IDEs are found mostly wanting.  I wouldn’t mind an open source IDE as good as Visual Studio – Eclipse comes close, but I hate the bloatedness of the application, causing me to have out of memory errors for large amounts of source code (and that was during my Java coding days).

In short, will HTML 5 obsolete Flash completely?  My answer: in some ways, yes, in other ways, not.  What I believe is that both technologies will coexist together for quite some time, until of course, a new version of the HTML spec comes, which may drive Flash into obsolescence once and for all.

Facebook: Hiphop for PHP Released As Open Source

Wednesday, February 3rd, 2010

After spending some weeks in rumor land, Facebook has now released a cross-compiling language converter for PHP as open source (php license), titled Hiphop for PHP.

What the application does is to programatically convert PHP source code into C++ and compile it with g++.

According to senior engineer Haiping Zhao, Hiphop has now been deployed to 90% of the Facebook traffic, six months after deployment.

For more information, please see the video below:

Early Internet Explorer 9 Developments

Thursday, November 19th, 2009

It seems like that the favorite browser everyone loves to hate is having a makeover.

From the msdn IEBlog site, developers from microsoft are in the process of updating Internet Explorer to have:

  1. Speedier Performance – on par with Firefox 3.6.  It finally looks like that javascript will be accelerated like Firefox and Safari/Chrome builds are.
  2. Standards Compliance – some HTML 5 support, as well as CSS 3 compliance are being done.  ACID 3 compliance is also being worked upon.
  3. Hardware accelerated graphics and text via Direct2D.

Concerning #2, here’s a pic from the IEBlog, concerning Javascript execution speed:

Javascript Execution Speed Reference

On my own opinion, other browsers have the lead in JS acceleration, and IE is basically playing catchup.  By the time IE 9 gets ready to ship, developments and enhancements in Firefox and Webkit based browsers (Safari/Chrome) will have optimized their javascript engines further.  Furthermore, 3D acceleration has been in development for the other browsers as well.  What remains to be seen, and this is what I think is significant to watch, is whether HTML 5 will be able to unseat flash, considering future browsers are racing to implement HTML 5 compliance (IE included).