Mellow Morning » Business http://www.mellowmorning.com Blogging the world of IT and Business Wed, 01 Feb 2012 19:00:15 +0000 http://wordpress.org/?v=2.9.2 en hourly 1 Facebook open graph publishing simplified http://www.mellowmorning.com/2012/02/01/facebook-open-graph/ http://www.mellowmorning.com/2012/02/01/facebook-open-graph/#comments Wed, 01 Feb 2012 19:00:15 +0000 tschellenbach http://www.mellowmorning.com/?p=583 Facebook has just enabled the open graph for 60 lucky apps. The new open graph beta allows you to post a user’s actions to their timeline. This activity is shown to the user’s friends in Facebook’s newsfeed and ticker. Furthermore your data is nicely aggregated on a user’s Facebook profile. Fashiolista’s aggregation for instance looks like this:

Posting these actions on Facebook can greatly enhance the viral growth of your company. Spotify, one of the launch partners, has grown by more than 4mil active users. This blogpost explains how to use Django Facebook to integrate your Django based site with Facebook.

How open graph works

Before going into the code though we need to understand the basic concepts of the open graph: actions and objects. Facebook’s getting started interface explains it best:

Actions are the verb, objects are what the action is applied to. You submit the data for these actions and objects to Facebook. An example would be watching (action) the movie Pan’s Labyrinth (object). Every object should be represented by a dedicated URL. For instance if you look at Chiara’s profile (object) on Fashiolista you will see the following open graph data:

<meta property="og:title" content="ChiaraFerragni" />
<meta property="og:image" content="http://bit.ly/rso3ig" />
<meta property="og:type" content="fashiolista:fashiolista" />
<meta property="og:site_name" content="Fashiolista" />

To post to the open graph you specify an action and the url for the object. You can read more about it in Facebook’s open graph docs.

Getting permission

Users only need to give you permission to the open graph once. You specifically need the publish_actions permission. When asking for this permission a pretty permission interface as shown below will appear:

Notice the tiny add to timeline box displayed at the bottom right corner of the interface.

Posting to the graph

The code below will show you how to post to the open graph. There are however a few requirements which you’ll need to go through.

  1. Register your own Facebook app and define actions and items
  2. Have Django Facebook installed

Simple posting to the graph

After receiving this permission we can post to the user’s timeline. Below is the most basic example:

@facebook_required(scope='publish_actions')
def open_graph_beta(request):
    '''
    Simple example view on how to do open graph postings
    '''
    fb = get_persistent_graph(request)
    entity_url = 'http://www.fashiolista.com/item/2081202/'
    result = fb.set('me/fashiolista:love', item=entity_url)
    messages.info(request, 'The item has been shared to fashiolista:love')

This posts the action love to the users timeline with the object data found at the url http://www.fashiolista.com/item/2081202/.
The syntax me/fashiolista:love translates to post to me in the namespace fashiolista with the action love.

Asynchronous posting to the graph

While the above example works, you often won’t want to keep your users waiting for the Facebook API request. Especially since they are quite sluggish at the moment.
Below there’s a version of the code using celery. Celery is a task queuing system which enables you to run tasks asynchronously.

@task.task(ignore_result=True)
def open_graph_beta(user):
    '''
    Example posting to open graph using a celery task
    '''
    profile = user.get_profile()
    fb = profile.get_offline_graph()
    entity_url = 'http://www.fashiolista.com/item/2081202/'
    result = fb.set('me/fashiolista:love', item=entity_url)

Concluding

Integrating with open graph is easy. Head over to the github page of Django Facebook to get started. Contributions are more than welcome.

Fashiolista Jobs

Do you also see the beauty in clean code? Are you experienced with high scalability web apps? Currently we’re looking for additional talent over at our Amsterdam office. Feel free to drop me a line at my personal email for more information: thierryschellenbach[át]gmail.com

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2012/02/01/facebook-open-graph/feed/ 0
5 ways in which Facebook redefines online marketing http://www.mellowmorning.com/2011/09/21/5-ways-in-which-facebook-redefines-online-marketing/ http://www.mellowmorning.com/2011/09/21/5-ways-in-which-facebook-redefines-online-marketing/#comments Wed, 21 Sep 2011 22:00:48 +0000 tschellenbach http://www.mellowmorning.com/?p=498 img.aligncenter { border: 1px solid gray; padding: 2px; margin: 5px 5px 5px 50px; }

In the last few years the landscape for online marketing has shifted towards Facebook. The most obvious point is Facebook’s own ad platform, which currently exceeds 2 billion dollar in revenue. However the more fundamental changes are caused by Facebook’s social platform. This article outlines the 5 ways in which Facebook is redefining online marketing.

About Thierry Schellenbach: Co-Founder of Fashiolista.com, author of Django Facebook. Follow me on Twitter or Facebook

1. Interest based marketing

Firstly Facebook allows you to target your advertising to specific interest groups. Especially for community driven sites it’s now possible to reach your target audience with almost scary precision. A marketeer can target all single girls living in Amsterdam, which like snowboarding and work at Google. This improved targeting enables you to attract visitors which are more likely to use your product.

Try out Facebook advertising

2. Zero friction authentication

The Facebook effect continues when users reach your landing page. Instead of filling out a form with annoying questions, users just need to find the big blue button on your site and they are good to go.
Having a Facebook login flow on your site drastically increases your conversion to members. Also the Facepile social plugin shows you which of your friends are using the site you’re visiting. This creates another incentive for users to join your site.


A good example of a zero friction signup flow is the Fashiolista landing page as shown above.

3. Instant personalization and Friends

The first two points allow you to acquire more users at a substantially lower member acquisition cost than previously possible. In addition the user accounts created by the Facebook connect flow immediately contain very rich information. You know their birthday, their age, their email, their gender and more importantly their real name. Using real names on online platforms substantially reduces spam and trolling. Furthermore since you know the user’s Facebook id you can connect them to their friends.



Pinterest for instance makes it extremely easy to follow your Facebook friends on Pinterest.

4. Like based personalization

Facebook started focusing on likes about a year and a half ago when they released the open graph protocol and like buttons. Currently many users have indicated which sports, movies and brands they like. You can utilize this data to immediately connect the users to topics they care about.


Quora is the leading example on how to personalize your content to new users. When you join Quora topics will be suggested to you based on your interests. So someone interested in Entrepreneurship will see entirely different content than someone interested in gardening.

5. Social sharing – Evangelists

Some of these users you just acquired will absolutely love your product. (Stop marketing and improve your product if they don’t). Previously these users would maybe email a friend or two and if you’re lucky tell their colleagues about it. Facebook however empowers them to easily share your product to all of their friends. Evangelists which would maybe recruit two new members are enabled by Facebook to recruit dozens. It is very common for user’s of Fashiolista to invite more than 30 of their friends, many of which become members.


The invite flow on Fashiolista smartly shows your female friends, which are not yet on Fashiolista and enables you to quickly send an invite message to their wall.
Similar, albeit less pretty invite flows are a strong component of games like CityVille and Farmville.

Conclusion and on to F8

Facebook has so far reduced the cost of getting visitors to your site. In addition it has become easier for these visitors to become members and receive a personalized experience.
Finally Facebook empowers your evangelists to reach more of their friends than was previously possible. Throughout these steps the cost and friction involved with recruiting new members have been substantially reduced.

On September 22nd Facebook will make several announcements at their F8 conference.
Have a look at the livestream to find on how they will change online marketing again.

About Thierry Schellenbach: Co-Founder of Fashiolista.com, author of Django Facebook. Follow me on Twitter or Facebook

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2011/09/21/5-ways-in-which-facebook-redefines-online-marketing/feed/ 0
Fashiolista raises $500,000 from Atomico :) http://www.mellowmorning.com/2011/01/12/fashiolista-raises-500000-from-atomico/ http://www.mellowmorning.com/2011/01/12/fashiolista-raises-500000-from-atomico/#comments Wed, 12 Jan 2011 16:20:49 +0000 tschellenbach http://www.mellowmorning.com/?p=332 Some good news while new code is compiling :)
Champagne moment over here!

TechCrunch – Fashiolista raises funding from Skype founders

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2011/01/12/fashiolista-raises-500000-from-atomico/feed/ 1
Twitter button to pull down the internet? http://www.mellowmorning.com/2010/08/13/twitter-button-to-pull-down-the-internet/ http://www.mellowmorning.com/2010/08/13/twitter-button-to-pull-down-the-internet/#comments Fri, 13 Aug 2010 14:39:10 +0000 tschellenbach http://www.mellowmorning.com/?p=308 I was thrilled to see twitter releasing their own button. This is good news all around for us bloggers looking to promote our content. After looking at their code snippets a warning is in place though. The current twitter button implementation will severely break your site if their servers face load issues. Fortunately you can work around this issues by slightly modifying their implementation.

Technical explanation

For Fashiolista.com we have been writing a lot about the various techniques for implementing these type of buttons. Especially important here is the way the javascript is loaded. Twitter uses a simple blocking script approach, where as digg, facebook and fashiolista use the async dynamic script approach. There are two large differences:

  1. Blocking script loads make your site slower
  2. If twitter goes down, your site joins in

Example

In this example we are faking slow twitter servers. (By routing it through google’s app engine and delaying the response). You can see the difference for yourself (be patient and be sure to clear your browser cache using CTRL F5).

Default twitter version
(note that site content is not loading until the twitter button is loaded)

Async twitter script
(everything loads and then we wait for twitter)

Solution

Solving this is quite simple. Simply change the way the twitter javascript is loaded from the first example to the second version.

Twitter version


<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>

Async twitter implementation

<script type="text/javascript">
  //async script, twitter button fashiolista.com style
  (function() {
   var s = document.createElement('SCRIPT');
   var c = document.getElementsByTagName('script')[0];
   s.type = 'text/javascript';
   s.async = true;
   s.src = 'http://platform.twitter.com/widgets.js';
   c.parentNode.insertBefore(s, c);
  })();
</script>

Hope the difference won’t matter and Twitter will stay up :)

Follow me at:
@tschellenbach

Thanks for spreading the word:
NextWeb

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2010/08/13/twitter-button-to-pull-down-the-internet/feed/ 7
YTM launch!! http://www.mellowmorning.com/2009/12/11/ytm-launch/ http://www.mellowmorning.com/2009/12/11/ytm-launch/#comments Fri, 11 Dec 2009 16:49:51 +0000 tschellenbach http://www.mellowmorning.com/?p=126 No more beta for YouTellMe.nl
The website which is taking over the Dutch product comparison market is officially going out of beta @ 8 o clock.
Party in Amsterdam, Keizersgracht 182 :) Festivities starting right now!

13342_350348980430_784785430_9966158_5558110_n

Things are going well, looking very forward to international launch.
We’ve changed a lot since the first reviews!

13342_350352790430_784785430_9966172_7726367_n

Beter pictures coming after the event :P

PS. Thanks to Python and Django, for enabling us to beat the competition :)

PSS. Next2News, eduhub, come and join :)

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2009/12/11/ytm-launch/feed/ 1
New YouTellMe release http://www.mellowmorning.com/2009/06/08/new-youtellme-release/ http://www.mellowmorning.com/2009/06/08/new-youtellme-release/#comments Mon, 08 Jun 2009 12:29:36 +0000 tschellenbach http://www.mellowmorning.com/?p=98 We have been rolling out some awesome new features at YouTellMe.nl. The new version of the comparison system allows for the most flexible product comparison queries. Furthermore we now fully support product variations with easy selectors during price comparison.

Read the full story (in Dutch)

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2009/06/08/new-youtellme-release/feed/ 0
A new job! – but no Symfony http://www.mellowmorning.com/2008/01/20/a-new-job-but-no-symfony/ http://www.mellowmorning.com/2008/01/20/a-new-job-but-no-symfony/#comments Sun, 20 Jan 2008 22:43:04 +0000 tschellenbach http://www.mellowmorning.com/2008/01/20/a-new-job-but-no-symfony/ Note: We are actively seeking to hire exceptional PHP programmers. More on the job offering at the bottom of this posts.

Zero BubbleAfter one of my posts got featured on Ajaxian many interesting offers hit my mailbox. One of them was actually from a startup right here in Rotterdam called ZeroBubble. I was happily surprised to find an IT startup in Rotterdam. Especially since after talking to them it became clear that they operate at the highest level of technical possibilities and have an absolutely amazing team. Two months ago I happily joined their ranks.

YouTellMe

The project we are working on is called YouTellMe. I don’t want to share too much about it right now, but surely I will have plenty of exciting blog posts coming up in the next months.
Currently we are working with some of the nicest tech on the net. To give some examples: our admin interface is written entirely in ExtJs, the site’s search is powered by Lucene, we use prototype 1.6 for great object extending, for ajax functionality we use yahoo history manager to keep it bookmarkable, the entire site has been optimized according to the Yslow principles and we are doing some interesting things with openSocial. Given all these you can’t help but wonder why we aren’t using Symfony.

Why no Symfony?

Personally I am a huge fan of the Symfony framework. The team at Sensio has done an absolutely amazing job. My opinion on the framework is best described by these blog posts Part1, Part2. However the current project we are working on has some special requirements. First of all the application’s calculations are very harsh on the servers. Combine this with a large amount of AJAX and you have some serious performance issues. The calculation speed has been pretty optimized by a colleague of mine, who wrote a python daemon for the task. Still it is essential to keep the PHP framework’s overhead to a minimum. Prior to my employment at this company it was decided that Symfony would be too slow to handle the task. This is a topic which often nags Symfony.

I am curious how fast Symfony can be. For the YouTellMe site I need a bootstrapped and blazingly fast framework. In the coming weeks I’ll be setting up some tests too see how Symfony compares to our home build framework. As a starters I’ll definitely relieve Symfony from the ORM and fancy routing. From there on I will need to test to see which components are slow and can be removed. The clean and flexible programming in Symfony should make this easy to do.

Our current framework is very lightweight. It even does not do auto loading. I for one have no clue what the speed gain is from not using auto loading and it would also be interesting to test it. The MVC structure is entirely home build, but the rest of the features use Zend.

If there are readers of this blog, which have gone through the process of stripping Symfony, be sure to leave some tips in the comments!

Jobs at ZeroBubble

ZeroBubble is currently recruiting talented PHP programmers in the Rotterdam area. We are located in the Beurs World Trade center. If you are into the latest technology and like to work with great people, software and hardware be sure to email me at thierry [at] zerobubble [dot] nl or my boss at joost [at] zerobubble [dot] nl. As mentioned we work with fun software such as Ext Js, Lucene, Zend, object oriented js with Prototype 1.6, yahoo history, Yslow principles and openSocial.
We are looking for both full and partime PHP programmers. Python, ExtJs, prototype, server admin, subversion and memcached knowledge are all nice extras. As a main quality though, you have to be excited about building a unique and amazing web application.

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2008/01/20/a-new-job-but-no-symfony/feed/ 4
CommentHub.com – Developed with Symfony http://www.mellowmorning.com/2007/11/08/commenthubcom-developed-with-symfony/ http://www.mellowmorning.com/2007/11/08/commenthubcom-developed-with-symfony/#comments Thu, 08 Nov 2007 21:54:02 +0000 tschellenbach http://www.mellowmorning.com/2007/11/08/commenthubcom-developed-with-symfony/ CommentHubCommentHub.com has been developed with Symfony and is currently in Alpha testing. Needless to say it is a great pleasure to use Symfony and new features are being added effortlessly.

CommentHub.com aims to raise the standard in online commenting and make it more social. Commenting has become an important aspect of the internet, however a central system has not been available so far. CommentHub offers a plug and play comment system for your website. Whether it is your blog or any other page, you can add an advanced comment system in a minute. Currently it supports the following features:

  • Fast Ajax commenting
  • Threaded comments
  • Voting on comments
  • Gravatar images
  • Edit capabilities
  • Spam prevention and protection
  • Distinct look for admin comments
  • New comment notification emails for admins
  • Comment RSS Feed
  • Login (to remember email, name and site across websites)

Stronger email integration, personal RSS feeds and social features are all under development. Furthermore the system is already supporting templates. An interface to upload CSS templates will be available soon.

To see the comments in action just scroll down to the bottom of this page. Another example (with more comments) may be found by looking at my previous post.

Currently it is rather bootstrapped and in Alpha testing. To try it out for your website you can register for a webmaster account here (Enter mellow as your invitation code). The product is still under heavy development. Feature request, bug reports and comments are more than welcome.

To have a sneak peak at how easy the implementation actually is, view getting started with CommentHub. Plugins for major blogging systems will soon be available. (If anyone feels like contributing some plugins, it would be greatly appreciated.)

Thanks to Symfony for making the development such a pleasure.

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2007/11/08/commenthubcom-developed-with-symfony/feed/ 1
How the Rubicon Project is innovating Google’s online advertising business http://www.mellowmorning.com/2007/10/08/how-the-rubicon-project-is-innovating-googles-online-advertising-business/ http://www.mellowmorning.com/2007/10/08/how-the-rubicon-project-is-innovating-googles-online-advertising-business/#comments Mon, 08 Oct 2007 22:01:15 +0000 tschellenbach http://www.mellowmorning.com/2007/10/08/how-the-rubicon-project-is-innovating-googles-online-advertising-business/ Update: In the comments the founder of the Rubicon Project indicated that they will not be working directly with advertisers. My misperception was based on the TechCrunch write-up. The article below is based on the assumption that they would approach both sides of the problem. Since this is not the case, take this into account when reading the post.

Rubicon

The Rubicon Project is by far the most promising, exciting and revolutionizing startup of the moment. Their business has the potential to completely change the entire web-advertising industry.
They are trying to become an intermediary (of intermediaries) by offering:

  • Publishers: automated ad revenue optimization between networks
  • Advertisers: a central point to setup online advertising (wrong)

They display it in a graphical way in their beta overview video.

Rubicon Industry Value Chain Position

The Changing Industry

An intermediary like Rubicon profoundly changes the competitive landscape for ad networks such as Google Adsense.

Currently startups in the ad network business face a so called chicken and egg problem. Even if you have a technically great product, you will still need advertisers to get publishers and vice-versa. The advertising and sales efforts required in this industry are substantial and present a major obstacle for new companies to enter the market.

Now imagine a new market where Rubicon is the intermediary. Any new advertising network could instantly get its product of the ground by joining Rubicon. No longer are millions in capital needed for sales and promotion. When a startup is able to outperform the market incumbents, in terms of matching advertisements with visitors, it has its road to success paved. Not only does this benefit those startups, it also gives Rubicon’s clients access to the best performing advertising solutions.

Google was the first to get the match between ads and viewers somewhat right. Eager to be next in line seems to be the currently hyped Facebook, with its personalized advertising. My impression is that the current solutions are tremendously under-performing. When an intermediary, be it Rubicon, establishes a position for themselves, innovation in online advertising will boom.

An intermediary like Rubicon changes the balance between required core competences for ad networks. The focus moves from sales&marketing to clever algorithms, extensive data and intelligent models to match the advertisements with the viewers. The market’s changes effectively open up this 27 billion industry to a far larger array of entrepreneurs.

Google’s Perspective

Rubicon effectively lowers the barriers to entry into this Google Adsense dominated market. In the new market situation it will be harder for Google to stay ahead of its competition. This fact makes you wonder, will Google move to the Rubicon position or remain where it is. Or in other words, will it defend its sales competence or its ability to match visitors with advertisements?

If Rubicon succeeds we will soon have some very interesting entrepreneurial possibilities ahead. I certainly wish them the best of luck. Given the experience and progress of the founding team, I think they have a good shot.

@Frank, Good luck starting your sixth company!

Recommended Readings:

Techcrunch coverage of Rubicon

Rubicon about page

Blog of Frank Addante (I subscribed to it, great readings)

http://www.founderblog.com/2007/10/what-is-rubicon-project-part-ii-solving.html

http://www.founderblog.com/2007/10/what-is-rubicon-project.html

Rubicon beta overview video

Share and Enjoy: Digg Sphinn del.icio.us Facebook Mixx Google

]]>
http://www.mellowmorning.com/2007/10/08/how-the-rubicon-project-is-innovating-googles-online-advertising-business/feed/ 6