Skip to main content

Posts

Face Book Open Source Technologies

Introduction Facebook has been developed from the ground up using open source software. Developers building with Platform scale their own applications using many of the same infrastructure technologies that power Facebook. Platform Our Platform engineering team has released and maintains open source SDKs for Android , C# , iPhone , JavaScript , PHP , and Python . Developer tools codemod assists with large-scale codebase refactors that can be partially automated but still require human oversight and occasional intervention. Facebook Animation is a JavaScript library for creating customizable animations using DOM and CSS manipulation. flvtool++ is a tool for hinting and manipulating the metadata of FLV files. It was originally created for Facebook Video . Online Schema Change for MySQL lets you alter large database tables without taking your cluster offline. PHPEmbed makes embedding PHP truly simple for all of our developers (and indeed the world) we de...

PHP for Android Project Launched

irontec have just launched an open source project to bring PHP to Android platform. PHP for Android project (PFA) aims to make PHP development in Android not only possible but also feasable providing tools and documentation. The project already have an APK which provides PHP support to Android Scripting Environment (ASE). To get started you can follow the screencast below : APK and source code both available at http://phpforandroid.net . Minimum requirement to get PHP for Android running is Android 1.5 phone or emulator. There is even an unofficial ASE build with PHP 5.3 support included. Now Rasmus can get an Android phone and start scripting on mobile.

Getting Started with iPFaces PHP Mobile Application Framework

iPFaces is a flexible solution for easy development of form-oriented network mobile applications. With the iPFaces solution, mobile devices are able to render content received from a server using their native UI components. It uses thin presentation client (must be installed on device) to render application content. Using iPFaces it is possible to build an application where users can use their device's specific component behavior and additional device features, such as location service and additional graphic components of the device (lists, pickers etc.). Architecture The solution is based on the use of a thin presentation client installed on the device and an application/web server which generates the content for clients. The client and the server communicate with each other using the network. The idea is similar to the web browser - web server model. The client sends HTTP(S) requests to the server and receives iPFaces specific HTTP(S) respons...

Scaling the BBC iPlayer to handle demand with PHP

One of the key goals we set ourselves when we developed the new iPlayer was that it would have to be fast to use. We understand that any delay in getting you to the video is frustrating as the site is just a jumping off point into TV and Radio content. But how do we make things fast? Displaying a web page in the browser contains many steps, some we can control some we can't. Time spent for the request and response travelling over the network we can't control, but we can control how long the pages take to generate and how large they are. We also have a degree of control over how long those pages can take to render in your browser. We had our work cut out for us on the new version of iPlayer. Personalised websites require much more processing power and data storage The current site uses one back-end service that we pull data from to build the pages. The new site uses many more, and we both post and pull data from them. This means that every returning user gets a differ...

PHP's Place in the Enterprise

PHP in the enterprise PHP claims to be the most widely used programming language on the web. A quick look at http://langpop.com/ supports this – it’s almost certainly the most common for smaller web projects. PHP was not originally designed as an enterprise-level language, but as it has evolved, it has become suitable for much larger projects than were originally envisaged when Rasmus Lerdorf produced PHP/FI in 1995 (source). PHP now supports SOAP, XML-RPC, JSON and any database platform you care to mention. For something to be considered “Enterprise-level”, i.e. ready for use in the enterprise, it should meet the criteria of the Enterprise Challenges examined in our previous blog post. PHP as an Enterprise-level language With PHP 5.3, PHP is a full object oriented language with exception handling and useful features such as closures. Let’s take a look at PHP in light of enterprise challenges. Scalability PHP is very scalable owing to its shared nothing architecture – ...

Dynamic content for BBC

Matt McDonnell wrote about the new BBC Topic Pages Beta . I'd now like explain how some of the many components that build those pages all work together. The point of the Topic Pages is that they bring together content from all around bbc.co.uk . Obviously, many different systems produce all that content, and in general they don't tend to share content very well. Our challenge was to build a platform that could make sense of the different interfaces to those systems to make sharing that content easier. The first thing to note is that the Topic Pages themselves are dynamic , unlike the vast majority of pages on bbc.co.uk. Essentially, this means that the HTML of the page isn't stored as a physical file on a hard-disk, but instead is built up dynamically when the page is requested. This is done by the "Page Assembly Layer" or "PAL", a brand new component written in the PHP programming language . In the future, the intention is that most pages on bbc.c...

BBC World Cup 2010 dynamic semantic publishing

The World Cup 2010 website is a significant step change in the way that content is published. From first using the site, the most striking changes are the horizontal navigation and the larger, format high-quality video. As you navigate through the site it becomes apparent that this is a far deeper and richer use of content than can be achieved through traditional CMS-driven publishing solutions. The site features 700-plus team, group and player pages, which are powered by a high-performance dynamic semantic publishing framework. This framework facilitates the publication of automated metadata-driven web pages that are light-touch, requiring minimal journalistic management, as they automatically aggregate and render links to relevant stories. Dynamic aggregation examples include: Frank Lampard England Squad Group C Fixtures and Results Groups and Teams The underlying publishing framework does not author content directly; rather it publishes data about the content - metadata . Th...