Archive for the ‘Web Development’ Category

Wordpress 3.0 Released

Friday, June 18th, 2010 by Francois

Wordpress logo

WordPress 3.0 has been released and is available to download.

We’ve been eagerly anticipating this since playing with the beta.

Tip: sign-up for the mailing list to receive notifications whenever a new stable release is made available.

We’re big fans of WordPress as a blogging platform (it powers this blog) and have used it as a CMS for a number of jobs in the past.

Given this release it’s safe to say we’re likely to be using it a whole lot more.

Over the coming weeks we’ll continue testing WP3.0 and will do a follow-up post with a detailed assessment of our findings.

Must Read: The 10 Do’s & Don’ts of Web Development

Wednesday, February 3rd, 2010 by Francois

Fatdux Company LogoThis article has to be shared and promoted.

Written by the always inspiring Eric Reiss of The FatDUX Group, this is a must read if you are commissioning or project managing the development of a website.

This isn’t one of those usual top 10 lists you see doing the rounds. It’s a truly informative and useful primer that all small and medium sized businesses would benefit from reading prior to commissioning a new website.

Why?

It offers non-technical business leaders a concise yet powerful overview of what, and more importantly what not to, focus on if they want to give their website every chance of succeeding.

Here are the core headings:

  1. Don’t confuse your marketing with communication.
  2. Don’t view your website as a software development project.
  3. Don’t couple unrelated initiatives.
  4. Don’t be afraid to set measurable goals.
  5. Don’t confuse your needs with those of your visitors.
  6. Don’t view your website as a fixed term project.
  7. Don’t confuse print design with web design.
  8. Don’t let personal opinion cloud your focus.
  9. Don’t be afraid to ask stupid questions.
  10. Don’t hide in your office.

You can read the blog post or download a PDF to access the full article.

We will be circulating this article to all of our new clients as it effectively addresses a myriad of issues we often encounter.

So thank you Mr Reiss you really are a star!!!

Browser Size: A New Tool From Google Labs

Monday, January 4th, 2010 by Francois

Google Labs recently released a new tool called Browser Size.

What is it?

Browser Size is a visualisation of the browser window sizes people use when visiting websites.

For example, in the screenshot below, the 90% contour means that 90% of people visiting our website have their browser window open to at least this size or larger.

google-browser-size

The sizes represented by the contours are client area sizes, not browser window sizes.

This means they represent the size of the browser without the title bar, toolbars, status bars, etc, and thus give a true representation of how much content can be seen by a particular segment of Web-users.

You can view any website with the same overlaid visualisation by entering the URL of the site you want to check.

Why you should take a look at Browser Size?

Having access to this sort of data is no doubt valuable.

But what I find really special about this tool, is having the ability to quickly check how visible the key elements of a user interface are to a wider audience then your own analytics data could ever provide.

That said, it’s important to note that Browser Size works best on web pages with a fixed layout aligned to the left. For other layouts the results can be misleading.

Google state they are actively looking to improve this tool so expect these issues to be resolved over time.

Will Amazon Flexible Payments Ever Reach Europe?

Wednesday, November 25th, 2009 by Francois

AWS_LOGO_RGB_300pxFirst off what is Amazon Web Service’s Flexible Payments Service?

Flexible Payment Service (FPS) allows you to accept payments on your website. It supports the processing of payments using credit cards, bank accounts and Amazon Payments account balances to send or receive money.

We first started looking into FPS when we were looking at a payments solution for a side project we had been working on and were ready to release.

The project was already all up and running on AWS so it seemed natural to investigate the possibility of using FPS.

Unfortunately just as we were getting really excited about the benefits of FPS we noticed something we should have spotted away. FPS is only available to companies with a US credit card or those authorised to do business in the US.

So that was that one out of the window so we had to look elsewhere and guess where we ended up. Yup, PayPal it was.

Anyway that’s not our major gripe. The main point of frustration is with AWS itself.

In general the AWS team are amazingly responsive and if you look at what they update/add it is clear that they really listen to the requests that they receive.

However, one of these requests keeps on being glossed over.

When, or rather, is FPS ever going to be rolled out in Europe.

I’m not asking for a date, just confirmation of whether or not this is something they are actually working on. After all it has been over 2 years since FPS was first released in the US.

So please, please, please AWS give us an update on whether or not FPS in Europe is ever going to happen.

Now I know this isn’t going to happen but writing this post has been somewhat cathartic.

Codepress Does Not POST Text Entered Into <textarea>

Tuesday, October 6th, 2009 by The BCM Team

We are using Codepress for the administrator application within our custom CMS.

Codepress is a web-based source code editor with syntax highlighting written in JavaScript that colors text in real time while it’s being typed in the browser.

We have been very happy with it so far except one little hiccup that we came across when we were integrating it into the CMS: the forms where Codepress was hooked up to were not submitting any entered content for the Codepress enabled form fields. The values were not just set to empty strings in the POST, they were actually missing.

For example, lets say we have a form with the following elements:

  • Name – text field named “name”
  • Description – textarea with Codepress functionality enabled named “description”
  • Submit – button

After entering any content into Name and Description and submitting the form, POST will only have one form related variable in it – “name”. As I mentioned before the “description” variable is not just empty, it isn’t not included in the POST array at all. And here ’s why:

When Codepress gets hooked up to a form’s textarea element, it hides it and creates an iframe that supports all of the bells and whistles like syntax highlighting etc. Not only does it hide the original textarea but it also modifies DOM and removes any textarea’s ID so it does not get added to a form submission via POST. This explains why the textarea content is fully excluded from the POST.

To fix this you need to tell the form to copy the value from Codepress’s iframe (that the user types in) into the original form’s textarea. The best time to do this, is just before the form gets submitted by assigning this action to the form’s submit button on-click event, for example.

Here is the example of how to do it:

<textarea id="code" onclick="code.toggleEditor()" name="code" ... </textarea>
<input type="submit" onclick="code.toggleEditor()" value="Submit"/>

Note the values of the id and name attributes of the textarea. They are set to “code” so we can reference the textarea by “code” when making a “code.toggleEditor()” call.

You can download Codepress from its dedicated site at sourceforge.net.

Codepress in action

Codepress in action

Class ‘Array’ not found error when using sfCombineFilterPlugin in Symfony 1.0.x

Wednesday, March 4th, 2009 by The BCM Team

If you are getting a “Class ‘Array’ not found” error when using sfCombineFilterPlugin then a quick fix would be to make the “filters.yml” file look like the following:


rendering: ~
web_debug: ~
security:  ~
# generally, you will want to insert your own filters here
cache:     ~
common:    ~
sfCombineFilter:
  class:   sfCombineFilter
    #param:
    #condition:
flash:     ~
execution: ~

What I did was comment out the param: and condition: lines.

JW Player, S3, Wowza and “Stream not found” error for files that have spaces in filename

Monday, February 23rd, 2009 by The BCM Team

When working on an application that streams videos from S3 I noticed that whenever an s3 object has a space in its name it fails to stream.

However, when streaming objects without spaces in the name it works fine.

The solution is as follows:

I am using PHP and JW Player 4.3. The problem is due to JW player not encoding url when rtmp:// protocol is used (specifically in RTMPTModel.as file). So to fix the problem with playing files that have spaces you need to either:

  • Replace spaces with “+” and urlencode() the whole url after that. For example:
    
    urlencode("mp4:amazons3//file+name+with+spaces.m4v");
    
  • Double urlencode() the whole url. For example:
    
    urlencode(urlencode("mp4:amazons3//file name with spaces.m4v"));
    

Setting up Symfony to use Exim instead of Sendmail

Sunday, February 1st, 2009 by The BCM Team

By default Symfony uses Sendmail mail transfer agent to prepare emails to be sent out by the system. If you want to use Exim instead,you need to:

  1. Install Exim to your system – please see my Exim on CentOs 4/5
  2. Configure Symfony to use Exim instead of SendmailEdit (or create if it does not exists) /apps/--app name--/config/mailer.yml and add the following to it:
    
    dev:
      deliver: on
      hostname: mail.yourmailhost.com
      port: 25
    all:
      mailer: exim
    

    Here we are setting Exim to be the default mail agent for all environments plus defining SMTP host name and port for the dev environment.

Symfony Notice: Undefined offset: 0 in /symfony/util/Spyc.class.php

Monday, January 26th, 2009 by The BCM Team

If you are getting an above notice in Symfony (especially after you clear cache) check your yml files. You are most likely missing a colon somewhere or have some other error.

For example:


setting
  id1: value1
  id2: value2

should be (missing colon):


setting:
  id1: value1
  id2: value2

Install GeoIP on CentOS

Thursday, January 15th, 2009 by The BCM Team
  1. Install geoip via yum:
    
    yum install geoip geoip-devel
    
  2. You also might want to download database with ip addresses from Maxmind website and place it in /usr/share/GeoIP (which is a default location of geoip upon installation).
  3. Install PECL extension:
    
    pecl install geoip
    
  4. Add extension=geoip.so to your /etc/php.ini
  5. Restart apache:
    
    /etc/init.d/httpd restart