Skip to content

James Rutherford

Web, design, Newcastle, games and fun!


Category: web

A great optimisation for many modern websites is to farm out the hosting of linked items, such that the client browser can receive your base page code (HTML) and then pull media in from a number of directions.

Google host a number of JavaScript APIs which may be linked freely be anyone who signs up for a free Google API key.

Adding a library this way:

  • Reduces the load on your server- one less thing to push.
  • May well be quicker for the client- Google have a fast worldwide architecture, and the library may also be cached from a visit to another site.
  • Means less code for you to manage (and FTP up).

On the downside:

  • You’re reliant on an additional system- which adds an extra potential failure point to the process (this may make a page more likely to part-load than completely fail – which may or may not be advantageous).

Google currently host multiple versions of JQuery, JQueryUI,Prototype,, MooTools, Dojo, SWFObject, YUI library, Ext Core, and their own native APIs.

Here are some examples of neat interactive visualisers people have been creating with HTML Canvas, Flash and Processing (Java):

Harmony, and other portfolio / interactive bits by the amazing MrDoob.

Flame artwork generator and other experiments by Peter Blaskovic.

Experiments by Karsten Schmidt using Processing.

This month’s meeting of SuperMondays started with a talk from PayPalX ‘Chief Wizard’, John Lunn (@johnxcom) about PayPal’s fledgeling services for mobile app integration. These are likely to be available across the mobile platforms, but will initially be available for iPhone developers.

Apple’s terms require that 3rd party payment services must be used for ‘real world’ rather than ‘digital’ goods, so they’re restricted in scope, but, in the right place, should offer a smooth payment flow without the security minefield associated with accepting credit cards through mobile devices.

John was joined by colleague Anthony Hicks (@anthonyxcom), Jon Nairn (@jonstep, working for @neverodd), Alex Reid (@alexjreid) and Peter Bull (@RoguePlanetoid) for a panel Q&A session.

General points of note from the session and pub discussions:

  • Perhaps surprising to some, the iPhone market accounts for a small proportion of mobile devices, and Android mobiles are apparently selling at twice the rate of iPhone.
  • iPhone users are generally more comfortable with app purchasing, and represent a more general consumer demographic.
  • Submissions and updates are developer-driven for Android, so app deployment can be rapid- especially when compared to Apple’s approval process.
  • Development for the less popular platforms may attract incubation or start-up funding.
  • Some high-qualify third-party technology exists for integration, e.g. Bump, OpenFeint.
  • Commercially, producing good middleware may be a better gamble than a good app.
  • Windows Phone 7 Series sounds promising.

Events like SuperMondays are great for setting bits of your brain in motion- even if the talks don’t directly relate to your field of expertise, and your thoughts don’t directly relate to the talks!

See: SuperMobile event listing, @SuperMondays.

North-East mobile app developers, and those requiring app development should check out Paul Smith’s AppNorth group for contacts.


Nice infographic on BBC news:

“SuperPower: Visualising the internet”

I’m familiarising myself with Drupal development; partly for a specific, collaborative project, and partly because it’s gaining a strong reputation as an open-source platform- current government mandates are recommending OSS for public sector websites.

I dived in and am got stuck into building a module- all code seemed fine- the hook_menu function looked good, but calling the relevant admin URL brought up a ‘page not found’. After some head-scratching, it appears that Drupal 6 does some sneaky cacheing. Disabling and re-enabling the module rebuilds the function table in the database.

I close brackets that have been opened- that’s tidy and the correct thing to do, right?

Apparently not for PHP files- The recommendation is that you miss off the final ?>

Why? Because whitespace at the end of the file may be sent to the browser, and header() declarations then won’t function properly.

This is the kind of tip you pick up on quickly if you work in a team, but miss out on if you’re solo!
Thanks onion2k.