Darren Ferguson - Blog
24 August 2009 at 21:53
If you want rid of IE6 then start doing something practical about it
This post should be subtitled "or stop moaning".
As a pre-cursor to the main content of my post a note to CSS developers. Be careful what you set your heart upon. If IE6 was banished/killed/gone what would differentiate you from any other web developer? If anyone could pick up a manual and learn CSS, and all browsers rendered your markup exactly as intended would that not render your x years of experience redundant? Wouldn't the market become saturated with talentless newbies who could do your job just as well as you could? Wouldn't rates of remuneration inevitably plummet? Is that what you really want?
Do you not think in some way that you enjoy the challenge of those quirks and frustrations that IE6 cause you? Isn't that what sets you apart from the crowd and makes you are craftsman? Sure, everybody loves to moan from time to time it's a human condition - but do you really mean it?
Having gotten that out of the way, let me state clearly that I would like to see the end of IE6 too. Although I rarely get hands on with browsers from day to day I have done in the past. I'm aware of the frustrations and I think it is a completely legitimate movement to get people to install modern standards compliant browsers.
I take issue with the way people go about it.
- Complain about it on Twitter/blog or some other rant outlet.
- Drop support.
- Sign up to some silly petition site.
I'm not too bothered about #1. Everyone needs to let off steam, but if you find yourself repeatedly ranting about IE6 on twitter it is probably a sign that it is consuming too much of your time and you should stand up and do something about it.
I find #2 concerning. I have quite recently been party to discussions where developers have seriously contemplated just dropping support between versions of their product. This simply isn't on. If you have previously supported IE6, have not informed your user base that you are dropping IE6 support then you should be committed to support until such time that you've communicated to your customer your EOL plan. If you've never supported IE6 or are some gimmicky web 2.0 site then I guess it is your call.
Now for #3. We've seen a series of sites recently such as I dropped IE6, IE6 Update, IE6 No more and IE6 offenders. Each of these - in their own way - is trying to get people to upgrade their browser (though the cynic in me says that they are actually just trying to ride a trending publicity wave).
I'm not going to theorise over how to get home end users to upgrade their browsers but I will say that all of these sites are practically pointless when it comes to breaking through a corporate IT policy. Here is why:
- Most corporate organisations don't allow their users to install anything. Privileges on their PC will be locked down to prevent this.
- Even if a user had admin rights a large percentage of them wouldn't know how to upgrade their browser so IT would still have to do the rollout and a 10,000 desk software rollout is expensive.
- The testing of legacy applications in a new browser could be a vast expensive and time consuming project in its own right costing several million (pounds/euros/dollars).
- Do you honestly think your employer cares if you can't watch youtube at work because your browser isn't up to date?
- Many large corporate organisations will do their security at a gateway/proxy level rather than addressing browser security issues. It is much more cost effective.
Even if your stop IE6 campaign works around all of the points above, what is out there right now is still painfully thin on real information on *why* people should upgrade their browser. This information needs to be clear, concise and readable by someone at executivelevel. Here is a hint: the CTO isn't going to approve browser upgrades on the basis that it makes your job easier. The information out there right now is scant, and presenting a protest web site URL to your CTO would make you look a bit silly to say the very least - if you were running for office in your local elections, would you campaign with a one page manifesto?
Finally, some of these sites are targeting the wrong people. Getting a million developers to sign a petition against IE6 is like trying to convince a million conservatives that Thatcher was a great woman.
So what do I suggest? If you are definitely not prepared to wait for the eventual demise of IE6 and work within a large organisation that still uses it:
- Prepare some good documentation on why IE6 is bad in executive friendly language - you could possibly even start an open source collaboration on such a document.
- Include real information on how IE6 costs your organisation money on a day to day basis. Wasted dev/testing hours, time spent patching, blocking sites on the firewall etc.
- Create an internal audience. Circulate your document within your organisation targeting the most senior people that you have access to.
Sure, you'll likely get nowhere but 'Tis better to have loved and lost Than never to have loved at all.
Unfortunately in many many cases software projects are initiated due to palms being greased and the right people being wined and dined rather than any practical considerations. This is something outside of the sway of the lowly developer and unfortunately sometimes we have to accept that we just aren't that important.
19 August 2009 at 07:27
Displaying muiple points on a google map using my Umbraco datatype
A while back I wrote about displaying maps on your Umbraco website using my Google maps datatype for Umbraco. Since then I've had a number of requests to provide an example of how to display multiple points on a map and Matt Perry and I have finally come up with such an example.
The first step is to write a simple XSLT macro that will list out all of the points that you want to show. I'm not going to give that example here, but the output should look similar to the following:
<h1>Service stations in Lancashire</h1> <p>The following data is a list of latitude and longtitude points and a description for service stations in Lancashire</p> <div id="map"></div> <!-- Rendered from a simply XSLT Extension --> <div class="point">52.94341429133642,-2.1892619132995605,17,A34-STONE ROAD TITTENSOR N/B</div> <div class="point">53.029535856006525,-2.176837921142578,16,A50-POTTERIES WAY</div>
Note: The empty map div is a placeholder for the Google map itself.
Quite a few people have written to me asking how one would add several points to a single instance of my datatype and the short answer is you can't. You'll need to create an Umbraco node for every point you want to display on your map, each node containing an instance of my datatype.
In order to render the map you'll need some javascript similar to the following:
var m= new GMap2(document.getElementById('map'));
m.setCenter(new GLatLng(0, 0), 0);
var bounds = new GLatLngBounds();
m.addControl(new GLargeMapControl());
m.addControl(new GMapTypeControl());
var arrayList = $(".point"); // set of elements with class 'point'
$.each(arrayList, function() {
var value = $(this).html();
value = $.trim(value);
var point = value.split(',');
var lat = parseFloat(point[0]);
var lon = parseFloat(point[1]);
var desc = point[3];
var point = new GLatLng(lat, lon);
bounds.extend(point);
m.addOverlay(createMarker(point,desc));
});
// Creates a marker at the given point
// Clicking the marker will hide it
function createMarker(latlng,desc) {
var marker = new GMarker(latlng);
marker.name = desc;
GEvent.addListener(marker,"click", function() {
var myHtml = desc;
m.openInfoWindowHtml(latlng, myHtml);
});
return marker;
}
m.setZoom(m.getBoundsZoomLevel(bounds));
m.setCenter(bounds.getCenter());
For the above to work, you'll need to include jQuery and the Google Maps javascript API in your page. The resulting map should zoom and centre according to the points that you have added.
Accessibility alert: Please provide a header and description paragraph before your map point data as I have in my example in order to ensure that the data makes sense with javascript disabled or to screen readers.
17 August 2009 at 08:19
Thoughts on the Umbraco UK meetup
Last Thursday I attended the Umbraco UK meetup at LBi in London - which I
also helped to organise. It was a great day and as is usual for me
at these events the highlight was to be able to put names to the
faces of people who I've interacted with via email and twitter.
I should have sat down and written my thoughts the day after but I've lazily let time drift and everyone else has gone about writing up the event in the meantime.
Paul Marden of Orcare has done a great job of putting together a press release about the event. Jon Marks at LBi and Bijesh Tank have also written up some thoughts here and here.
As with any Umbraco event, Doug Robar's camera was present and some great pictures are available to view on flickr.
Adam Shallcross and the guys at Cogworks put together some great artwork for a one off Umbraco London t-shirt (as pictured). This artwork has now been adapted to use as screensavers and desktop background.
Laurence Gillian and the team at Vodoodog also create some stunning desktop backgrounds and made them available to download.
On the day we were also helped out by Mo Braga and Bijesh from LBi, Niels who added some real value to the day by coming and talking about Umbraco. Gregory Roekens CTO of Wunderman also joined Niels and Doug to form our expert Umbraco panel for Q&A.
Adam Shallcross, Chris Houston and Gregory Roekens were also kind enough to step up and present some of their latest Umbraco innovations in an open demonstration slot.
Finally we need to thank Jon Marks for picking up on my speculative tweet looking for a venue and suggesting LBi as a venue.
No thanks to the London weather for dumping down a months worth of rain in the space of a few hours. But all in all a great day out.
Oh and I almost forgot, I think I conquered my fear of public speaking after dashing about in front of the crowd all day, so if you want me to come and talk about Umbraco or anything else, do let me know.
Finally, there was lots of talk along the lines of "We should do this more often", so I'm encouraging all of you who attended to come along to the Last Thursday CMS beers from time to time. I'm going to try and go along for the first time myself this month.
04 August 2009 at 22:06
RANT: My day rate is my rate, not your rate
It isn't often I get frustrated enough to write a ranting blog post but I've been getting pretty steamed up with some of the communication I've been getting recently from prospective clients.
I get a fair amount of email each week asking me if I'm interested in working on a project. Luckily I'm privileged to be busy right now and I'll usually - politely - decline. Occasionally, if the project seems of interest and I have the time to commit to it I'll write back outlining some initial thoughts, my terms of business and importantly my hourly and day rates.
Some may question the fact that I get down to money so quickly, but I've become quite adept at spotting emails where budget is likely to cause issues. Many of these emails even start with sentences like "I need some cheap Umbraco/TeamSite development work", so I think it is important to put my rates out there to save everyone some time.
Ordinarily if costs are an issue myself and the potential client agree that our working together on the project in question isn't going to work out and bid each other a polite good day. From time to time I'll get a reaction along the lines of "wow, that's expensive" and I'll usually take the time to explain that a hair stylist with 15 years experience is likely to give a better haircut than a trainee barber. This sometimes gets mistaken for arrogance but I do stand by the metaphor.
By this point you are probably thinking I'm charging silly extortionate rates but I'm not. I keep an eye on the market and charge a good value price that is fair for a contract CMS architect/developer with 12 years commercial experience.
So where's the beef? Well, more and more frequently I'm getting individuals who decide to confront me. These people try to tell me how to run my business and what I should charge. Here are some genuine quotes from emails that I've received in the past 6 months.
- "I could get that done for £300 with Joomla" - (A whole website)
- "You are being ridiculous - nobody will pay that"
- "You should be careful with the recession it is very likely that you will be out of a job soon"
- "You've wasted my time which I am annoyed about you should be more realistic about your expectations in future"
Those are a few of my "favourites" and there are many more but the point is that I am getting sick of defending myself when I shouldn't have to.
In order to end silly and futile process of people trying to dictate to me how I should earn my living, future such emails will be responded to with a link to this post and further - negative - correspondence ignored.
In case you are reading this as a result of receiving such an email from me here is all that you need to know. If you don't want to work with me then that is fine but never make the mistake of telling me what I am worth. If budget is an issue and you are prepared to compromise quality to reduce the price of your project I may even be able to recommend someone. What I won't do any longer is defend myself against personal attacks, such attacks will be greeted with a barrage - of silence.
02 August 2009 at 08:47
The future of web CMS is (not)
Julian Wraith recently asked people to contribute to a debate on the future of content management. While this is an interesting debate I'm going to attack it from a slightly different angle. I'm looking at it from the point of view that there are a number of widespread cross vendor issues that need to be fixed before we start moving forwards.
Each example is a real world example. Kudos points if you can spot the various CMS systems in question (some points apply to multiple CMS). If your CMS doesn't suffer from any of the following leave a link to it in my comments, I'd love to evaluate it.
So, in no particular order:
- I want to access your CMS with my browser but I can't because I use Firefox and you only support IE.
- I want to roll out your CMS within my organisation, I have to migrate all of my users to be stored in a database table in a custom schema defined by your CMS.
- I'm trying to define the layout for a web page using your CMS but your templating language is completely bespoke and not based on any standards.
- I've managed to render a webpage using your CMS but you seem to have added loads of extra div tags all of which have CSS classes named "crapvendor".
- I'm trying to use your WYSIWYG editor but apparently I need to install an ActiveX component.
- I've entered some standards compliant markup into your WYSIWYG editor using the "source view" and it has "corrected it".
- Your CMS doesn't understand the extended character set of my source document but when I paste from this document it happily saves these characters to the repository anyway - as question marks.
- I want to import an image into your CMS - this requires a java applet. (In fact any java applets for any purpose = bad IMHO)
- I've entered a summary of my content, now I have to manually enter keywords too.
- I'm performng an operation that takes some time, the status screen is of the "white" and "blank" variety.
- I've had it with your browser GUI. I want to use Livewriter but no API exists for me to implement support.
- I've finally managed to create something as complex as a webpage, now for the 20 step process to publish it. (Admittedly normally a limitation of the implementation rather than the CMS).
- I've negotiated above process and the URL of my new page is /index.php/news/12042984626492732?ver=8.0&this=sucks
- I want to assemble a list of all recent news items in the CMS, this is half a day of development.
- My site relies heavily on user generated content. I need to set up a cron job in order to get this user generated content back into your CMS.
- You believe that "your way" of versioning content is better than SVN/Git/Sourcesafe.
- Your support engineer just provided a configuration setting to fix an issues. When I ask where this setting is documented I am told "it isn't".
- The same serious defect has existed in your software for over 5 years. I personally have reported it on more than 5 occasions each time I am told to disable the component in question.
There was a time when some of these were acceptable scenarios, mainly due to the limitations of technology but leaving something dated in place because "it works" isn't an acceptable scenario in my book.
If you are a vendor who commits one of these crimes against WCM then I'd love to hear your excuses and intended fix dates. If you disagree with any of the above being a problem I'd also love to hear from you.
6f82f1d2683dc522545efe863e5d2b73