Some of the 3 website “breaking” due to the iPhone

As has happened already this year, the iPhone 4 is breaking websites.  Three have not managed to escape this.

An SMS & E-mail was sent out recently to several/all? of the “register interest” folk which has in turn caused a lot of traffic to the main 3 website.  3 have done a very good job of separating parts of their site so a lot still works without problem.

O2 & Orange have dedicated websites, on different domains just to handle the iPhone, this should mean they have kept downtime to a minimum.  O2 have also announced no online ordering until at least the end of July.

This is a very good example of what to do when expect BIG product releases.

  • Static websites perform very well, so remove the PHP
  • Setup a sub-domain with a site dedicated to this release
  • Plan ahead. Similar to 3, get different elements of your sites separated permanently, worst case scenario, only a small part goes down.

Using the 960 Grid System

Originally, the tutorials mentioned here, were going to include the 960 grid system.  After some thought weighing up the benefits on convenience, performance, future updates etc, I have decided this will not be used for the main site.

I will still do tutorials on designing & prototyping using the grid system but that is as far as I will go.

So what’s wrong with the grid system?

As a developer who is trying to build a site that performs well, write tutorials from real experience and allow myself to easily apply updates in the future things have had to change.

  • The grid system has a lot of CSS I will not personally be using in this site.  Granted I COULD remove this, but I could also create what I need myself.
  • Future updates…well I intend to actually improve the site as time progresses.  The design will evolve as more content in introduced to the site, 960 may not even be wide enough, however, the problem comes when needing to adjust column widths.  Using CSS on its own, you adjust the width of the 2 columns and your down.  Using the grid system, you need to go through the HTML adjust class names.
  • Without using the grid system I am also able to create another tutorial for site layouts.  The grid system is fairly self-explanatory and will be covered on the prototyping stage.
  • Fluid or expanded columns.  By default the 960 grid system does not support fluid layouts, there is a branch for fluid and elastic layouts, but at this stage I am not entirely sure how or what I want to achieve with this.

Get using SVN

More recently I have started working with a team on a project, after a short time we realise we NEEDED to use some sort of versioning system, not only to avoid the possible lack of file locking, but also to allow us to quickly revert to a previous version when bugs/conflicts are found.

It took a short while to get the individual machines configured with necessary database servers and a dump of the test data to populate them.  After that setup, checkout the code and get to work.  A few short days later its easy to see the benefits, individual installations all testing new features being worked on, end of the day, commit (assuming everything works) then an update in the morning.  I get the benefit of seeing the new features, who has done them and get this stuff tested.

I decided to use it for myself, when I’m the only developer.  It doesn’t take long to see the benefits.

  1. I work on the site locally, once I’m fully satisfied my local version is working, I commit.
  2. Checkout the source code on a testing server, using a duplicate of the current live database to test.
  3. A bit of backwards and forwards maybe.
  4. Checkout the source code on the live server, your new code is deployed and ready to go with little to no downtime.

Although this sort of thing can be accomplished via FTP in a similar way, the process is not as slick, and in the event of a screw-up, checkout a previous working revision having minimum downtime.

As for SVN software for the client machines;

OS X users: Coda comes with SVN built in, this is my choice.

There is also a cross-platform client, both free & paid versions available. Smart SVN.  I also have this installed.

There are a lot of SVN clients, so it’s really a case of try and see.

Django 1.2 and 1.1.2 released

Django 1.2 is now out, along with a bug-fix release for 1.1.  It looks like a bug has already been found, but that’s to be expected as the audience grows.  Better these problems are found early on.

Django 1.2 has a bunch of new features;

  • Support for multiple databases
  • Model validation
  • Improved CSRF protection
  • Messages framework
  • Object-level permissions
  • Permissions for anonymous users
  • Relaxed requirements for usernames
  • E-mail backends
  • “Smart” if tag
  • Template caching
  • Natural keys in fixtures
  • Fast failure for tests
  • BigIntegerField
  • Improved localization
  • readonly_fields in ModelAdmin
  • Customizable syntax highlighting
  • Syndication feeds as views
  • GeoDjango
  • JavaScript-assisted handling of inline related objects in the admin
  • New now template tag format specifier characters: c and u

Another set of Free (ish) Icons

No-one can even have too many icons to use on websites.  So now, to go with your famfamfam and Fat cow icons, we have Fugue, a set of 2,757 icons (and frequently updated it seems).  You can also get the PSD’s for everything in this set as well.  The style is different to the others, but these are still available at 16×16 so perfect for navigation icons, admin area etc.

The icons are free to use, providing you have a link back to the designers site, otherwise you can purchase a royalty-free licence for $59.95 USD, which at the time of writing is £38.99 GBP.

There is a much smaller set of 400 icons also available for $9.95 USD.  Do check the licence on the site which at the time of writing, for both sets of icons, is Creative Commons Attribution 3.0 license.

Dansette