ReadWriteWeb

Sweetcron: Your Lifestream on Your Server

Written by Frederic Lardinois / August 28, 2008 10:43 AM / 32 Comments

sweetcron_logo_aug08.pngWe were pretty excited when we first heard about Sweetcron, a self-hosted lifestreaming application developed by Yongfook. Today, after a bit of a delay, Sweetcron has finally released its software and we immediately downloaded and installed it ourselves. While it is still pretty barebone, Sweetcron represents a great solution for those who don't necessarily want to participate in the discussions on Friendfeed, but still would like to set up a lifestream.

Installation

sweetcron_install.jpgSweetcron is a self-hosted service, so you will need access to a server with PHP and MySQL running on it. After downloading the code, the install is pretty typical for that of self-hosted application. It's a bit more complicated than installing Wordpress or OpenTape, because you have to enter your data in numerous places and you have to edit your .htaccess when you want to install Sweetcron in a sub-directory.However, if you just follow the steps in the documentation, you should be able to install Sweetcron in less than 10 minutes.

After this, you just start adding your RSS feeds, and you are ready to go.

Final Result

The lifestream itself looks and works just like you would expect it, with a number of little surprises. One of the nicest features of Sweetcron is that it can format every new entry according to where it came from. A digg item, for example, gets a blue background, a Flickr items shows the photo on a green background with the caption underneath, and Twitter posts show in a blue box with your avatar in the top left corner (as long as you uploaded your avatar into the right spot in Sweetcron's directory structure).

By default, Sweetcron updates your stream every 30 minutes, but you can also set the cron service on your server to update more frequently.

You can write your own posts in Sweetcron as well, but the editor doesn't handle anything else but pure text and HTML code.

sweetcron_sshot1.jpg

Bring Your Own Services

As of now, Sweetcron only creates your lifestream - if you want to add comments, Sweetcron recommends you install Disqus, and if you want to have a contact form on your site, it recommends you head over to wufoo to create one.

The two default themes are nice, especially the "Boxy but Good" one you can see in the screenshots here. Over time, others will surely start developing more themes and hacking the existing themes doesn't seem too hard.

Verdict

Sweetcron does exactly what it promises to do. It is important to note, though, that this is not a Friendfeed-in-a-box type service. Your lifestream stands completely separate from every other Sweetcron service (though you could create a master feed for a group by patching all the RSS feeds together and running them through another Sweetcron installation).

For those who just want to have a lifestream on their blog, for example, Sweetcron is a great solution, especially if you don't mind hacking Sweetcron to fit your own needs.

There are, of course, various other self-hosted applications that have a similar feature set (see Mark Krysnky's list here), and many of them come as Wordpress plugins, making their installation very easy. Few, though, give you the flexibility of Sweetcron.


Comments

Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts

  1. I was pretty surprised at how easy it was to get this up and running.

    Posted by: Sheraz Mahmood | August 28, 2008 11:35 AM



  2. slow to the punch but thanks for covering this great app :)

    Posted by: sean percival Posted on FriendFeed   | August 28, 2008 11:59 AM



  3. I've been following the progress of this project for quite a while.

    Finally, I'll have the chance to install and theme it!

    Posted by: Jerome Gravel-Niquet | August 28, 2008 12:04 PM



  4. Really? After 15 minutes of trying about 80 or so different feeds, I was able to get 10 imported. It won't import Google Reader items at all, and throws a database error about it (because it's not actually sanitizing the queries to the database). You can't change your password, you can't have a username less than 5 characters (why?), the boxy theme uses his own face (instead of my avatar). It is incredibly rough. This is like alpha quality software.

    Posted by: Mark Trapp Posted on FriendFeed   | August 28, 2008 12:23 PM



  5. There's a similar project on Ruby on Rails - http://aintablog.com

    Posted by: Nikolay Kolev Posted on FriendFeed   | August 28, 2008 12:37 PM



  6. @Mark Trapp - All you have to do to change the avatar is upload a photo of yourself at about 28x28 named me.jpg to /system/application/views/themes/boxy_but_good/images

    It is an early version of the software but all of your data is being stored in your own database. A lot can be done with that.

    Posted by: Kim Woodbridge | August 28, 2008 12:58 PM



  7. @mark - you can change the icon by uploading your own - as I said in the review, it's pretty stripped down still - didn't notice the problem with Google Reader - that's indeed a bummer

    Posted by: Frederic Posted on FriendFeed   | August 28, 2008 1:12 PM



  8. Why reinvent the wheel? It'd be much better (and easier) to let FF do the aggregation for you (you can even set your feed as private) - and then plug it on your site however you feel like using either the API or your own FF feed.

    Posted by: Aviv Posted on FriendFeed   | August 28, 2008 1:18 PM



  9. But Aviv, Sweetcron's got themes! :-P

    Posted by: Mark Trapp Posted on FriendFeed   | August 28, 2008 1:26 PM



  10. Someone should come up with a simple self-hosted product that enables you to republish your own FF feed with a whole bunch of customizable options, themes, etc. Doesn't even have to be self-hosted - just a more advanced embeddable badges/widgets.

    Posted by: Aviv Posted on FriendFeed   | August 28, 2008 1:29 PM



  11. Aviv, it's actually been done for Drupal: there's a fully themeable FriendFeed module, and of course Drupal is fully customizable. A vanilla install of Drupal and the FriendFeed module is light-years ahead of this. But people fear Drupal.

    Posted by: Mark Trapp Posted on FriendFeed   | August 28, 2008 1:32 PM



  12. Forget that even. Think about it - offer the user the ability to customize the page similar to how they can do on Tumblr.com - and let them pull the whole thing. Can't get any simpler than that.

    Posted by: Aviv Posted on FriendFeed   | August 28, 2008 1:33 PM



  13. @Mark - I know Drupal like my mother's face at this point.

    Posted by: Ben Parr Posted on FriendFeed   | August 28, 2008 1:34 PM



  14. It's a start, but considering how long he took to release it - you'd think it would be a little less rough around the edges.

     Posted by: Zee Author Profile Page | August 28, 2008 1:36 PM



  15. Either way, Sweetcron is taking the wrong approach IMO. Use FF (or clones of) as the backend - a platform - and let it do the heavy lifting for you, at which point all you're left to do is taking the feed and generating your very own pretty customized page.

    Posted by: Aviv Posted on FriendFeed   | August 28, 2008 1:38 PM



  16. Aviv, I'm sure the impetus for self-hosting all the data is the misguided idea that you're really going to be left out in the cold if FriendFeed goes down. 1) What you're life streaming is not that important, get over it, and 2) Your site is more likely to go down before FriendFeed. Thinking about it, I could see some use for internal, private lifestreams: to keep track of employees on various web services for projects and things, but even in that case, there are products already out that are far more robust than Sweetcron.

    Posted by: Mark Trapp Posted on FriendFeed   | August 28, 2008 1:41 PM



  17. Too busy for me! Hard for me to focus on one thing with all those different boxes.

    Posted by: Evangeline Posted on FriendFeed   | August 28, 2008 1:42 PM



  18. Mark, I totally agree. The value is in creating the customizable feed - imagine @Mona creating a gorgeous stream of all her FF likes. Or even better - being able to further filter out stuff - like minimum of 15 comments, or only week old items. That's a page you might actually prefer to visit in.. your web browser as opposed to the FF raw feed - it's pretty, it's refreshing, it's different, it's Mona's mood that dictated that theme, etc.

    Posted by: Aviv Posted on FriendFeed   | August 28, 2008 1:46 PM



  19. Running through the logic of this in my head, this is pretty easy to implement in a quickly deployable manner. Maybe I'll bust this out over the long weekend.

    Posted by: Mark Trapp Posted on FriendFeed   | August 28, 2008 2:01 PM



  20. Why do they use deceptive marketing? You have to enter the email to download it.
    But then you will find out there's no download! (after you confirmed to their "subscription")
    It will be sometime in the future but why not tell people right from the start??

    Posted by: Mircea | August 28, 2008 2:36 PM



  21. Very well implemented, I'm still waiting for Yongfook's "Gum" approach to analytic services.

    Posted by: Ashraf Mansoor Posted on FriendFeed   | August 28, 2008 4:44 PM



  22. Yeah, after a while I got the link to download...

    Posted by: Mircea | August 28, 2008 5:47 PM



  23. Mark Trapp > I'd be careful about spreading disinformation.

    1) Everything that goes into the db is escaped if it needs to be. Period. See the DB class in system/libraries if you are more curious about this.

    2) The Google Reader import is now fixed in the latest version. You downloaded the very first version of a beta project - don't get too upset that it didn't work exactly as you wanted first time round.

    Mircea > this isn't "deceptive". After you sign up you should receive an email detailing where to download and where to get support. This is done to filter out casual passers by from the people who actually really want it - the project is still in beta so I'd rather be involved with a small community of people who care about the project, rather than a massive community of casual users.

    And to all, there is no "they", there is no big conspiracy.

    Sweetcron is run by one person - me. It's a one man, open source project. So please for the cutting of the slack, kthx.

    Posted by: yongfook | August 28, 2008 5:49 PM



  24. Aviv > the problem with that approach is that nothing gets stored.

    It's fine if you just want to create a one-page lifestream on your site, but what if you want to be able to browse your entire lifestream archive on your site? Would you suggest writing some code that keeps hitting the Friendfeed API at run-time every time someone clicks "next page"?

    Your response will be "well then you need to use the API to put stuff into a local database".

    Aaaaand that's where Sweetcron comes in.

    :)

    Posted by: yongfook | August 28, 2008 5:54 PM



  25. The releases have been coming, it's up to 1.6 already, so the issues that existed have been addressed (some). I'm very happy to embark on a journey where my digital social life is in MY HOUSE, not someone elses. If there's downtime, it's mine, not theirs. I'd gladly pay for this app.

    To be spammy for a moment, this isn't a theme, but my Sweetcron install is fairly custom: http://rezzing.tv

    Posted by: Eric Rice | August 28, 2008 11:21 PM



  26. It's a great app with significant potential. Most importantly, the core architecture is wonderful. Considering that it was just released, I find it to be quite useful.

    Posted by: mushmoosh | August 29, 2008 2:19 AM



  27. @yongfook
    It took a while until the download link came. And it's always good to warn people before collecting the emails what to expect.
    As you see, I already tested the application myself and wrote about it on my blog.

    Keep up the good work!

    Posted by: Mircea | August 29, 2008 2:24 AM



  28. yongfook: escaping isn't the same thing as sanitizing. The code, as of 1.05, makes direct queries to the database even if the query will result in failure. That is a huge problem. You need to be checking the data *before* making the query. Proof of this: adding a Google Reader feed in 1.05 results in the following error:

    Column 'feed_domain' cannot be null

    INSERT INTO `feeds` (`feed_title`, `feed_icon`, `feed_url`, `feed_status`, `feed_domain`) VALUES ('Mark\'s shared items in Google Reader', 'http:///favicon.ico', 'http://google.com/reader/shared/15587460195403900234', 'active', NULL)

    If you actually started to sanitize queries after 1.05, great! But to say this software was even close to a 1.0 release is really stretching the terms of release-quality software.

    Posted by: Mark Trapp | August 29, 2008 9:38 AM



  29. We are trying it out in the office because it helps answer some pretty important questions such as what will blogs look like in the future and does a digital business need a corporate website?

    Posted by: John Welsh | August 29, 2008 4:38 PM



  30. Mark Trapp/Aviv:

    First of all, this started as a pre-release bit of code that Yongfook was kind enough to release to the intrepid folks who didn't care to use a blogging/cms platform to capture their digital life. Enough people commented on this personal project, so he made it available (a la Sweetcron) to the people that wanted it. No claims are made of this being perfect-for-you-final-release software, in fact, it is OSS, and as you already found out, it is pretty easy to follow in his code to make any modifications you desire.

    I'd completely understand if he was charging for something like this to have the complaints of this being rough around the edges, etc, but holy crap, he provides api documentation, a lively google groups discussion, and is himself active on these discussion groups with adding more features, fixing items (it is beta, remember), or just helping the growing legion of users to add their own PLUGINS, THEMES, FIXES, etc.

    Forgive me if this is out of place of me to defend this project, but I personally found this project to be perfect (heck, I'm one of the ones who used his pre-Sweetcron code for my own site -- in the process of converting over to Sweetcron now).

    I know we're all entitled to our opinions and thoughts, so I'm not saying you are wrong, or what not, just explaining what this project is all about.

    Cheers!

    Posted by: seth | August 31, 2008 6:12 AM



  31. I don't understand the bashing going on here.
    It's beta and it's open source. If you don't want it, don't use it.

    I wanted it, I use it and I like it. Moreover I'm not alone in that.

    I don't like friendfeed and I don't like twitter but I don't go around slamming them. I just don't use them.

    Posted by: rpcutts | August 31, 2008 8:28 AM



  32. Just thought I'd point out that the sanitisation issue Mark Trapp highlighted above was fixed a while back.

    the technobabble reason it existed was feed_domain was being constructed from a feed's permalink tag, a tag which I have now found that not all web services (cough *google*) bother to populate.

    anyway, that's why this is a free, community-driven open source project. it was spotted by the community and closed pretty much within the hour and an update was released accordingly.

    kthxbai!

    Posted by: yongfook | September 8, 2008 6:37 AM



RWW SPONSORS


FOLLOW @RWW ON TWITTER

ReadWriteWeb on Facebook



TEXT LINK ADS