LATEST NEWS&TIPS

Administrator | iShopDeveloper - Monday, July 13, 2009

This purpose of this article is to serve as a very basic introduction to web development.  Unfortunately as a consumer, and in this case a consumer would be a business owner, right now building an online business is often anything but a transparent experience.  When I refer to online business I am really referring to any complex database driven website, this could be an ecommerce site, dating website, job postings site etc.

I have read a few articles like this on the Internet and the tone of many suggest that all agencies are a bit of a rip off and that you can set up an ecommerce store for £500.  Well you can set up an ecommerce store for £500, which will constitute a good solution for a certain sector of businesses.  This type of business is often the type of business for which a websites serves primarily as transactional tool and little more.  However for any serious online business a website needs to serve not only as a transactional tool, but also as marketing tool which converts customers, builds loyalty and gives you a platform that can grow, evolve and react with your business.

If your business is more the latter you will need to be prepared to invest... "How much?" is really an arbitrary question.  That's the same as saying how much is a car? It will depend on your needs... it might be that a small Fiat will get you from A to B and serve your needs perfectly, but for guy who's got a wife, 3 kids and 2 dogs... it's probably not going to work.  The difference however when buying a car is that most of us have a reasonable idea of our needs and are able to make a pretty informed decision based on these needs and the car options that we are presented with... Sadly with web development many people just don't understand their needs or the solutions that they are buying.

The truth is there are still a lot of cowboys in the web development industry, but there are also a large number of talented, educated and well informed developers.  Both however still often supply businesses with the wrong solutions and at the wrong price.  The only way to avoid this as a consumer is to understand exactly what it is you're paying for...

What are you paying for? Well... Every Online Business (ecommerce, dating, job posting - database driven site) consist of essentially two parts.

1. The "Back end" or database.

2. The "Front End"

In the case of an ecommerce site, the back end refers to the part of the site which stores product and transacts payment.

The front end is the part of the site which is rendered "client side" in the users browser.  The front end is built using HTML, CSS and JavaScript.  HTML and CSS are essentially just a way of arranging images and formatting text.  JavaScripting is used to do the clever bits on the front end like moving and sliding parts of a web page.  It can also be used to make calculations and make decisions.  Recently I used JavaScript to render an "invoice page" one of two ways depending on the outstanding vlaue of the invoice.  If an invoice was paid (ie. the outstanding value was = 0) I rendered the site with a green theme and printed the text "Payment received with thanks", but if the value was over 0 ie. the invoice was not settled, I rendered the page with a red theme, printed the text "Outstanding Invoice" and displayed a credit card form to pay the invoice.

This means that any web development job (building an online business) consists of essentially 3 parts.

1. Building the back end.

2. Building the front end.

3. Integrating the two.

If you are building an ecommerce site there are very very few cases indeed where you could justify building a back end from scratch.  When I started out in ecommerce 10 years ago it was common place to build your own proprietary piece of software, but now unless you are Amazon.com it's as crazy as saying "I've got money coming in and out of my business... so I'm going to build an accountancy package".  You just wouldn't do it, because 1. It's so complex, but 2. It's been done properly so many times before by people like Sage, SAP, Netsuite etc. etc. who have invested so much more money that you could dream of investing and they offer a solution to you at an accessible price with support.  Ecommerce is now no different, there are now many excellent pre-written platforms.  If you are looking for an ecommerce site, whether you are a small start up or a multi-million pound business, and it's suggested to you by an agency that they build a custom piece of software... Walk away, this agency is either over charging you by placing you on a pre-written platform and charging you development costs for a build that they haven't done or they are completely deluded or incompetent... non of which are desirable qualities in an agency responsible for delivering your online business.

Building the front end. There are 2 parts to the front end.  First you will need a design produced by a graphic designer. This design then needs then to be reproduced in CSS and HTML markup using JavaScript for any clever bits you want.  What's really important to note at this point is that until these two parts (the front end & back end) have been integrated they are two completely separate parts and broadly speaking any front end can be implemented with any back end and any back end with any front end.  This means that as long as you have invested in getting good quality front end code produced, if you choose a platform which proves inadequate down the line, assuming you're happy with the design of the site you can take the front end and just integrate it on to another platform (back end), meaning the work on your first site is not entirely wasted, which is another good reason not to write your own back end, because if you've built it yourself and it doesn't work as you wanted you've either got to reinvest in a flawed system or waste all the the money invested in the system (if you are currently in this situation... walk away it will only get worse and the reality is the money you spend trying to patch holes and make fixes is probably comparable to what you would need to spend getting a new working system up and running).

This is how I would go about producing a site;

Start by sourcing a platform (back end).  If it's for ecommerce search for "ecommerce platform", there are many different platforms available.  Read reviews, look at other sites produced using this system and draw parallels where posible with what you are looking to achieve.  Make sure it's not a template based platform make sure that you or your designer has full creative control over the front end.  There are pre-written platforms for all types of online businesses.  Even if your idea is a bit novel and needs a custom web app produced there are platforms on to which you can build these custom web apps which will drastically reduce development costs.

I would advise looking for a hosted solution.  This gives you one less thing to worry about.  Getting hosting right can be very difficult.  Many businesses either pay over the odds to build in redundancy for when their site receives a peak of traffic or run the risk of their site crashing when they're featured in a bit of editorial. Many hosted solutions let you pay for bandwidth as you use it so your site is always up, but you only pay for what you use.

Once you've decided upon a platform contact the company or platform distributor and ask them whether they have a list of approved developers.  It's good practice if possible to get a few so that you can compare their work and quotes.  At this point map out with the developer what pages you need to produce for the site and if possible get them to quote you on a per page basis so that you know exactly what it is you're paying for.  If the developer you are using offers graphic design services and you are you are happy with their style then let them quote for the whole job.  If however you don't like their design work or have a designer in mind there is no reason why you can't get your designer to do the graphic design work and then hand the project over to the developer.

By managing the project like this yourself you may be able to save some money, but the important thing really is that you understand the process and exactly what it is you're paying for.  As long as you understand this it might be worth letting either your developer of designer manage the process, it will cost you slightly more, but it's a stress free way of working and by the time you've managed the project yourself you've wasted the same amount of money in your time.

iShopAdmin is an ecommerce and online business platform onto which you can build any database driven website.  Click here for more details.

iShopDeveloper offers development and integration services.  iShopDeveloper works primarily with designers and design agencies. Click here for more details.

 
Administrator | iShopDeveloper - Tuesday, July 07, 2009

The traditional argument for not using Flash to build a site is that it's not SEO friendly.  In the past Flash was viewed by Google and other search engines as an impenetrable "box" on your web page.  Any text or meta data contained within the box was invisible to search engines, which led to developers employing all manor of clandestine and questionable SEO tactics like "Cloaking" etc. to overcome this.

Over the past few years Google has begun indexing flash, but only static content.  This means any text or data which is embedded directly in the movie could be indexed, but only in the parent SWF and not in externally loaded SWF.  This was a good step forward, but what it meant in reality was that it was only really small businesses with limited brochure sites or personal websites that could take advantage of this.  Any serious site built using Flash could only be done using multiple SWF with dynamic content brought in using XML or a similar mechanism.

Not any more... as of mid June 2009 Google has begun indexing dynamic and external Flash content Google Webmaster Central.  This is really going to shake up front end development as we know it.  Suddenly there are a lot more options.  Flash is a really simple and often low bandwidth way of creating some really feature rich and exciting applications.  It also doesn't share, to the same extent, the cross browsers rendering issues that it's CSS and JavaScript counterparts do.

Expect to see a lot more serious Flash applications on the Internet over the next year... all we're waiting for now is for the iPhone to support Flash.

 
Administrator | iShopDeveloper - Tuesday, July 07, 2009

Recently I finished a web site project which I had been working on for some time.  I tested it through out the project across all major browsers and platforms, which right now is quite an ordeal.  Having spent over two months absorbed with the one project I was keen to pass it over to the client and move on to the next job.  However the day before handing it over IE8 was released, I rarely pay too much attention to Beta versions, but couldn't ignore a big release like IE8.  I tested the site, but armed with the knowledge it rendered perfectly across all major current and legacy browsers, I didn't expect any nasty surprises... but it is Microsoft after all! My whole main menu broke which then displaced other key elements of the site.

My initial reaction was real anger.  So much of developers time is taken up pandering to the anomalies of IE and coming up with hacks to overcome it's shortcomings... and then they change the goal posts!! There was, as many of you may have noticed, a compatibility button, when selected and running in compatibility mode my site rendered fine, but unchecked it messed it up.  I thought this is ridiculous, the very presence of this button shows that Microsoft knows that IE8 is going to mis-render a large number of websites and they think that this is some kind of solution!!?

... Well in fact I take it all back.  What Microsoft has done is actually really good... and in the circumstances the best thing that they could have done.  The biggest gripe that developers have with older versions of IE is that they don't really observe standards.  So we can't really complain when with IE8 they try to resolve this.  They know by doing this many of the hacks that we've all done in the past to work around the inadequacies of IE may break.  Giving the user a button to click is a solution, but granted not amazing one, because it relies on the user understanding compatibility issues and pressing the button.

So what they also let you do as a developer, something which I don't know of in any other major browser, is effectively future proof your site.  Using a small piece of code placed in the <head> of your file you can get IE8 to emulate IE7 rendering.

You can do this on a page by page basis by adding <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> to the head of your file or you can use IIS or Apache to render all your site(s) as IE7.

IE8 constitutes a huge and much needed step forward for Microsoft and the compatibility mode is a good solution for a problem they would always have had to deal with at some point.  So lets not write off Microsoft yet, IE8 still has everything to play for in the browser wars.

Read more about IE8 Compatibility Mode here: IE Blog