Yet Another Pointless Tagline
Permanently Uncached header image 1

Entries Categorised as 'Web Design'

SEO and iWeb: Words That Shouldn’t Be in the Same Sentence.

November 1st, 2009 · No Comments · SEO, Web Design

Having written a plethora of articles on how to try and make iWeb more search engine friendly, I often get asked how to improve upon existing iWeb user’s efforts.  Frequently they fail practically every test in the book, and perhaps only once in the last 4 years has an iWeb site been built well enough for me to actually consider that the work put into it might have paid off from the search engine perspective

In reality, I think iWeb masquerades as something it is not.  Either Apple misrepresents it s as a web site building tool, or users get this half-fangled notion that it is more than it actually is.  To my mind, iWeb is nothing more than a half-decent prototyping tool, and at best an over-simplified web publishing application.  It is by no means a professional site building tool and in no way, shape or form should it be considered for building professional and well maintained web sites.  The fact that it rides soo rough-shod over the basics elements of good web design rules it out of that game completely.  It might be FREE, but the consideration that the hurdles it puts in front of the performance of your ‘business’ web site are far greater than the advantages attained from skimping on spending money on a web site.

I understand that startup costs need to be reduced when getting going with a business, but i think there are some actions which take that whole ethos a step too far.  iWeb users seem to be dogged in their mindset of ‘save save save’ at the expense of quality work and the acceptance that getting things done right, at the very least, does require some money.  Even a single well SEO-ed page would be better than an entire iWeb-built web site, unless of course you know what you are doing and can output the best quality work from iWeb, which in most cases, as mentioned above, is unlikely.

If you are intent on working your magic with iWeb, then I insist you do research.  Ask yourself for the answers and go out there and find them.  There are tools for optimising iWeb built sites, but at the same time you need to ensure that you have the know-how to best use them.  Making use of the iWeb SEO Tool from Rage Software is one thing, but really knowing what you are doing with it, is something else, and even then it doesn’t cover every base in the book.  Be prepared to open your HTML files in a text editor such as BBedit and to search and replace the poorly generated code iWeb created.  Moreover, expect to loose ALL your changes every time you go to update your site in iWeb.

Rather than kill an opportunity to find business online with a decent web site, then consider building a prototype of the site you want in iWeb and use it as a means to collect all the content you need for your web site, then hand it over to a professional properly to build, with a mandate to do a proper search engine optimisation job.  More importantly, expect to have a debate with your web developer or design firm about the final design of your site, because any web site building process should be a conversation between firm and client to achieve the best results, both for what you, as a client wants, but as experience tells the web development firm achieves the best results.

Troubleshooting FB Connect with Flash

October 31st, 2009 · 1 Comment · Web Design

Having experienced the ‘real’ joys of working with Facebook connect and integrating it with Flash the last couple of days, despite having duscessfully integrated it in the past with zero problems, I thought I would write up a little check list of reminders for those wishing to do the same thing, covering the bits and pieces from setting up with the FB connect wizard and ensuring the application config is right, to setting up the HTML code and troubleshooting any potential issues thereafter.  Here are my tips on getting setup somewhat trouble-free:

  • Don’t Assume Anything
    If you setup your app with the Facebook Connect Wizard, don’t assume it is setup completely correctly.  I seem to have hit issues where one app was set up fine and the other was miss-configured and generated no end of issues.
  • Use swfEmbed
    Given that you will be using JS to integrate it makes sense ot afford yourself the ease and compatibility of setting up the flash with the swfEmbed JS libs.  They are available hosted on Google APIs so include them from there in your HEAD.
  • Ensure you have an ID and NAME
    When setting up the ATTRIBUTES in fro swfEmbed, ensure that you provide an ID and NAME so that the JS can reference the Flash object through it.  Without this, or with any mismatch, you are storing trouble.
  • Setup allowScriptAcess
    Rather obvious but an easy PARAM to miss or miss-spell.  I personally set it to always but then again you may wish to set it up for the same domain only.
  • Check the Facebook API key
    This one seems rather obvious but if you are working with multiple apps for the same project, i.e. localised versions, then you will want to ensure that you have the right key for your domain, otherwise the thing will fail.
  • Double check your Canvas URL
    If your application is not generating an overlay and then a popup when you try to connect, double check that you have assigned a CANVAS URL.  In my case this was empty and causing issues.  Simply applying the URL (http://www.yourdomain.com) fixed the non-overlay issues.
  • Delay FB.init
    In order to ensure the flash has fully loaded before you invoke FB connect it makes sense to delay the process by a few seconds so that when FB is finally initialised it will find everything it needs to work.  To this end, rather than calling FB init as is suggested by FB, I use a secondary method that is invoked via a setTimeout call for an extra 5 second delay.
  • Relative URL for xd_receiver.htm in FB.init
    Another issue, that you may encounter that stops the login pop-up window from closing is where you specify an absolute URL with hostname rather than a relative one for the FB.init. Specifying http://www.yourdomain.com/xd_receiver.htm rather than /xd_receiver.htm will cause potential issues.
  • Register ALL callbacks in Flash
    Ensure that all your JS callbacks are also registered and spelled correctly in the actionscript.  Not doing so will only throw non-existent function errors in your console.
  • WMODE opaque
    Last but not least, and to make our dearly beloved IE work with FB connect, you will need to ensure that swfEmbed is applying the WMODE param and that it is either opaque or transparent, whichever takes your fancy and fits in with you performance desires.

Anyhow, I hope this checklist helps guide you through any potential road blocks you find in your Flash > FB connect development trials.

Issues with ajaxForm, TinyMCE, File Uploads & iFrames

October 30th, 2009 · No Comments · Web Design

During the process of coding the javaScript for an image admin system on an internal project at Stink Digital recently, I hit 2 rather annoying snags.  One between ajaxForm and TinyMCE and the other with JSON handling in iFrames:

The iFrame Issue

Using TinyMCE and ajaxForm in conjunction with one another caused issues when trying to use ajaxForm’s file upload capabilities.  This is because of a clash between the two separate iFrames generated by the relevant parts of the JS code.  This would result in the follow error in the JS Console on trying to upload a file:

Permission denied to get property Window.document

Unfortunately, toggling the TinyMCE editor on and off wouldn’t fix the issue.  Ultimately the solution to the problem, rather than switching to another editor, was to ensure that the 2 separate code libraries were hosted off the same host.  Obviously working form the two separate hosts was causing an XSS issue.

JSON Handling Issue

The other issue was with data being returned by the application upon a successful file upload.  Returning a mime type of data/json in an iFrame to FireFox was generating a file download dialog.

The dirty solution to the browsers inability to handle the mime type correctly, as it is a normal POST request rather an an XHR request, was to return the data as text/html and then EVAL the code,  again a very dirty solution, but given this was an internal project for internal consumption a viable one.  In an ideal world you might get the updated info via a secondary AJAX request after the POST and iFrame have returned true.

For those of you troubleshooting similar issues. I hope this helps.

Bleeding Lines

October 13th, 2009 · No Comments · Design

If this doesn’t make your eyes bleed I don’t know what will!

bleading-lines

Spotted in the wild by Tim, the designer here at Stink Digital the picture is an illustration © by Aart Rost and the full set of the font is available here: http://www.dafont.com/lines.font

Nothing Beats Working in a Small Team.

July 22nd, 2009 · No Comments · Web Design

I must say that I am so glad that I am back and working in the kind of environment I love. The kind of small team, creative, energetic, productive and zany environment that really gets my juices flowing.

When the work comes in and the production engines have to roll you knuckle down, feel the crack of the whip from a project manager and you drive on and knock the tasks down one-by-one. When it’s time to play, you play, and you all get along great. There is none of the arrogance, and subversive kind of office politics, that pervade much larger firms.

Over the last ten years I have had the opportunity to work with some great and interesting people. I have learned a lot about offices, companies and businesses, how they work and what I like and don’t like.

During the course of the early 2000′s I worked with a small but dedicated team at the Noerr Programs, helping them to streamline their business. The efforts paid dividends and the relationship I had with my client was awesome. In fact i still reminisce about it, and continue to enjoy the good times that were with the company and its 2 great figureheads Judy and Philip.

When the fun ended there and I joined the team of 16 at Last.fm, it was fascinating to see the company grow from that initial pod, to well over 60 in London and who knows how many elsewhere. I was intrigued by the slow splintering of, what was in the beginning, a pretty tight-knit group. A group that, from my perspective, had become nothing more than a set of departments, or better still, cliques, each with their own sense of importance within the overall power-structure, and which personally I tried to skirt between, though as with all things in the end, you never win playing mister nice guy.

Now I find myself at Stink Digital. It’s a great little and energetic team, well bonded and supported by a much larger production house that has been running for the last decade, but which, for all intent and purposes, is its own business. Based out of East London, most conveniently, just down the end of my street in Printing House Yard, the 6 guys I currently work with are a blast.

As I always like to say to others: “Life is one big vacation.” And, if you can’t enjoy it, you might as well be dead!