| |
January 7, 2009
In an article on A List Apart ‘Return of the Mobile Stylesheet‘, Dominique Hazaël-Massieux starts by reviewing the ‘ideal’ approach to making a site mobile friendly:
Ideally, site authors would be able to meet the growing demand for a quality mobile experience without changing a line of code. But the reality is that a site designed specifically with mobility in mind will always provide a much better user experience to mobile users, even when they are equipped with the device du jour. It’s not merely a question of network costs and delays or memory and CPU limitations. Rather, the mobile experience merits its own design, as discussed in a growing body of literature, including the W3C’s very own Mobile Web Best Practices, released in July 2008 as a W3C Recommendation. The formula for a mobile experience provided by Little Springs Design sums up the goal nicely: mobilize, don’t miniaturize. Mobile users operate in a very different usage context than PC users, and providing them with an experience customized to their needs is likely to be the best service you can offer to them.
But then he goes on to describe “a first step toward mobile design that uses CSS to maximize interoperability across platforms” asserting that “by starting simple, you can provide a decent initial experience, solicit user feedback, and iterate toward a more mobile-friendly design.”
Shame - because the likelihood is that if you put all your effort into a CSS solution, which is sub-optimal (in my view) because devices still have to load bloated code, and you probably end up with compromises for bot mobile and ‘normal’ browsers amongst other reasons, you’re much less likely to make the bigger step of producing a version of the site optimised for the mobile experience.
Many platforms make it quite simple to do this - there are mobile modules and plugins I’ve seen (and used) for Wordpress, Drupal etc. - if you’ve got server side logic, and preferably some form of content management / delivery system going on, it should be not much more than switching to a simpler theme for your presentation when a mobile device is detected.
But then that’s easy for me to say, because I still haven’t done it in anger to any large extent (yet).
December 3, 2008
According to alistapart:
 Agile is here to stay. The economic difficulties of the past months have finally put waterfall out of its misery; now more than ever, long requirements phases and vaporous up-front documentation aren’t acceptable. Software must be visible and valuable from the start.
I can see exactly where they’re coming from, but it still scares the sh*t out of me - Agile makes sense, but it can still lead to chaos. But then I’ve seen traditional projects run amok too.
The fundamental principles of Agile ring true - get stuck in early, prototype, little iterative cycles, get everyone involved and commenting - but I fear the discipline required for ’someone’ to keep an eye on the big picture and finally manage to complete the last iterations to ‘finish’ is a rare commodity.
But I do agree that the future is (probably) Agile.
August 23, 2008
I wonder if it was people trying to protect the peace and tranquillity of the Broads doing some tactical voting that led to the Norfolk Broads being voted ‘most boring destination‘ after Blackpool Pleasure Beach, and Bournemouth & Poole by travel site TripAdvisor. Or is it that some people find calm, beauty, nature, serenity, relaxation etc. is boring?
Well I don’t care - the more the public discover its charm the more people will come, and it won’t be so charming.
Personally, I can’t get enough of the place.
August 8, 2008
I don’t often get excited by hyped ‘multimedia extravaganzas’, but this time I think the BBC has done something really special - starting on Sunday on BBC1, Britain from Above was plugged in a press release as “a landmark series of documentaries – filmed in HD – spanning BBC One, BBC Two, BBC Four and bbc.co.uk, Britain From Above will change the way viewers see the nation for ever.”
The website has gone live in the last day or so, and certainly seems to be more than just a token attempt at supporting web content. There’s loads of web special short clips (including one about Happisburgh), links to additional information, and does an excellent job - I’m looking forward to interacting with it all - TV and web.
June 30, 2008
I couldn’t go a whole month without posting something …
My run of technology troubles has continued, and I’m no greater fan of silicon based lifeforms than before.
But I have come to appreciate good support when I get it even more , and I would like to take this opportunity to praise Dell, who are obviously one of these companies who know how much value they can get by looking after their punters once they’ve taken their money.
I turned into a right twonk a few days ago and panicked that I’d screwed my laptop up - terrified that by fiddling I’d make life worse I resorted to contacting Dell support. I won’t embarrass myself by saying what the fix was, but suffice it to say that the very helpful scot on the other end quickly and efficiently put me back on the right track. I’ve rated Dell for years, and this experience has made me even more of a fan.
I can’t write about support without mentioning the other company that I have nothing but praise for and that’s Rackspace - I’ve been at the sharp end of servers playing around previously (with another hosting company), and I have to say that when I’ve been shopping for managed hosting since the first thing I do is check out the support, and the Rackspace claim that their support is fanatical is no understatement - I can vouch for it.
April 8, 2008
It must be coming on six years ago that I took a deep breath and fired up my first Windows XP machine You see, I’m from Norfolk and we fear change.
I’ve probably used every flavour of Windows way back to Windows 3.0 which went onto good old 286 machines with a couple of floppy disks. I still have a couple of machines that run 98 and Me - they’re doing what they need to and wouldn’t support anything higher, so why bother upgrading?
I’ve always thought Windows a bit frivolous, but as the power of modern machines increases exponentially, I think even these spangly 3d transparent gui interfaces have a hard job using up all available resource, and being one who uses a machine for far too much of the working day, I wouldn’t be without it now. I’m not a good enough typist to survive with a command line interface alone, but I like to think I still could if I needed to (I’m proud to say I use vi regularly!)
I won’t get into the Windows vs. Mac debate, or even Windows vs. Linux - suffice it to say I’ve spent time on most modern desktop environments, and given the choice I still revert to Windows. Servers, well that’s a different matter…
Back to the main story - It was about time to get myself a new working environment, so once again I took a deep breath, and this time volunteered to move into modern times and chose a machine with Windows Vista Business installed.
For reference I’ve been a big fan of XP since that day six years ago - although I will point out that the first thing I do is switch the theme to ‘classic’. I’ve had my share of blue screens, but on the whole I’ve found it as bearable as you could hope for, and I’ve never really hankered for anything else.
So I’ve been using Vista for a few days now… and I’m pleased to report that I’ve had no major issues. I’ve not had to hit F1 yet or otherwise ask for help - everything seems fairly familiar and intuitive. I think I’m a fan of the new interface to Windows Explorer, which from recollection of how OS-X does it seems more like Finder than the old XP Explorer - a crumbtrail instead of an address bar allows you to jump back several levels at a single click.
I’m currently finding it a bit hard to navigate around networks though - ‘My Network Places’ seems to have subtly chaged and it’s catching me out. Similarly, ‘My Documents’ has morphed into just ‘Documents’ - these are just little navigation niggles I’m sure I’ll adjust to as time progresses.
So far I’ve stuck with the default Aero theme, and I’m faintly amused by the ‘glass’ effect, but might try switching back to classic just to be stubborn. And I’m not overly bitten by the widget bug yet, although I do like the big analogue clock on the Desktop.
Here’s hoping I end up as happy with Vista as I have been with XP - I suppose I can always downgrade if I have to.
April 6, 2008
Last weekend there was a splurge of national publicity over a leaked document that considered options including allowing the sea to breach defences between Horsey and Winterton, flooding low-lying areas as far inland as Potter Heigham and Stalham, where new sea walls would be built. The villages of Eccles, Sea Palling, Waxham, Horsey, Hickling and Potter Heigham, as well as parts of Somerton, would be lost to the sea.
It is one of the options that were discussed behind closed doors at a conference in Norwich on climate change in the Broads, organised by Natural England and attended by representatives of the Environment Agency, Broads Authority and Norfolk County Council, plus other organisations.
Listed as option four in the document outlining the proposals for the Upper Thurne basin in the face of rising sea levels: “Two retreated defences would be built at Potter Heigham and Stalham and land seaward of these would be breached, creating an embayment on the coast between Eccles-on-Sea and Winterton Ness,” it reads. “The total flooded areas would thus be approximately 6,500ha. The broads (Martham, Horsey, Heigham Sound and Hickling) would become inundated by the sea, fen vegetation would be lost. It is likely over time that a spit would develop behind which coastal and inter-tidal habitats would develop.”
The document says that maintaining coastal defences in their current position will become “increasingly difficult and expensive”, adding: “The increasingly unsustainable nature of the Horsey to Winterton frontage beyond the next 20-50 years thus opens up the possibility of re-aligning the coast as described above within this timeframe.” It continues: “There is an argument for progressing straight to option four, for it can also be argued that by selecting a radical option now, the right messages about the scale and severity of the impacts of climate change is delivered to the public. However, a decision to progress immediately to option four is likely to be met with strong political resistance and the up-front costs would be large.”
The first option listed is to do nothing to adapt to climate change: to fail to maintain coastal defences and inland flood embankments, allowing them to fall into disrepair and be breached by the River Thurne and the sea.
The second is to hold the line, the current policy of the Environment Agency. This involves maintaining the sea defences and flood embankments in their current positions. Under this option, saline intrusion - something all farmers fear - would get worse as sea water passes under the coastal dunes.
The third option is to adapt the line: allow the sea to flood some places while building barriers and embankments to protect other parts.
Now this isn’t actually a new plan - it was was initially drawn up by English Nature and the Environment Agency in 2003 under what was called the Coastal Habitat Management Plan (CHaMPS) for the Winterton Dunes. It has been discussed widely by those involved in coastal issues and is not some new secret conspiracy, it just hasn’t grabbed mass public attention before.
Neither is it a certainty - the people who drafted it and considered it’s merits are mainly doing so from a viewpoint of wildlife, environment and habitat. Little or no thought has gone into the practical effects on economy, infrastructure or practicalities, let alone trifling subjects such as human rights.
I’m not about to add my voice to those who are slamming the Eastern Daily Press for initially publishing the story - I believe they are doing their usual top class job of responsible journalism - the public in Norfolk have a right to know what is being discussed that could impact their lives, irrespective of whether or not it could / will happen, it’s being talked about.
At Happisburgh, we can clearly demonstrate the result of taking the view ‘it will never happen here’ - because it can and probably, eventually, will. What we’re fighting here is a growing reluctance to expend effort and resource defending our vulnerable coastline against an encroaching sea.
I appreciate the view that we can’t fight the sea forever; that there must be some land lost, but I have seen absolutely no evidence that anyone has considered how we can actually allow that to happen in a controlled fashion with due regard for fairness and social justice to those that are affected by that move.
Despite all their rhetoric and considered sound-bites, at Happisburgh we have found out what it means in reality - that those on the ground are just abandoned to ‘take on the chin’ the loss of property, livelihoods and communities, and without even any sign of appreciation for the sacrifice were being expected to make, if indeed they even realise we are making a sacrifice.
Many in Happisburgh had their head in the sand about losses on the cliff: “It will stop before it gets to the village” they said until we lost the lifeboat ramp to the beach - then the village got behind the fight. Neighbouring villages said “poor Happisburgh, but it will never happen here” until the publication of the second generation Shoreline Management Plan announced the intention to abandon defences of all but Sheringham, Cromer, Lowestoft and Great Yarmouth. Now there is vocal campaigning from Overstrand and Scratby and others now those communities realise what’s in store for them if we don’t stand up and be counted.
I hope this news finally gets the rest of Norfolk to wake up and see what’s in store for our beloved county if we don’t stop these faceless bureaucrats.
Somewhere between defending all of our coastline forever, and retreating sea walls to a more defendable position (Norwich?) there lies the path that will be followed. And I bet if it’s not a formal ‘do nothing’ strategy then that will still be effectively what happens - it costs them less! But next time a storm surge comes down our coast we may not be as lucky as we were last November - this time the sea might get in somewhere and we could have a major disaster.
If this were a fight against a new airport runway, victory is preventing them doing it - here we have to stop them not doing something - in the mean time they’re winning.
We cannot allow this to happen - we have to fight, now!
March 7, 2008
Every now and then I come across a new product or technique that causes a lightbulb to come on - suddenly I know I will never code the same way again.
Landmark events over the years might include the realisation that PHP is a proper programming language (although I did keep Perl up my sleeves for the odd task), how to use Subversion to version control a website (must write that one up sometime), reading Zeldman’s “designing with web standards” …
Not quite in the same league perhaps, but I’ve finally got around to having a good play with jQuery, and doesn’t that open up whole new fields of possibility?
Having ‘bought into’ Standards there has always been an internal conflict with any superfluous markup that has to go on a page for eye candy or other frippery, such as the dreaded rounded corners problem. Suddenly, there is a simple way to tinker with the DOM to make such effects possible, without having to put anything more in the base code than a few calls to JavaScript includes. But it sounds too good to be true. It can’t be legal can it?
I suppose the answer to that is that there isn’t one answer - it all depends how you wield the tool. If you disable JavaScript and the page still ‘works’ - then all jQuery is doing is adding some glitz and if it’s keeping the markup etc. cleaner and more semantic then that has to be a good thing.
But what is the definition of ‘works’? It depends what the page is meant to do. It could be an informative page so ‘works’ is can you access the content in the correct context and get appropriate meaning from it. Or it might be a bit of functionality - a form or a blog or whatever.
With the power comes responsibility, and the temptation to run riot and get all inappropriate. I’ve seen some pretty dubious examples of the use of jQuery - putting ‘back to top’ links on a page, or altering anchors if they link to external resources - that starts risking Accessibility and potentially usability. Use of AJAX without a non-js method of doing the same thing - form validation and submission for instance. Face it you could use it to construct a whole site on the fly if you wanted. But that would be a Bad Thing in my book unless there was exceptional reasoning behind it and some sort of mitigation for non JavaScript users.
I’m sure I will be making a lot of use of jQuery in the future, but I will be keeping a close check on myself to make sure it’s appropriate. For reference, here’s a simplistic view of how I tend to approach a new build currently:
- Analyse what the page is about and prioritise requested / identified features in a sort of MoSCoW list
- Design html structure to represent it, check it makes sense in text browser
- Analyse ‘look and feel’ requirements and design css / JavaScript to implement them
- If necessary adjust html to make the presentation layer easier / possible, but as little as possible (
argue negotiate with client / designers as appropriate)
- Never forget a print stylesheet, and probably nowadays it would be good to consider mobile devices
- Do everything server-side to deliver the page and handle any actions the page produces
- Complete content population & coding
- Test degradation from latest browsers with everything turned on through old browsers, text browsers, phones, anything I can get my hands on until I get bored- ensuring ‘must have’ features work in all, ’should have’ and ‘could have’ work in as many as is feasible.
March 6, 2008
As posted earlier, I’m going back to my roots after 6 years in the relatively comfortable life of an employee of a large agency, and specifically as someone who has had a sabbatical from mainstream development whilst managing a team of developers.
Now I’m back on my own again I’m reviewing my skills and experience, the current state of the industry and best practice, and sorting my tools and techniques out ready to get busy (hopefully).
It’s amazing how much has changed in the intervening years and yet how much is the same. Packing up my desk and hunting down the books I took to Soup, many are well thumbed from regular use despite their age they are still relevant. I’ve also been compiling a wishlist on Amazon of titles bought for the company library that I will want to get copies of, but to be honest there aren’t many essentials - good references for PHP, MySQL, CSS, Apache, JavaScript etc. But even then can be found online - it’s much easier to type http://uk.php.net/explode to remember what order to pass parameters to explode() for instance than to find the book - but I digress.
I’ve been rebuilding a few sites I first built oh-so-many-years-ago - one was even still using Dreamweaver Templates <hangs head in shame> - but they are still doing the business for the owners and all they want is a quick design refresh and a bit of new content. “Oh, and while you’re at it could you just add a news section we can update ourselves?” So the quandary begins - how much do you reuse and how much do you rebuild, and what technologies do you use?
Perhaps unlike many working by themselves on ’smaller’ sites, my recent background has exposed me to all shapes and sites of web content delivery technologies, from full on Enterprise level Content Management Systems such as Vignette and Stellent, other commercial ones like RedDot, or open source ones like Drupal or Joomla! or in between like Expression Engine, and then of course there’s all the custom applications that get written for specific applications, or reusable frameworks and libraries that can give advantages in rapid deployment / development.
And then there’s the platform to build on - once is was a choice of flat html (with some help from Dreamweaver perhaps) or Perl (or the new kid PHP) or ASP. Now there’s all the Java based technologies, Python based (I still reckon Zope should have become more mainstream) ASP.NET, Ruby on Rails, and of course my old favourite PHP is going from strength to strength. And it doesn’t stop server-side, with the advent of AJAX and frameworks such as jQuery, so much more can be done on the browser.
I understand and buy into Standards Compliance, Accessibility, Search Engine Optimisation, Usability and all the other buzzwords. I’m able to gather requirements, write specifications, manage projects and carry out quality reviews. I’ve been involved in projects that have been great successes, and others that have spectacularly failed, enough to know how to avoid the pitfalls.
But does all that knowledge and experience help in my current situation and perhaps give me an advantage over someone only just starting in the industry? It’s a mixed blessing because although I rarely have to say “I have no idea how to do that or what’s involved”, the opposite is also a problem because I know of perhaps too many possibilities and alternatives, and how things could be done ‘properly’.
As a little aside, I’ve often observed that any sort of development or design or construction or problem solving that is done in a constrained environment is likely to have a much more creative and pleasing outcome than if done with the luxury of infinite possibilities - it makes you focus and think and consider relative merits of alternatives with a clearer vision of the ultimate goal rather than being dazzled or distracted by niceties.
So how have I tackled these rebuilds? Well the Dreamweaver Templates site is hopefully a textbook example of how to use PHP to make a relatively simple brochureware site more maintainable. The templating features of Dreamweaver (ah yes, I remember them well!) have been replaced with PHP includes - so common elements like html <head>, top level page layout, navigation etc. are all shared. A ‘page’ is represented by a PHP file which sets variables such as page title, navigation state, calls the relevant includes for the top of the page, have the body content hard coded, then calls the footer includes. The one dynamic page is the news section which calls content from a MySQL database, with a little utility script allowing the client to manage news stories.
Why didn’t I use my first project as a freelancer again to flex my muscles and show off all my skills? Because the requirements didn’t need it. This application is beautifully simple, very easy to host and maintain, blisteringly fast, and hopefully will go another five or six years before its next rebuild. Any half competent developer could look at the source and figure out how to make any changes within minutes of getting access to the source. And it only took a couple of days to complete - including me trying to come up with some sort of new visual design and I’m no designer!
This approach has been used by me and my team for many years with great success, from small 6 page site to large corporate sites for FTSE100 companies. If it meets all key requirements what’s the advantage of making life more complicated? Admittedly the finer details of how to implement it have changed - using css for layout rather than tables for instance, good clean semantic markup, secure against XSS and SQL Injection (hopefully) and obscuring email addresses from spambots, with a sitemap.xml and Google Analytics tagging, and it’s all under version control …
I’m starting planning a much bigger site that needs more content management, and have reviewed several frameworks and applications to make life easier, but have still settled on the approach above with one small change - using Smarty to separate logic from presentation, and moving more of the content into the database. But it’s still clean, simple, fast and reliable.
KISS - if it’s getting too complex it’s probably wrong.
December 20, 2007
Ongoing discussions with a colleague about the most appropriate way to deliver websites that are mobile friendly, led him to send me a link to a blog posting in the Opera Community: ‘Open Standards, One Web, and Opera‘. He reckons this demonstrates his view that you should build a standards compliant site, and leave it to standards compliant browsers to adapt. For the record my view is that whilst this approach may work most of the time, better experience can be given to the visitor if you tailor the code being delivered by the server to suit device capabilities.
Summarising the main argument of the piece:
We believe very strongly in 2 main principles:
- One Web — first coined by the W3C, the one Web principle is what it implies — there should be one single Web that can be accessed by any Web—enabled device, not different content for different devices — this is unsustainable, and a maintenance nightmare — having to maintain several versions of the same content can be really frustrating. The “one Web†is made possible by…
- Open standards. Technologies such as CSS and HTML are open — they are free for anyone to use and get involved in the evolution of, and because they are also standards, pages created using them should be viewable on any device by anybody, as long as user agent vendors follow the standards. Most vendors, including ourselves, are making a pretty good job of this these days, mostly (hint — there is still a bloated giant out there that has trouble with standards, despite controlling over 70% of the browser market. We won’t name any names…) Proprietary standards, that is, standards that are not free for anyone to use and lock you in to having to use a single/few company’s products, are bad for the one Web, and are often inaccessible (that is, not usable by users with disabilities) and expensive to develop with.
I can’t and won’t argue against either point - I believe in them too, but that doesn’t mean I necessarily agree with the implication that ‘one web’ implies ‘one website’ - i.e. one set of code that gets delivered to all devices.
That’s getting a bit close to ‘lowest common denominator’ where you don’t use particular techniques or features if not supported by all devices you’re building for, or another risk is that you’re abandoning a chunk of your audience for the sin of not using a standards compliant browser (that could be 90%+ of your potential audience!)
Where in those two principles does it say you can’t adapt code a bit to suit device capabilities - and before I get screamed at for suggesting multiple sites / thousands of separate templates / layouts etc. note the phrase ‘a bit’ - and use some of the power going spare in our modern day servers? A pragmatic approach rather than dogmatic.
‘One Web’ is about content - reading what the W3C say about One Web in their Mobile Web Best Practices:
“One Web means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using. However, it does not mean that exactly the same information is available in exactly the same representation across all devices. The context of mobile use, device capability variations, bandwidth issues and mobile network capabilities all affect the representation.â€
i.e. The content should be the same, but the way it’s being presented could be adapted to suit the device.
Not all devices / browsers are equal - some have very special needs, particularly mobile ones. Even if they can render full standards compliant web pages, there are problems of bandwidth and memory. Mobile devices will perform better with nice light pages, whereas Desktop users are perfectly happy with big bloated ones.
Screen size and navigation - yes I love the iPhone’s zooming, but at the end of the day when you start to read a site or try and use the navigation, the screen is only 320×480 pixels, and a fat finger is less precise that a mouse. So the likelihood is that a navigation system that works well at 1024×768 with a mouse, might be a bit fiddly on an iPhone, let alone a mobile using a simulated mouse or keys, on the other hand something simple enough for a mobile might be really tame on a Desktop.
But which standard? xhtml is getting wider support within higher spec phones now, but it’s still widely regarded that XHTML-MP is supported by the overwhelming majority of mobile browsers. And what about old phones that prefer WML? Just because you’re sending different markup to different devices doesn’t mean that the markup used won’t be standards compliant.
In summary - ‘one web‘ - yes. ‘Use standards‘ - yes. But adapt the output a bit to better match device capabilities. If my understanding is right that’s also what the W3C is saying.
Next Page »
|
|