Archive for April 2011
Yesterday was fun. A roller-coaster ride of a day. We proudly released our small little Facebook app and made some gentle fuzz about it.
Then it was disabled.
It took quite a while from the initial idea to the actual implementation. Most of which was spent learning Facebook and Symfony2. But it was well woth the hassle in many respects.
See Facebook TV Programm in action here!
Or read on.
Last week while working on a Facebook application a colleague confronted me with the idea to host the application on Dropbox. Intrigued by this I tried to make it work and succeeded.
Now I decided to roll back. Here’s why.
This allows for a much better user experience and as I don’t need to store much input from the user I can easily do without round trips to the server and back.
But if you’re on the client side or server side doesn’t matter when it comes to authentication and authorization. Although there is a good API provided by Facebook and lots of different SDKs you will need to deal a lot with permissions whenever you need to perform actions tat require the current users allowance.
Today and coming Monday are bank holidays in Germany, easter holidays. Therefore there will be no blogposts.
However this seems to me to be a good opportunity to raise the topic of easter eggs in software. Those little moments of joy that shows how much fun the developers had with a product. We tend to forget about these as apparently there is too little time but on the other hand we enjoy them a lot.
So for this weekend I ask everybody to remember the easter eggs and to plant some yourselves. As an inspiration you can all start to share your favorite easter eggs in the comments.
Keep the tradition alive.
Just like probably many of you I am using Dropbox to get files from home to work and back again and to easily share stuff with people.
You might also have heard that it is possible to host websites on it which basically just means that files on it are served with the correct content type so that html gets recognised by browsers. This is of course static. There is no PHP or anything dynamic running on your Dropbox.
But maybe it can be used as a kind of cache for your website?
The pre-releases of Symfony2 come faster and faster now. Each contains an update documentation that briefly describes the major changes and advises what to do when updating. Not too long ago I was in a similar situation. Me and a colleague were releasing an internal software toolkit based on symfony 1.4 and we wrote about 10 update guides.
As there are similarities I thought I’d share a bit of what we’ve learned.
However the shift of mind you have to perform is quite big.
I just recently had an import job running that was pulling about 100.000 records from an XML source and pushing those into a database table. As the project this was for is a Symfony2 pet project of mine the technology used is Doctrine 2.0.
As Doctrine 2.0 has switched from the Active Record pattern to the Unit of Work pattern it is no longer necessary to fire one INSERT query per record saved. Instead you can create and persist as many objects as you wish and flush them to the database all at once.
There are however a few caveats you should know about.
Facebook offers a lot of features but also a lot of side effects. One of them is that certain actions appear on the apps wall and therefor on all news feeds of users that like you app. This can of course get quite spammy.
One way to avoid that is to use multiple apps together. This way one can be used to store things while another app interacts with the users and gets liked. I’m sure there are many more use cases where it makes sense to use a number of apps instead of a single one.
In any case CaeferFacebookCanvasAppBundle now supports multiple apps now.