Archive

Archive for the ‘Development’ Category

Back in the saddle

July 14th, 2010 Stuart Ford No comments

I  started my new job in Birmingham city centre (specifically, the Jewellery Quarter) on Monday, for Glide Utilities, a firm that sells household utilities (gas, electricity, telephone, broadband and TV licence) as a package to renting house-sharers, passing on a portion of the cost-savings brought about by bulk deals made with suppliers.

As I mentioned in my previous post, instead of paying separate suppliers directly, who will insist that accounts held with them are in one name only, house-sharers all pay a fixed sum every month to Glide who then handle the rest. It makes for easy budgeting and reduces household administration which can otherwise be a bit bewildering to people who are living separately from their parents and not in university halls for the first time. Glide is currently unique in its market and by all accounts seems to be doing very well.

My job is, with another member of technical staff, to maintain and enhance the somewhat complex software system that runs the company, which does virtually everything from internal company administration, accounting and billing right through to live ordering and status checking of utilities from suppliers. As with any existing system being started on by a new developer I will need a suitable gear-up period, but I’m making great inroads into it and I reckon that by the end of the week I’ll be able to make some initial recommendations as to procedure and future development.

It’s really good to be doing what I do full time again. It occurred to me on Monday morning that the last time I got up in the morning to go to a full time job in an office somewhere my life was very different, better in some ways and worse in others. It’s very different now, still a long way from ideal, but I do know that I’m going in the right direction to get to where I want to be. Doing what I am good at every day is a critically important step towards my goals rather than wasting time on the amount of sales and marketing that self employment demands of me, because I’m absolutely hopeless at both. I’m creative and technical, always have been, always will be.

I’ve been told to get the train in on Friday and not drive in. I can only assume that this means there’s going to be some sort of new-starter party in the afternoon/evening. It’s a young company and everyone who works there is around my age or younger, so I think it’s a fair bet that that’s what it’s going to be.

Categories: Birmingham, Development, Linux, PHP, Technology, Work Tags:

Gainful employment

July 5th, 2010 Stuart Ford No comments

I’m delighted to report that on Monday I start a new job as a Software Engineer for a utilities management company in the Jewellery Quarter in central Birmingham. The reality of being self employed is quite different to what is perceived and I was very much struggling with the sales and marketing side of working for myself, so I decided to move back in to full time employment in order that I may concentrate on and spend my time on what I’m actually good at rather than incur frustration at spending time on having to do things that I’m not so hot at. I’ve never been a salesperson and I never will be. You have to be a certain type of person to do that I’m just not that person. I’m creative and technical, always will be.

The company is unique in its market. It provides a service to landlords and tenants whereby all members of a shared rented household pay one fixed monthly sum for all their utilities, including gas, electricity, water, telephone and broadband. Primarily aimed at the student market where house-sharing is most common, the company uses its buying power to negotiate cheaper rates from utilities providers and passes a portion of those savings on to their customers. It’s an exciting young company and I believe that I can make a difference to their operation and improve it through the ongoing enhancement of their existing software systems.

It’s an 11 mile commute into central Birmingham every day, which is fine, it should take me around 45 minutes each way. I don’t have to be in the office until 10.00am each day so that should allow me to avoid the worst of the traffic, which is ironically enough on the roads leading into and out of Sutton Coldfield rather than central Birmingham itself, once I’m past Sutton it becomes a lot easier. The equivalent train journey is less pleasant at 90 minutes in each direction including the two walks from the start and destination stations, so using the car is the way to go.

I’m looking forward to it.

Categories: Birmingham, Development, Linux, PHP, Technology, Work Tags:

WordPress 3.0 problem

June 25th, 2010 Stuart Ford 1 comment

After spending half a day on this I’m admitting defeat and calling on the great wisdom of the WordPress-using community.

As many WordPress users will have done recently, this week I upgraded to WordPress 3.0. The upgrade went without a hitch and I also upgraded all the various plugins that were presenting compatibility updates. Noting to report.

However, the other day I created some static pages, and now the default URL of the site redirects to one of these pages rather than showing the normal ten latests posts. I’ve checked the settings under Settings -> Reading, setting it to a static page and then back to “your posts” even, but to no avail. The main URL of the site continues to redirect to a static page.

As a hack I’ve put a redirect in the Apache configuration so that it forces a redirect to the 2010 archive, which for the time being is alright because I don’t have many more than ten posts for the entire year, but this isn’t always going to be the case and by the end of the year the main page is going to be huge. Not only that but as soon as I make my first post in 2011 I’ll have to change the redirect to the 2011 archive and only one post will be shown.

I’ve done all the usual Googling but I cannot find anybody else who seems to be having this problem. I’ve found people who are having the reverse problem, and there seems to be fixes for this, but not this way around.

I’m reasonably sure that it’s a 3.0 thing since I’ve created static pages in the past, before the upgrade, and this didn’t happen. If you know what it might be please leave a comment :)

Categories: WordPress Tags:

Aptana Studio

June 25th, 2009 Stuart Ford No comments

aptana_blackUp until a few months ago I used Zend Studio as my IDE (Integrated Development Environment). I’d used this for a number of years, since 2005 I believe, and the version I was using (5.5.x) was starting to show its age. Zend do have a new version but I never got on with it, largely I suspect due to its Eclipse underpinnings. Whilst Zend Studio 5 was dedicated to PHP, Zend Studio 6 seemed little more than a plugin for a different IDE that was more geared towards Java developers, and it just didn’t work for me. The price didn’t work for me either, at €399.

Then along came Aptana. which I stumbled across whilst doing some research into Adobe Air (which came to nothing, incidentally, I’m not going to bother with it). Apatana takes all the good bits of Eclipse, adds to them and packages them up into an IDE that’s aimed at web developers in general, whether your poison is PHP, Python, Ruby or whatever else. It’s aware that the software you’re developing is web software, and so knows about things like CSS, Javascript, Javascript libraries, XML, JSON and so forth. It just feels like it’s geared towards you as a web developer, rather than a generic software developer, which is how Eclipse makes you feel.

Aptana is brimming with features, too numerous to list here. Suffice to say that, if you are familiar with modern IDEs, all your bases are covered and then some. For those who don’t use an IDE I would suggest Aptana as a good starting point in the IDE world because of what I mentioned before about it not being completely generic.

It has its shortcomings, as any piece of software does. My biggest gripe is that it’s written in Java, which brings along all the usual problems associated with software written in Java, i.e. large memory footprint, high CPU usage, messy crashing, etc. That said I appreciate that Java has allowed Aptana to be cross-platform, thus reducing development costs and, ultimately, keeping its price tag at a very reasonable $99. It’s certainly the best $99 that I will spend this year.

Categories: Development, PHP, Technology Tags:

Explorer Destroyer

May 1st, 2006 Stuart Ford No comments

Slashdot | Explorer Destroyer – this is an extraordinarily bad idea and will most likely lead to another inter-browser jihad similar to that fought between Netscape and Internet Explorer in the late 90s, and trust me, nobody wants to go through that shit again. The trouble is, the pro-Firefox and pro-Opera and pro-not-IE zealots fail time and time again to understand the practicalities of developing sites and applications for modern web browsers.

The central issue is “web standards”. The W3C sets and maintains web standards which govern the specification and use of the various markup languages and how browsers should interpret said languages. This is all well and good, but only in theory. And it’s a good theory, make no mistake, but unfortunately we have a little thing called “real world” to contend with.

The trouble is that browsers are not standards compliant, which means that website coders by extension will waste their time by coding up a 100% standards compliant website, because the likelihood is that it won’t work, at least not fully, in any browser. Militant (read: non-commercially minded) developers stick to their guns on this, proclaiming that their site is 100% compliant, and to hell with the browsers, it isn’t their problem. Again, they do not live in the real world.

Some browsers are more standards compliant than others. Firefox and other Mozilla based browsers are more standards compliant than Internet Explorer. Safari and other KHTML browsers are more standards compliant than Firefox et al, Opera is more standards compliant than Safari et al, and so on and so forth. But none are 100% compliant. So, when coding up your website, you have to make allowances for this, which often means compromising design and/or functionality in some way. You either do this by changing your overall design, or you make browser-specific hacks. The former is the preferred method, but sometimes you’ve no choice but to do the latter, dirty as it may be.

Then there’s another issue in that some of the official web standards aren’t actually that sensible, with some bordering on pretty awful. Internet Explorer’s interpretation of the W3C standards is very flexible in some areas, and while this is technically not correct and it’s wrong of Microsoft to insist on their on take on the standards (another relic from the Netscape/IE war, anyone remember “Netscape tags”?), some of the modifications they have made are actually pretty reasonable, and really should be in the offical standards.

For example, the IE “box model” (how the browser calculates the dimensions of rectangular areas) in particular makes far more sense than the flawed and illogical W3C version, standard or not. The web development community recognises this particular issue, albeit reluctantly, so Microsoft aren’t all bad, even if their unilateral execution of the modification seems abhorrant to some.

I also tire of the shortsightedness of users of alternative browsers. On asking them why they prefer Firefox or whatever over Internet Explorer, their answers are generally one or more of:

  • $my_browser is more secure!
  • $my_browser has tabbed browsing!
  • $my_browser supports transparent PNGs!
  • $my_browser isn’t Microsoft! F/OSS! (free open source software)

The first one in that list is understandable, IE does have some problems with its security. But that’s nothing to do with how it renders web pages, and that’s the crux of the “standards” arguments. The same applies to the second item. Tabbed browsing is an application feature offered by the browser, and again, nothing to do with the page rendering. It is NOT REQUIRED by the W3C standard.

The third item is a cosmetic extravagence that frankly nobody needs and everybody has managed perfectly well without since the inception of the web. Granted, it would be a nice thing to have, but let’s face it, the web isn’t going to wither and die without it. Then on hearing the fourth item I stop speaking to the person because it’s then clear to me that it’s not about browsers and standards, they just want to bash Microsoft. Yawn. Move on.

IE isn’t perfect, not by any means. It’s old and it’s unsecure and its liberal take on published web standards can be infuriating. But it is a good, solid and above all popular browser, which 90% of the world uses. So while that’s still the case, developers working to a budget and who have to deliver return on investment will more often than not develop a site for IE, and then see what they can do to get it to work in other browsers, and even then they’ll probably stop at Firefox, the second most popular browser. Beyond that it’s just not commercially viable to spend time satisfying the various levels of standards compliance demanded by every subsequent minority browser. Sorry, but we don’t live in web standards utopia yet, we live in the real world, and we’ve all got to try to earn our keep in it.

This is a quite insightful comment regarding the perception and reality of standards:

I think you’re mistaking a standard for a formal specification.

I agree with you that it would be great if the whole browser world followed W3C recommendations, given their popularity outside the IE world, and the fact that they are formally specified. However, the word “standard” implies a widespread acceptance, and the only player in that game today is defined by “what IE 6 does”. Calling most specifications about the web from the W3C “standards” is, unfortunately, rather misleading; you cannot have less than 1/5 of the market share and claim to be any sort of standard, and AFAICS the W3C themselves rarely use that term.

You don’t like it. I don’t like it. But it is the way things are, and for the foreseeable future it’s the way things will be [...] .

Returning to the subject of the referenced article, Firefox isn’t the holy grail of web browsers, so promoting it in such an invasive way is, in my opinion, no better than site that won’t let you in unless your’re using IE. Firefox lacks features just as Internet Explorer does, and it certainly does not have halos for standards compliance or security. Want a list? Be my guest.

Categories: Development, Microsoft, Technology Tags:

Web development truths

January 15th, 2004 Stuart Ford No comments

Anyone can be a web developer, right? Wrong. During the dot.com boom of the late 90s, any old jack-the-lad was claiming that he was a web developer, ranging from 14 year old nephews (known in the industry as Nephew Technology – used by company directors to produce their website in acts of blind faith in untrained schoolboys) to pensioners with way too much spare time on their hands. The dot.com crash of 2000 sorted the men from the boys as those who really didn’t have any genuine skills at all lost their jobs or customers, whilst those who did know what they were doing were more likely to retain theirs.

“Red Herring” websites that cost an incredible amount of money but at the end of the day proved to be little use to anyone became a thing of the past. The Emperor had finally seen the true nature of his new clothes and was no longer willing to pay over the odds for poor results.

I survived the dot.com crash by not getting involved with any of the silly companies that sprang up at the time, instead choosing to make reasonable money and consistently getting better at what I do. People can now easily see the value in my skillset and experience when they brief me for projects. But along the way I’ve learnt a few home truths, which I am not afraid to tell customer both new and existing when I need to:

“How much is a website?”

Never EVER ask a web developer this question. Imagine yourself walking in to a car showroom and asking the dealer – “How much is a car?”. Ludicrous isn’t it? The dealer can’t possibly tell you how much a car is because the price of cars ranges from £5,000 to £500,000 depending on what sort of specification you require and how much you’re willing to spend.

It’s exactly the same with a website. Before a web developer can even give you a ballpark price for developing a new website project, he/she needs to have a reasonably detailed description of what you want it to do.

If you don’t know what a website can be capable of, then they will be more than happy to present options to you, in much the same way as a car salesman will explain the meaning of the obscure acronyms you read on a car’s option list. You may not know what a car can be capable of, so ask the salesman, he’ll tell you. The same applies to web developers, although obviously not on the subject of cars.

You have to tell them what you want, only then can they tell you what it’s going to cost. Not all websites are alike. They don’t come in a set range of flavours. Almost every single website in the world is unique. You’re basically specifying a customised product, with a customised cost.

Fast, Good, Cheap – Pick Any Two

This is golden rule number 1 when constructing a brief for a new project or an extension to an existing project, and it’s by no means specific to website software. Think about it carefully: If you want a good quality product in a hurry, it’s not going to be cheap. Alternatively, if you’re still in a hurry but don’t want to spend a lot of money, the product isn’t going to be particularly good. Lastly, if quality and low costs really are paramount, then you’re not going to have it finished in a hurry. Personally I recommend option 1 followed by option 3 as I’m a perfectionist and actually find it quite difficult to produce something that’s not “good”.

Few companies, at least of the size that most web development agencies operate at, can offer all three, and those companies who claim to be able to do so often just try to sell you a pre-packaged website solution that probably won’t be directly suitable for your purposes, which then of course brings the “quality” factor back into question – are they really offering all three after all?

“I want to be able to update it myself”

This is, has always been, and always will be the biggest double edged sword in the whole website arena. It sounds like a marvellous idea doesn’t it – a website that the owner can control and update themselves with no programming knowledge or dependence on the web developer required. Cynics may well claim that web developers don’t like to produce such products because it subtracts from maintenance contracts, and to be honest there is an element of that, but it is by no means as extensive as you might think.

Principally, the simpler something becomes, the less flexible it also becomes. Again, this is not specific to web development projects, it applies to pretty much all software and hardware products that require some sort of human interaction, from Microsoft Word to your washing machine.

Let’s change the brief here to “I want it to just wash my clothes by pressing a button”, when you’re buying a washing machine. Imagine a washing machine with just one button – “Wash”. Sure, it would wash your clothes, at a fixed temperature and with a fixed programme, and for a lot of people this would be fine. It’s simple to use and virtually foolproof. But woe betide it ruins your Club Monaco wool-knit t-shirt because the programme was unsuitable, because then you would need to change how the machine operates when washing such garments. You need another button. Suddenly the machine has become twice as complicated as it was before.

The same applies to “update yourself” websites (the proper name for which is Content Management System, or CMS). I can provide you with a form with one single text box that allows you to change the content of a paragraph on your website. No problem, you just type the text and the paragraph is updated. But now you want to change another paragraph, and not only that, the paragraph is on another page, and furthermore you want to add an image and change the text colour and add a few links. But at the same time, you don’t want to have to know anything about HTML. Herein lies the problem.

Now you have two options. If you want your content management system to become more complex to satisfy your growing needs, you either need to start learning HTML (the markup language that’s used to define the layout and content of web pages), or you need to invest more money into the CMS in order that you don’t have to. One route is obviously more expensive than the other, and each have their disadvantages.

With the first option, many people fall into a common trap known as Microsoft Word, but the trap also applies to other HTML-producing software. Microsoft Word, a popular item of software on most peoples’ computers, claims to be able to export normal Word documents as HTML files. This, for the most part, is untrue. It may well be able to product HTML files, but the HTML it produces is the most god-awful excuse for markup code that’s ever been seen, and this is not just a personal opinion, this is one of those Internet-wide truths that everyone (bar perhaps Microsoft) accepts. Yet it’s all too tempting for website owners just to simply cut and paste Word HTML into the CMS and expect it not to completely screw up their website.

The point here is that allowing people to include their own HTML on their website empowers them to do a wide range of very powerful things. It also allows them to do some very bad things. If you want to manage a complicated website yourself, then you’re going to have to learn how to do some complicated things, including learning at least basic HTML that’s sympathetic to the site’s design and style, rather than how Microsoft Word thinks it should look.

The second option is also not without disadvantage. There is no end to how complicated your CMS can get in order that you don’t have to learn any HTML, and therefore there is no end to how much money you can sink into it just because you don’t want to have to “know about programming and stuff”. This is good for the likes of me, but bad for you. In some cases people spend more money on the CMS so they can then spend their own time updating the site themselves than they would have done paying their web developer to make the changes for them under their maintenance contract. There’s a point at which updating the site yourself simply ceased to be cost-effective.

It is necessary to strike a balance between allowing the CMS to automate and you to provide your own creative input by using HTML. The web, despite its apparently simplicity to the average user, is getting more and more complicated by the month underneath. If you want to be involved with controlling the back end then you too will need to become more complicated and technically literate. If you don’t have the skills for this, are not willing to learn the skills for this, or if it otherwise scares you, then leave it to someone else who does have the skills and isn’t scared to take advantage of it.

Rhydio customers should note that this quasi-rant is not aimed at anyone in particular – I just sometimes get this feeling of tremendous dread whenever I hear the immortal words “I want to be able to update it myself” :)

Categories: Business, Development, Technology Tags: