Archive for February, 2010

TechCrunch.com & Mashable.com shout about Hollrr!

Thursday, February 25th, 2010

mashable_logoTechCrunch.com logo

What a week! One of the applications Applicake designed and built – Hollrr.com has been recently getting a lot of press. As we’re responsible for current maintenance and development of Hollrr too, it was both an exciting and a *stressful* time for us. We observed incredible traffic peaks – first because of TechCrunch.com and from Mashable only a few days later. Expect a post about how to handle such traffic in the next weeks – we definitely learnt a lot!

hollrr-logo

So what did they say?

“We like that Hollrr easily integrates with other services and that you can easily re-Hollrr stuff. We also like the idea of earning badges.” (Mashable)

“The promise of social recommendation sites has been alluring for years. What’s not to like? Friends share neat products and services with each other, and online retailers sell more stuff in the process. But despite this appeal, there still aren’t any recommendation services that have hit critical mass. Today, a young startup called Hollrr is releasing some features that it hopes will help it crack the social product recommendation nut.” (TechCrunch)

Hollrr badge

Did you know that  Gary Vaynerchuk author of the best-selling book “Crush It” (@garyvee on Twitter) is using Hollrr, too?

Congratulations to the Hollrr team in the US!

We’d like to wish ourselves…

Wednesday, February 24th, 2010

Well, it’s been a while since we shot it (Applicake turned three in November 2009) but… here it is –  a funny movie we made at Applicake’s birthday party!

How to speed up your website?

Thursday, February 11th, 2010

There are many techniques you can use to speed up your site. Below some tricks we used on Applicake site. Hope you’ll find them valuable :)

Image optimization

First thing is pretty obvious: you shouldn’t use too many images in your layout as they increase page load time. Not to mention Flash that generally sucks ;)

So before you upload an image on a server think about optimizing it. In many cases you don’t need full quality images. Try to compress them (decrease image resolution, depth etc.) in graphic editor and check how it affects size of a file. Finding the right balance between filesize and quality is the key.

Amazon Simple Storage Service (Amazon S3)

Amazon S3 is a fast and stable storage service. You should think about moving your static content (especially images and videos) to Amazon S3. So signup, get your access keys, create your own bucket (folder with your content on Amazon server) and upload stuff. Amazon S3 Firefox Organizer is an easy solution for organizing and managing files on Amazon S3.

You can also move your stylesheets and javascripts, so basically your whole public directory, to the Amazon bucket. When you do that remember to change your asset host in the environment configuration file because it’s no longer your public folder on the current host.

config.action_controller.asset_host
  = "http://assets.your_bucket_name.s3.amazonaws.com"

Also be careful with keeping the bucket up-to-date during deployment.

Image upload

Paperclip is a pretty cool file attachment library. To upload files directly to Amazon S3 you need to install right-aws gem. In every Model file which has an image attachment add few more lines to indicate new storage.

has_attached_file :your_name,
  :styles => { your_styles },
  :storage => :s3,
  :s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml",
  :bucket => 'assets.your_bucket_name.com',
  :path => "system/:attachment/:id/:style/:basename.:extension"

Create amazon_s3.yml config file and fill it with your access keys.

production:
  bucket_name: assets.your_asset.com
  access_key_id: your_access_key_id
  secret_access_key: your_access_key

Wordpress plugin

Wordpress is a great publishing platform. You can upload files via Wordpress admin panel directly to your bucket on Amazon S3 using this plugin.

Delayed image loading

There is no need to load all of images (including these which are not visible until an user scrolls down the page). It’s much better to load only these which are needed to make a site complete in a browser first. You can do it with Javascript of course. The easiest way is to use a plugin. You can use lazierLoad which works with Prototype.

Caching

There are different types of caching. You can cache whole sites, particular actions or just fragments of pages. Take a look at this guide to get an overview: Caching with Rails

You can start by caching stylesheets and javascripts. First, make sure that config.action_controller.perform_caching is set to “true” for your environment (as below)

config.action_controller.perform_caching = true

In Rails it’s easy to cache all stylesheet files into one file.

stylesheet_link_tag :all, :cache => true

You can do the same with Javascript files.

javascript_include_tag :all, :cache => true

To do some more advanced caching consider using Memcached as your cache store. Just type:

config.cache_store = :mem_cache_store

in the environment config file.

Let’s say you want to cache your last 3 tweets on a home page as there is no need to connect to Twitter API each time you want to display them. You can cache them and refresh every hour. So write in your home_controller (index action):

@twitter_statuses = []
cache = ActiveSupport::Cache::MemCacheStore.new
if cache.read('twitts') != nil
  @twitter_statuses = cache.read('twitts')
else
  begin
    url = 'http://twitter.com/statuses/user_timeline/user_name.json?count=3'
    json = Net::HTTP.get_response(URI.parse(url)).body
    data = (JSON.parse json)

    data.each do |ele|
      @twitter_statuses << { :created_at => ele['created_at'],
                                           :text => ele['text'],
                                           :id => ele['id']}
    end

    cache.write('twitts', @twitter_statuses, :expires_in => 3600.seconds)
  rescue #if Twitter API is down
    #@twitter_statuses = []
    #do not cache
  end
end

And that’s it :)

Breaking news: Will_paginate Guy & a secret special guest at OpenRailsTalk – this Wednesday at Applicake

Tuesday, February 9th, 2010

Who: Mislav Marohnić

Mislav talking at Euruko conference

We think we don’t have to introduce Mislav to any Ruby geek,
so lets make it a formality:

Mislav is probably best known for his will_paginate gem,
the most commonly used pagination solution in the Ruby world.
His other well known projects include Endless Tweets, Hanna and Contacts.
He is a Rails Core Contributor and has also contributed to Prototype, Haml and Thor.

Topic of the Speech: ‘Creating, maintaining and managing a successful open source project’

When: Wednesday, 10th February 2010 at 6 pm CET

Where: Applicake Hq
5 Curie-Sklodowskiej Street No. 3b
Krakow

Bonus: A super secret guest invited by Mislav!
(He hasn’t told anyone who is it going to be yet so we don’t know either. All we know they are not from Europe).

Please send an email to railstalk@applicake.com if you want to drop by. OpenRailsTalk will take place in our office and we have a limited number of seats (and coffee cups!) available. See you soon! :)

Top 10 blogs read at Applicake HQ

Tuesday, February 2nd, 2010

We love prowling the web for new ideas, inspiration and latest trends. But as the blogosphere is growing fast, new blogs are being created every single minute and staying up-to-date on what’s new might be a tough task.

There are lots and lots of lists and compilations of the most popular blogs made to guide you through tons of information. So we made our list,  too. Here are the 10 most popular blogs Applicakers read. Most of them are related to web design and web development but you’ll find some inspirational blogs as well.

Smashing Magazine

One of the best-rated web design and inspirational blogs. It gives information on the latest trends and techniques in web development. It’s always full of great content and is a good resource for all web and graphic designers.

http://abduzeedo.com/

Abduzeedo is another brilliant blog about design. It’s featured on almost all lists of great web design blogs. Updated daily with great knowledge and inspiration, it covers everything from Photoshop techniques, design tutorials, design trends, news and events and anything design related. It’s a must-read for anyone interested in art and design.

techcrunch

Yes, you must have heard of TechCrunch. It’s one of the most influential technology-focused blogs. A perfect source of news relating to the new web and keeping you up with the latest technology.

37signals

Signal vs. Noise is a great web design / usability / business blog by 37signals where all team members publish their thoughts on the web, design, business, experience, simplicity and culture.

carsonified

Think Vitamin by Carsonified is a blog about web design, web development and web entrepreneurship. It has very nice design and deep-in content.

webdesinerdepot

Webdesigner Depot is a relatively new resource blog for web designers. It delivers useful and innovative information on all fields of design (typography, Photoshop tutorials, coding, etc.)

zenhabits

A great inspirational blog created by Leo Babauta, one of the most popular life improvement bloggers. His blog features simple but effective habit change techniques and delivers a great piece of advice on how you can improve and simplify your life.

csstricks

CSS-Tricks is a web design/development community site established by Chris Coyier. On his blog he shares great information about CSS and more webdevelopment techniques. There is always a bunch of tricks, tips and tutorials on using CSS.

gizmodo

It’s a tech blog frequently updated with the most up-to-date and interesting news on latest gadgets, IT and innovation.

railscast

Ruby on Rails screencasts. Ok, it’s not a real blog but still it’s worth mentioning on our top-ten list since everyone at Applicake is addicted to it and we use Railscasts a lot at our weekly tech meetings -  RailsTalks ; -).

‘Agata dancing’ OR ‘Our secret ingredient is the FUN FACTOR’

Monday, February 1st, 2010

Agata is a Project Manager at Applicake. She’s a Ruby on Rails developer too. And an avid skier. But there’s more, something we did not know about her. AGATA is a D-A-N-C-E-R ! Check out Agata’s latest video from her time off in Italy! (she’s the one in the front ;-) .

UPDATE: My (Ela’s) conversation with a prospect over Skype:
him: ok, i saw your ski video, you are weird people. Zappos core value nr 3.
me: ; -) I told ya
me: think outside the box, right?
him: right, even if that was waaaay outside
me: ; -)