Benoit Tremblay - the web, what matters. Simple.

quote bar

Where’s the magic now?

December 7th, 2009
Blog, twitter, Facebook, now what?

Blog, Twitter, Facebook: Now, where's the magic?

Building Websites: Theory Vs What Matters

December 6th, 2009
Is your website worth visiting?

Is your website worth visiting?

3 Open Source Alternatives to Traditional PHP e-commerce Solutions

November 5th, 2009

purchase

I’ve been evaluating a lot of e-commerce solutions lately for a particular project I’m working on and I’m really disappointed by the open source offering in general: most e-commerce solutions out there are just heavy and/or a total mess to customize.

Because we’re talking open source here, most platforms are built using php. I wouldn’t say that the reason they ended up this way (messy) is because they were built using php, but for me it was a great opportunity to look for other e-commerce solutions built using newer programming languages like Ruby and Python.

This quest for e-commerce solutions built with new technologies and best practices in mind led me to a couple of very promising platforms built with Ruby on Rails or Python Django.

I’m not going to review the solutions in this post as my goal is only to raise the awareness about the simple fact that if you’re not satisfied with the current classic php platforms like OSCommerce, X-Cart or Magento, there are some decent alternatives.

Let’s have a look.

Spree shopping cart

spree

I have to admit that so far, Spree is my favorite solution. It’s built using the popular Web framework Ruby on Rails and it’s very lightweight and clean. One could argue that it’s lightweight because it’s still missing a lot of features most php carts have, but it’s actually pretty complete for such a young product. You can have a quick look at the features list here.

Among the features, you will find localization, extensible design, use of css frameworks, custom tax and shipping rules, advanced product categories, SEO friendly, one page checkout and many others.

Another great thing with this solution is the community. Like any open source project, one of the most important aspect is the community support and also plugins built by this community. No problems for Spree, it delivers. There’s an active discussion board and also an extension repository with around 40 extensions ready for download and installation.

Visit the project’s website or have a look at the demo, it’s worth a look.

I haven’t tested spree yet in a production environment, but so far I’m impressed by what I see in my development environment.

Substruct

Substruct is another interesting alternative based on Ruby on Rails, but it is not as complete as Spree shopping cart. The project is hosted on Google Code and while that’s absolutely fine with me, the problem is that the project doesn’t have its own central website (with extensions, basic information, support, etc.) like Spree. It’s not as mature as Spree is.

If you have a quick look at the demo admin section, you’ll also find out that there are a lot of features missing and that it might be a problem to build a decent e-commerce website with all the functionalities you would expect.

substruct_admin

For very simple needs though, it could end up being a very lightweight and easy to maintain solution.

For more information (download, demo, support), visit the project’s Google Code page here.

Satchmo

satchmo

Satchmo is the third non-php e-commerce platform I’d like to cover. Unlike the other two solutions, Satchmo is built using the popular Python Web framework, Django.

I’ve heard a lot of good things about satchmo, but it’s a little bit painful to set up for the first time as you need quite a lot of dependencies. Usually I wouldn’t bother too much about that aspect as once your initial setup is all set, you’re good to go, but it could end up being a problem.

The problem here is that because of all the required dependencies, I would be worried about deploying this in a production environement on a traditional shared hosting. Feel free to have a look at the impressive requirements list.

The requirements might be impressive and the whole thing not that polished, but the feature list is pretty interesting. Among the features, there are some you won’t find in a lot of e-commerce platforms like support for downloadable and subscription products, support for rating and comments, related products suggestions and many more. Feel free to have a look at the features list for more information.

Conclusion

As mentionned earlier, this post was definitely not a review of every e-commerce solution out there: it’s more of a reminder that there might be some pretty good solutions that aren’t built using php.

I love php, but the code base of e-commerce platforms using php usually end up being really messy. In fact, it’s not just the case for e-commerce platforms.

Newer programming languages like Ruby and Python offer a lot of advantages over php and it’s definitely worth considering these newer languages for your next projects, being e-commerce or not.

34 best practices for speeding up your website

October 23rd, 2009

yahoo_website_fast

Thanks to @kinaze on twitter for discovering (or letting me know about) that one.

The Yahoo Developer Network have released a short guide on the best practices for speeding up your website. It is divided in seven categories and contains 34 great tips to make your pages load faster and improve user experience.

There are some good tips in the guide and every web developer (or website owner) should have a look at it.

Here’s the guide: Best Practices for Speeding Up Your Web Site

If I’d asked my customers what they wanted, they’d have said a faster horse

October 20th, 2009

There is a great quote from Henry Ford on the first car he built:

If I’d asked my customers what they wanted, they’d have said a faster horse

It is by far one of my favorite quote as it relates very well to the Internet industry and the whole customer-business relationship. It’s easy to take it very seriously and to think that what Ford meant with this quote is to ignore your customers and just do what you think is right, but it actually goes deeper.

I’m pretty sure that if Ford had asked his customers what they wanted, they’d have said something like faster horses and the reason is fairly simple: they couldn’t imagine anything else.

In fact, they didn’t want faster horses, they wanted a faster personal transportation method. It’s as simple as that. For Henry Ford, achieving this goal was absolutely impossible with a horse, so he came up with the idea of building a car that everybody could afford. Nobody knew they needed a car before they saw the Model-T (and knew they could afford it).

Twitter anybody? Twitter is the tool you never knew you needed before you had it: nobody wakes up in the morning with the needs for a tool like twitter, but the aggregation of different persons communication needs eventually led to the creation of twitter.

Twitter is the first obvious one that came to my mind, we can find plenty of other examples.

Customer needs on the web

How is this all related to customers needs on the Internet and to the whole customer-business relationship (note that the term customer is used in a very large context and can be your website’s visitors, readers, the people you build websites for, etc.)?

In fact it’s very simple:

Users will ask for tons of very precise features and it’s important to understand that they ask these features because it’s hard for them to think outside the constraints your product, website or service impose them.

What’s really important is to understand what lies behind these requests.

Do your website’s visitors ask for a certain feature because they simply want more exposure (egosystem)? In this case, you might think of a better or different idea than the feature they’re asking for. A feature that really answer their need and that is not limited by the external view users have on your product.

Do the customer you’re consulting for wants a certain feature on his website just to better communicate with his potential clients? If so, what the customer want is to better communicate: the feature he’s asking for might not be the best solution.

Innovation and feedback

The problem when you innovate and do things according to core customers needs and not feature requests is that you have no clue how it’s going to be received. That’s why you need feedback.

I posted a talk by Kevin Rose last week, and he said the worst thing you can do as a website owner is to pretend you really understand what your visitors want. To avoid this problem, he recommends to build features very quickly, release them and then test (feedback).

All in all, I guess the key is to act according to core customer needs (not feature requests) and put in place a good feedback loop so you can react quickly and make good decisions. Agree?

Kevin Rose on taking your site from one to a million users

October 11th, 2009

I got that one from Problogger today and I think it’s worth sharing. It’s a talk Kevin Rose gave at fowa (future of web apps) in which he’s sharing some tips on taking your site/web app from one to a million users. You know, kinda useful.

If you don’t know who Kevin Rose is, he’s the founder of the popular site Digg.

Honestly, it’s not rocket science, but I really liked the part where he talked about hacking the press, getting some coverage from big news networks (WallStreet journal, TechCrunch, etc.), using events to demo your product and getting influencers to talk about you.

Whether you build web apps, websites or blogs, there are surely some useful tips you can get from this talk.

Enjoy.

Taking your Site from One to One Million Users by Kevin Rose from Carsonified on Vimeo.

80legs and democratizing web crawling: It’s game-changing

September 30th, 2009

80 Legs logo

I read a post about 80Legs today on Mashable and the only words that came to my mind when I read the article was “they’re changing the game”. They are. Here’s what they do:

80Legs is a service platform for web crawling and processing web content. We put over 50,000 computers to work for you to deliver exceptional crawling performance at incredibly low costs. Our service is easy to use and completely customizable, so you can crawl and process web content however you want, whenever you want.

To summarize: you get your very own web crawler at a more than affordable price: 2.00$ / million pages crawled.

Why it’s game changing

Web crawling is a very complex and expensive process: crawling a web page, extracting content and scale the process to million of pages is far from being trivial and cheap. You not only need to build your crawler or use an existing one, you must have the infrastructure in place to support it all.

Now, anybody willing to build a niche search engine, extract specific information from a series of websites or build any web app involving crawling the Web at a large scale can do it at an affordable cost, without much technical knowledge.

It’s not 80Legs that’s game-changing, it’s the whole concept of democratizing web crawling and giving a chance to anybody with a great idea but without the money or the technical skills, to just make it happen.

It’s similar to blogging: it’s not about the platform you use (WordPress, blogger, TypePad, etc), it’s the fact that anybody can now have a voice and have an impact. Platforms die, ideas don’t.

It’s dead simple

I don’t want to talk too much about 80Legs because I haven’t really tested it (except creating an account and playing around) and I don’t like talking about stuff I haven’t tested, but it really looks dead simple. The process may look simple, but yet it seems to offer some decent advanced features.

webinterface80legs

I won’t go too much into details, but it allows a lot of customization so you can extract the information you want. Of course, you will need some technical knowledge if you want to use the crawled data and build a web app around it, but the hard part involving scaling issues is covered by a tool like 80Legs.

Spam is now more affordable than ever

As much as I’m enthusiast about democratizing Web crawling, there’s a huge downside: spam and content scrapping is now more affordable than ever. It’s an easy way for amateur spammers to build email lists by crawling websites and extracting email addresses. I’m sure we can find dozen of other spamming issues, but I much prefer to focus on the positive aspects.

Overall, the concept is extremely interesting and anybody willing to build a web app involving web crawling should be looking into this.

10 important considerations when choosing the right CMS

September 30th, 2009

cms

Choosing the right CMS is a complex and long process, mainly because of the hundreds of CMS out there that promise they’ll change the way you do business online and that they’ll make your life so much easier.

Fair enough, but the vast majority of CMS don’t even deserve your attention, that’s as simple as that. I hear you: how can all these CMS survive if they don’t deserve my attention? Well, that’s quite simple: not knowing the important considerations when choosing a CMS leads to adopting a CMS that doesn’t fit your needs and then you have to stick with it because the cost of changing platform is too important.

On top of that, we have to face people obsessed by a single CMS like Wordpress. This is dangerous because different CMS are required for different kind of websites. Take Wordpress for example: it’s great for building blogs, but for building a multilingual corporate website, it’s definitely not the right tool. If you are obsessed by Wordpress, I know what you’re thinking at this very moment: “Yes, but what about this or this plugin to give you this or this functionality”. I say native support is way better than most plugin.

So, what are the important considerations when choosing a CMS?

1. What you need and what you’ll need

The first thing you should do is write down the feature set and functionalities you need right now and what you’ll need. What you’ll need is the game, not what you need.

plant

What you’ll need is definitely the most important aspect in choosing a CMS because a web project is always in development. It’s important to think about the next phases of your project as you don’t want to invest a lot of money in building features you knew right from the start you were going to need.

2. Multilingual support

If a you need to support multiple languages, it’s important to consider it from the start. If multilingual support is really important to your business, you want a CMS that support it natively, not by installing some third party plugin. CMS that support multiple languages natively are usually way better than any third party plugin you’ll install.

It’s important to be able to translate the content you write easily, but it should also be easy to translate the “static” part of the website like menus without having to touch the core files of the CMS.

The same goes with the backend of the CMS. Some CMS will offer a multilingual backend and it could turn out to be very important for your business if the people in charge of your website aren’t English native speakers.

3. SEO optimization

seo

We should never have to rely on search traffic, but search engines are there and bring traffic, so it would be stupid to ignore them. Even though the vast majority of CMS are getting better and better at this, you want a CMS that will let you:

  • Rewrite URLs to get search engine friendly URLs
  • Full control over the titles of the pages or articles
  • Full control over the keywords and description meta tags (even though it won’t affect your ranking, you want control over these tags)
  • Auto generated code is XHTML compliant as much as possible
  • Automatic sitemap generation

A CMS that cover these aspects will at least ensure that your website is search engine friendly and that it follows the basic SEO guidelines.

4. User friendliness

wysiwyg

Depending who is going to use the CMS to generate the content, this might or might not be an issue. If a tech-savy user or simply yourself is going to take care of your website, then user friendliness may not be a prerequisite. On the other side, if you’re developing the website for non tech savy users, a user friendly CMS is extremely important. You want to consider:

  • Wysiwyg editor to easily create content
  • Easy enough to create new pages
  • Clear site structure in the backend
  • Clear separation between the features most users will need and advanced features

5. Users, roles and permissions

Chances are that multiple persons will have to edit the content of the website. The last thing you want is to authorize all users to modify every aspect of your websites. For this specific reason, assigning roles and permissions to the different users is important. You want control over who is going to be able to edit what.

Most CMS offer this possibility so it shouldn’t be that much of a problem, but certain CMS offer a much deeper level of control over what users are allowed to do. In the end, it all depends what you need to control.

6. Versioning

restore

This feature is by far one of the most important feature to consider for your future CMS. Versioning will allow you to revert back to a previous version of a page or article and will avoid some huge headaches to your web team. Everybody make mistakes and you know someone if going to screw up one of your pages at one point, so why not consider this in your CMS choice?

Again, some CMS will allow you do go deeper and will allow you to restore not only pages and articles, but also other important aspects of your website like CSS.

7. Multiple website support

Nobody wants to install three CMS because three different websites live under the same root domain. Unfortunately, with certain CMS, you don’t have a choice and have to install multiple copies and maintain these copies separately. In fact, the painful process is not the installation, it’s the support afterwards and the upgrades. Multiple copies of the same CMS means you also have to replicate users, roles and permissions accross all your different installations. You don’t want that.

If you know you will be building different websites with different functionality under the same root domain (.com), then you need to consider a CMS that will allow you this with a single installation.

8. Painless upgrades

Running the latest version of a CMS is important as upgrades often include important security patches. Unfortunately, a lot of CMS make the upgrade process so painful that most people and businesses simply decide not to upgrade. I understand.

banghead

The solution really isn’t not to upgrade, the solution is to choose a CMS that will allow you painless upgrades. Certain CMS like Wordpress for instance will allow you to upgrade your installation with the click of a button. It is a bit more complex for some other CMS, but really what you’re looking for is an upgrade process that won’t screw your website for days everytime.

9. Open source and community support

Going with an open source solution versus a commercial solution is important to consider. A lot of Web businesses will try yo sell their in-house commercial CMS and it’s not necessarily a bad things, but keep in mind that it will probably cost more money the more you need specific features.

Going with an open source solution might cost you just as much money to customize the solution to your needs, but it will probably be cheaper in the long run as you will be able to benefit from third party plugins and modules. Open source solutions will also allow you to get free support from the community instead of having to pay 125$ an hour or more for a consultant.

Both options are good, it simply depends what your needs and budget are. If you want more freedom over what you’ll be able to do by yourself, an open source solution might be a better choice. Keep in mind that open source solutions will also allow you to test before “buying”, which might be impossible for commercial solutions

10. Plugins and modules

plugin

There is no perfect CMS with all the features you need and will need. But that’s not a problem, what’s important is that you can easily develop or install modules for the features you need. Not only it’s important to be able to install and develop modules, it’s also important to have a look at the existing database of plugins and modules available for your future CMS.

A mature CMS will have tons of modules and plugins already tested by other users and that can be a huge advantage over a new player in the CMS industry.

So that’s one more thing to make your decision even harder: if the CMS doesn’t have all the features you need, are there some great plugins available that you could use? Then again, this is assuming you are using an open source solution as the choice of plugins will probably be smaller for commercial solutions. On top of that, an open source solution will allow you to test before “buying”.

New design, image and redefined priorities

September 27th, 2009

It’s been a while, I know. But it’s all for the best.

I’ve worked on a lot of things in the past couple of months (mostly offline) and one of those things is a new design/theme and image for this blog. So it’s here and now live, ready to receive your comments. I hope you’ll like, because I really do.

It’s more than a new design, it’s also a new focus and redefined priorities. With this new design, among many other things, I clarified the tagline and purpose of the blog. As you probably noticed, the new tagline is:

The web, what matters, common sense.

It’s very simple and straight forward. No big deal, just common sense. I came up with this tagline after thinking about what’s really important when it comes to web development and websites’ promotion. My conclusion was very simple:

I think most people completely lost the focus when it comes to building and promoting websites. At the end of the day, what’s really important? Is it to rank #1 on Google, to offer the best user interface, to have the best design or to have the best social media strategy?

In the end, what really matters is to build websites worth visiting. That’s it: the web, what matters, common sense.

That’ll be the new focus: through posts about seo, web development, social media, analytics, web business and design, we’ll try to figure out common principles behind great websites, worth visiting.

That’s about it, I wanted to keep this short and let you have a look around. Please let me know what you think in the comments!

Why your brand’s Facebook page might suck

July 28th, 2009

I think Facebook did a great job with “pages” and what you can do with them is really interesting, particularly for brands. The sad thing is that most Facebook brands’ pages suck. Really.

They suck because they fail to understand the core concept of social media and that providing value is not an option. I’m just going to throw random stats here, but I wouldn’t be surprised if 95% of Facebook pages were just a boring copy of the brand’s/person’s RSS feed. Then, social interactions are mainly sales pitch or self-promotion.

facebook

I’m sorry, but I need more. I need more than an additional feed of your content: for that there’s RSS and email. I need social interactions and content that is not necessarily about your brand, but that still can be of interest to me.

So, if your Facebook page looks like a RSS feed and that your logo is all over the place, it might be time to re-think your strategy.

Subscribe

rss feed Subscribe : A new sketch every morning

Receive this blog in your inbox by entering your email address: