Looks like just two panelists. Didn’t get the names.
Starting discussion with scaling issues of mongrel server. I was expecting more of a discussion of rails, pros and cons, this seems to be more of a discussion of memory use on the server and scalability. Database load failed to scale for Twitter, sooner than the ability to run enoug instances of mongrel. Logan, jumps in and interjects “F*ck scalability” with the contention that when you have the problem of scalability you better have money coming in and can then deal with the issue. Is Ruby creating a brain-drain on Java talent. Still more jobs for java developers? There is a rebutting point that sometimes an app can catch fire before monetization and can outpace the scalability of Rails. PHP might be better. But how do you anticipate rate of acceptance, and usage growth? In one company, not named, prototyping is done in rails, but all that code is tossed for the production environment. The prototyping is useful for creating real requirements, but in the company referred to it is all java for the production.
Lookup: panelist mentioned a video on building a blog app in rails in 15 minutes – assume this can be found on youtube
Panelist expresses difficulty in his experience getting separate rails apps to communicate well. Not well-suited task for rails. Application growth tends to get unmanageable. Not just a rails problem. Michael chimes in with a plug for Ruby and reinforcing the point that Rails is not very ruby-like. Learning and loving Ruby can enrich the experience and open new doors. Very expressive. Syntax for ruby is very expressive. Ruby is fully object-oriented.
Rails vs. Symfony — Symfony is a framework for php that borrows much from rails — panelists likes rails much better — more nuance, better unit testing. Other frameworks, like Zend, etc. don’t provide the full simplicity, but they do help put you in a better paradigm for development.
Live from Barcamp – Day 2 – Session 5 [for me] Facebook apps 101
Presenter: Sandro Turriate
Whoa! – a real presentation with slides and everything!
The paraphrase:
Sandro new to facebook, relatively.
It’s a platform — you write plug-ins
It’s viral. There is some funding happening, it’s easy to install.
3 steps to app interaction:
1. Facebook contacts appserver
2. App server uses facebook api
3. App server sends response
Sandro wrote a haiku sharing app: “Global haiku”
Your web app can use facebook api to update fb users’ profiles.
How do people find your app – through mini-feed and news feed — also goes into the master list of applications
Getting started:
Install developer facebook application — get from developer.facebook.com — let’s you add applications and check usage, etc.
Lengthy form to fill out to be allowed to develop apps. you get an API key, a secret key and you have to provide a callback URL — you host your application.
Facebook makes a call back to your url : apps.facebook.com/yourapp – maps to a url on your server
Where does app live: Facebook caches the info stored in peoples’ profiles, and the callbacks, but the rest is in your world
Facebook, has an idea of a “canvas page” – this is the area for where your application responses get rendered within facebook. Options for presenting information fbml or iframe — iframe gives you complete control — more cpu intensive – makes more calls to facebook – more bandwidth heavy. FBML – facebook markup language — special tags from Facebook that facebook will automatically process. less overhead in using fbml.
There are other things you can access like sidebar feeds, special boxes, things that live within the profile.
Accessing css: you can do inline styles as attributes or declare style in top of your code. You can reference an external style sheet through an fbml tag.
Gotchas: Some fbml tags won’t allow random html – didn’t render correctly
<fb:editor> easy to write – but hard to customize
<fb:redirect> useful after POSTs
500 errors — not pretty, not much info. Anytime you are looking at a facebook app you can view source and see all html rendered (for developers only)
All decision processing happens on your server all input and output happens on facebook.