Author Archive
Icebergs and IT pitfalls
When I first went to work at QA Plus, I was full of enthusiasm, and happy to (as I thought) be working at a proper software company, with the whole ethos that goes with it – namely valuing quality and inspiration over tyranical principles such as exact time keeping, and dictatorial management. For a while, I really thought that the working principles were more adult than with previous companies I had worked at, and that my ideas and forward thinking would be appreciated. I had answered an advert for an ASP,HTML and javascript developer to work on their new ‘web enabled version’. The wording of the advert was suspect at best, but it sounded like the job for me. I had been working at an electronics company previously, running the service and repair department, but I was keen to get into software. I had built some access apps, and some simple web apps for the company, and really wanted to be building web apps full time. So, after two very strange interviews with the development director and the managing director, during which I was never asked about my technical skills, I had apparently been offered the job. Chris Davies, the MD said to me at the end of the interview ‘ok then, we’ll sort that out’, and showed me the door. I was convinced it was a fob off, and that he wasnt interested in me. This feeling was compounded by the fact that after two weeks, I still hadnt heard anything from them. On my friends advice, I emailed the PA and said that I could start on 1st October if that was ok with them, and she replied that yes, that was ok with them. I was over the moon. I’d got my first programming job!
On my first day, I was instructed to sit with one of the analysts so he could show me the Access application they sold. I wasnt really interested, as I couldnt stand access programming, but hey – I did what I was told. After 2 mind numbing hours of listening to this obviously technically unskilled analyst, I was becoming slightly worried about the quality of the staff at this company. Confused, I went back to my desk. The next thing I knew, my boss gave me a worksheet with some development tasks to complete. To my horror, they were related to the access application – an overblown access 97 app with about 900 forms, and 800 tables that had been converted from Ingres! The whole system was written using DAO, which was outdated by that point (I had been used to using ADO for my ASP web sites). The system hung together like a year old corpse. There was no form of documentation, absolutely nothing to refer to, when reading through the code, and if I had any questions to ask, I was told to refer them to a 6’2″ tattooed football hooligan who sat in the corner with ear plugs in, cause the developer he sat next to had verbal diahorrea, and made this guy feel murderous. Working on this bloated, badly ‘designed’ system was a joke. Finding the simplest of bugs took hours. One of the main problems was that the ‘analysts’ reported bugs in the Access Form that they appeared to the customer. They did not investigation, and had no clue as to the underlying structure of the system, which was intrinsically messy and uneccessarily complex. Forms were given names on execution, that didnt exist in design mode – other forms were multi use parameter select forms, that could have one of 30 names when running, as the name was stored in a table, along with other parameters only fed to it at runtime. No class modules were used, as none of the programmers had any idea what object oriented programming meant, and all of the data access code resided in the Forms. Separation of logic, UI and data was something these guys had never heard of. The system was a mess, and remains so to this day.
Apart from Steve the hooligan, who ,on the first time I met him produced a news paper clipping with a photo of him punching a policeman, there was a dude called Mark who talked all the time about climbing and martial arts (nick named Kung fu climber), and a long haired farmer from out in the sticks, who didnt understand why anyone would use the internet, and was left to work on legacy RPG400 systems. Doubts! ? Doubts about the quality of the staff?!? Wholy balls bags batman, this place was like ‘One flew over the cookoos nest’. All we needed now was a huge Indian to start throwing sinks around and we were in the nut house. To be honest, I learned to really like Steve and the other developers, and none of the blame for the state of the software we sold should ever be apportioned to them. Honestly, they did what they were told by the MD, and made a very bad system work somehow.
My doubts about the quality of the staff hadn’t even been fully realised yet. I still hadnt had the pleasure of a full scale technical discussion with the managing director. OMG…. So, chris comes to me one day, after months of no word about the web development I was supposed to be working on, and decides out of the blue to start telling us what he wanted. His main concern was that the text boxes, and drop down combos should have predicitive text functions, just like in access. Not possible, we told him (this was years before ajax) – that would result in page refreshes on every key press, and would cause all sorts of problems. But, why not? says Chris – we did it in Access. I then explained that it wasnt done by anyone at QA, it was a built in feature of Access 97, and couldnt be replicated on the web, at which point he got up and walked out – never to discuss the project with us again. 
I had been asked by the development director (on the surface a nice enough guy, who just seemed like he had no interest in the job) to estimate how long it would take to convert the whole access sytem to ASP. I gave an extremely conservative guestimate of a year, at which point he went white, and said ‘I cant tell Chris that’, and I couldnt believe what I was hearing. Did these people have any idea of how web applications worked?!? They seemed to think that web apps were as simple as MS Access apps! I had mentioned that the system would need to be analysed and documented before specs could be drawn up to write the web app, and Chris had said that we could just use the access forms as the spec. I couldnt believe the arrogance, and ignorance of this guy! He really had no clue about software development, and it was becoming clearer to me that this company was a shambles. And I was yet to meet my nemesis….. Honestly, this story actually gets worse.
One day, we had a new guy turn up. We needed a DBA to be able to put a bid in for a huge job with the NCSC (national care standards commission). Previously, Chris had taken me and some others to a meeting at NCSC to test our software on their Citrix servers, and apparently I was to play the role of DBA. Ofcourse, this had been discussed bettween the MD and the Development Director, but neither of them had bothered to explain it to me. So, at the meeting, in front of the NCSC staff, the MD starts asking me questions about SQL server (triggers, replication etc.), to which I replied that I had no idea what he was talking about. He went red, and wouldnt look at me again. So, they took on this new DBA (apparently he’d been on an actual training course). He was a weird little guy, from PontyPridd (the same place as the hooligan) – he seemed to have no social skills, and had an arrogance that made you want to have nothing to do with him. One day I went to talk to him about a SQL issue, and he cut me off with a demand that I went and did something for him. I took a step back, and said ‘you’re not in charge of me’, to which he replied ‘yes I am’. I said ‘since when?’, and he said the MD had told him that morning that he was in charge of the developers. I was dumb struck. This guy had no managerial apptitude whatsoever ( and this opinion was to be borne out for the next 8 years as he made our lives unbearable -especially me). His name was Paul, and I have never met such a pig ignorant, arrogant and objectionalable little twat in my whole life. I was incredulous that the MD had made this guy into our boss, and had not even bothered to tell us. Jesus, just how incompetent were the management here? This new boss immediately started to ride rough shod over all of us, had no regard for our experience or knowledge, and worst of all – had only worked with COBOL and VB3 before!! He had no experience with Access. Apparently he gained this new position by explaining to the MD that MS access was bascially the same as VB3. lmao. apart from the VBA syntax, the two platforms had almost nothing in common. Access couldnt be compiled, it used a subset of VB, had no screen manipulation functions, and was designed primarily as a tool for small businesses to build database apps quickly and cheaply. Furthermore, this new horror of a manager had not one iota of knowledge of newer development platforms (such as VB6, java, the forthcoming .NET or anything to do with the web), and he was now in charge of all things technical at QA. I really started to want to get out.
When I left QA last october, I had been undermined by this ‘technical director’ to the point where the MD didnt value me any more. A few years ago, we all made so many complaints about this appalling guy that he had been taken out of our department. But, when I was on holiday a couple of years ago, they moved him back in. I went to the development director to complain, but he assured me that Paul had changed, and had grown up a bit. I said that there was no way he would ever change – once an aggoragant shit, always an arrogant shit. And I was right. God was I right. This guy did everything he could to crush any ideas I had (ideas that would update our software and give it a longer shelf life – such as ADO libraries and a converter to get us off the DAO platform). I was told to shelve prototypes I had written, any useful comments I made in the ’3′ technical meetings he held were ignored, and not minuted ( the agendas were identical for each of the meetings), and he was hell bent to making me work full time on the access system, when I had spent the last 5 years working on converting the system to VB.NET, and had been thrown onto a java web project (I was repeatedly refused training on java, linux, Mysql, JSF or eclipse) and told to get on with it. Now, after putting my heart into learning new technologies that could take the QA software out of the dead end it was heading for, I was told I was to work on MS Access exclusively (but I could work on .NET and java when they needed me to do so.cheers.). I had to get out. I made numerous complaints about the TD, but I was told that the MD was refusing to deal with it. The TD was getting worse by the day – his rudeness and arrogance had become a company wide joke. He shouted orders accross the room at us, had total disregard for any ideas we had. At one point, during an argument with another developer, I heard him say “All I want you to do, is do whatever I say”. unblieveble. The arrogance just oozed out of him.
Well, apparently, they are pretty much stuffed now. There are no plans to have a 64 bit port of DAO, and the QA software wouldnt compile into Access 2007, so god knows what its like with 2010. Once 32 bit pcs are no longer available, the company will no longer be able to supply their product. I told them a hundred times, that they needed to convert to ADO, but the wonderful Technical director sidelined me, and took no notice.
What with the new Tory government making such heavy cutbacks in public sector spending (especially IT projects), I’d say I got out of there in good time. In the words of one unlucky chap “Iceberg, right ahead!!”. Nah, dont worry it’ll melt by the time we get to it. lmao
Who do I follow?
For as long as I’ve been working as a programmer, I’ve been reading as much as I can about the subject. Not just coding, and new technologies, but management methods, creative processes, and how to get the best out of a team of programmers / designers / marketeers etc. Out of all of the publications I’ve read, and online blogs and articles, one man stands head and shoulders above the rest. His writing style is wonderful – never too dry, yet incredibly insightful and concise. His name is Joel Spolsky, and he has been writing a blog all about software development for many years called joelonsoftware.com. Now, I know that many people have already heard about Mr Spolsky, but I’m conscious of the fact that many new graduates outside of the US won’t.
Do yourself a big favour, and get stuck into the articles on this blog – especially the story of how netscape went from being the biggest browser vendor on the planet, to being absolutely unknown. joel’s 12 point test for effective software teams is amazing, and honestly a bit scary. Apparently, Microsoft pass this test on all 12 points every day,whereas the last company I worked for barely scraped 3 out of 12, and while I’m getting Pendragon Interactive off the ground, we probably arent doing any better. (obviously I hope we will improve this score greatly once we are into our own offices, with a couple of support staff on board).
Anyway, read joelonsoftware.com today, and then read it again tommorrow my young Padawan.
Search Engine Optimization And Why You Gotta Use It
E-commerce is a cut throat business. You have to arm yourself with the proper know-how and the tools to make your site a cut above the rest. Each day, more and more sites are clambering to optimize their rankings in websites and if you lose your guard, you may just get trampled on and be left in the abyss filled with so many failed e-commerce sites.
Search Engine Optimization or SEO is a term widely used today by many e-commerce sites. For the past few years and the next ten years or so, search engines would be the most widely used internet tool to find the sites that they need to go to or the product or information they need.
Most people that use search engines use only the ten top search results in the first page. Making it to the first page, more so to the top three is a barometer of a sites success in search engine optimization. You will get a higher ratio of probability in being clicked on when you rank high. The more traffic for your site, the more business you rake in.
But, it is essential to grab a hold of that spot or make your ranking even better. As I aforementioned, each day is a new day for all e-commerce sites to make them selves rank higher using search engine optimization. It is imperative to make your site better and better everyday.
So just what is search engine optimization and do you have to use it? The answer to why you have to use it is an easy one. You need search engine optimization to be number one, or maybe at least make your site income generating.
With search engine optimization you can get the benefit of generating a high traffic volume. Let’s just say you get only a turn out of successful sales with 10 to 20 percent of your traffic. If you get a hundred hits or more a day, you get a good turn out of sales already. If you get only twenty to ten hits a day, you only get one or two if not any at all.
So once again, what is search engine optimization? Search engine optimization is utilizing tools and methods in making your site top ranking in the results of search engines. Getting yourself in the first page and better yet in the top half of the page will ensure that your site will generate public awareness of your site’s existence and subsequently generate more traffic, traffic that could lead to potential income and business.
Search engine optimization requires a lot of work to be fully realized. There are many aspects you have to change in your site or add as well to get search engine optimization. These will include getting lots of information about the keyword phrases that are popular in regards to your sites niche or theme.
You may also need to rewrite your sites contents so that you could get the right keyword phrases in your site without making it too commercial but light and informative. There are certain rules and guidelines to be followed with making your site’s content applicable and conducive to search engine optimization.
You will also need to collaborate with many other sites so that you could get link exchanges and page transfers. The more inbound and outbound traffics generated by sites among others are one of the components search engines uses to rank sites.
Try to search the internet for many useful help. Tips, guidelines and methods for search engine optimization are plenty to be found. Read many articles that can help you optimize your site in search engine results. The more knowledge and information you gather the better. This will all help you in getting those high rankings. This may require a little time and effort in your part but the benefits will be astounding.
If you can part with some money, there are many sites in the internet that can help you in search engine optimization. There are many sites that help in tracking keyword phrases that can help your site. There are also some content writers that have lots of experience in making good keyword laden content for your sites that have good quality.
Act now and see the benefits garner with search engine optimization. All of these will result to better traffic and more business for your site and company.
Ways To Improve Sales Through Your Website
Anyone who has been marketing online knows that the lifeblood of a business is the traffic of a site. More visitors equal more sales. However, here are some ways that you can tweak your sites with to improve sales without the need to get more visitors.
The first method is to weave in your personal touch in your sales message. Nobody wants to be sold to by a total stranger, but many people will buy what their close friends recommend to them. If you can convince your audience that you are a personal friend who has their best interest at heart, they will be convinced to buy your products. Remember to speak to an individual in your salesletter, not to your whole audience.
The second method is to publish testimonials and comments from your customers. A good idea would be to publish both good and bad comments; that way prospects will be really convinced that these testimonials are real. When prospects see testimonials on your website, they will have the confidence to buy from you because human beings follow the herd mentality; when others have bought and proven it authentic, they will jump on the bandwagon and buy too.
Use visual representations for the problems and solutions that your product offers. Not everyone will read your text copy from the head to the tail, but most people will pay attention to images on your website.
Offer quality bonuses to accompany the product. When you offer bonuses that complement your product, your prospects will feel it’s a very good deal and it would be stupid to miss it. Be sure to state the monetary value of your bonuses so that people will be even more compelled to grab your good bargain.
Lastly, ask for the sale! Many people entice their prospects with the benefits of their product, sell to them with stories of how it has solved many problems, even offered killer bonuses but forget to ask for the sale. Give a clear instruction on how to buy your product (e.g. “click the button to buy now!”).
The Importance of a Sitemap
A sitemap is often considered redundant in the process of building a website, and that is indeed the fact if you made a sitemap for the sake of having one. By highlighting the importance of having a well constructed sitemap, you will be able to tailor your own sitemap to suit your own needs.
1) Navigation purposes
A sitemap literally acts as a map of your site. If your visitors browses your site and gets lost between the thousands of pages on your site, they can always refer to your sitemap to see where they are, and navigate through your pages with the utmost ease.
2) Conveying your site’s theme
When your visitors load up your sitemap, they will get the gist of your site within a very short amount of time. There is no need to get the “big picture” of your site by reading through each page, and by doing that you will be saving your visitors’ time.
3) Site optimization purposes
When you create a sitemap, you are actually creating a single page which contains links to every single page on your site. Imagine what happens when search engine robots hit this page — they will follow the links on the sitemap and naturally every single page of your site gets indexed by search engines! It is also for this purpose that a link to the sitemap has to be placed prominently on the front page of your website.
4) Organization and relevance
A sitemap enables you to have a complete bird’s eye view of your site structure, and whenever you need to add new content or new sections, you will be able to take the existing hierarchy into consideration just by glancing at the sitemap. As a result, you will have a perfectly organized site with everything sorted according to their relevance.
From the above reasons, it is most important to implement a sitemap for website projects with a considerable size. Through this way, you will be able to keep your website easily accesible and neatly organized for everyone.
The Importance of A Good Design
Your website is the hub of your online business; it is the virtual representation of your company whether your company exists physically or not. When you are doing business online, people cannot see you physically like how they could if they were dealing with an offline company. Hence, people do judge you by your covers. This is where a good design comes in.
Imagine if you are running an offline company. Would you allow your salespersons to be dressed in shabby or casual clothes when they are dealing with your customers? By making your staff wear professionally, you are telling your customers that you do care about quality. This works simply because first impressions matter.
Similarly, the same case is with your website. If your website is put together shabbily and looks like a 5 minute “quick fix”, you are literally shouting to your visitors that you are not professional and you do not care for quality.
On the opposite, if you have a totally professional looking website layout, you are giving your visitors the perception that you have given meticulous attention to every detail and you care about professionalism. You are organised, focused and you really mean business.
On the other hand, you should also have anything related to your company well designed. From business cards to letterheads to promotional brochures, every little bit matters. This is because as you grow your business, these items become the face of your business. Once again, think of the “salesperson dressed shabbily” anology, and you will get my point.
Search Engine Friendly Pages
There is no point in building a website unless there are visitors coming in. A major source of traffic for most sites on the Internet is search engines like Google, Yahoo!, MSN, Altavista and so on. Hence, by designing a search engine friendly site, you will be able to rank easily in search engines and obtain more visitors.
Major search engines use programs called crawlers or robots to index websites to list on their search result pages. They follow links to a page, reads the content of the page and record it in their own database, pulling up the listing as people search for it.
If you want to make your site indexed easily, you should avoid using frames on your website. Frames will only confuse search engine robots and they might even abandon your site because of that. Moreover, frames make it difficult for users to bookmark a specific page on your site without using long, complicated scripts.
Do not present important information in Flash movies or in images. Search engine robots can only read text on your source code so if you present important words in Flash movies and images rather than textual form, your search engine ranking will be affected dramatically.
Use meta tags accordingly on each and every page of your site so that search engine robots know at first glance what that particular page is about and whether or not to index it. By using meta tags, you are making the search engine robot’s job easier so they will crawl and index your site more frequently.
Stop using wrong HTML tags like to style your page. Use CSS (Cascading Style Sheets) instead because they are more effective and efficient. By using CSS, you can eliminate redundant HTML tags and make your pages much lighter and faster to load.
Reducing Load Time Through Image Optimization
Even though more and more Internet users switch to broadband every year, a large portion of the web’s population is still running on good old dialup connections. It is therefore unwise to count them out of the equation when you’re designing your website, and a very major consideration we have to make for dialup users is the loading time of your website.
Generally, all the text on your website will be loaded in a very short time even on a dialup connection. The culprit of slow-loading sites is mainly large images on your website, and it is very important to strike a delicate balance between using just enough images to attract your users and not to bog down the overall loading time of your site.
You should also go to a greater length and optimize every image on your site to make sure it loads in the least time possible. What I really mean is to use image editing software to remove unnecessary information on your images, and thereby effectively reducing the file size of your image without affecting its appearance.
If you own Photoshop, it will be obvious to you that when you save an image as a JPEG file, a dialog box appears and lets you choose the “quality” of the JPEG image — normally a setting of 8 to 10 is good enough as it will preserve the quality of your image while saving it at a small file size. If you do not have Photoshop, there are many free image compressors online that you can download and use to reduce your image’s file size.
On the other hand, you can opt to save your images in PNG format to get the best quality at the least file size. You can also save your images in GIF format — the image editing software clips away all the color information not used in your image, hence giving you the smallest file size possible. However, saving in GIF format will often compromise the appearance of your image, so make your choice wisely!
Pros and Cons of Flash-based Sites
Flash-based sites have been a craze since the past few years, and as Macromedia compiles more and more great features into Flash, we can only predict there will be more and more flash sites around the Internet. However, Flash based sites have been disputed to be bloated and unnecessary. Where exactly do we draw the line? Here’s a simple breakdown.
The good:
Interactivity
Flash’s Actionscript opens up a vast field of possibilities. Programmers and designers have used Flash to create interactve features ranging from very lively feedback forms to attractive Flash-based games. This whole new level of interactivity will always leave visitors coming back for more.
A standardized site
With Flash, you do not have to worry about cross-browser compatibility. No more woes over how a certain css code displays differently in Internet Explorer, Firefox and Opera. When you position your site elements in Flash, they will always appear as they are as long as the user has Flash Player installed.
Better expression through animation
In Flash, one can make use of its animating features to convey a message in a much more efficient and effective way. Flash is a lightweight option for animation because it is vector based (and hence smaller file sizes) as opposed to real “movie files” that are raster based and hence much larger in size.
The bad and the ugly:
The Flash player
People have to download the Flash player in advance before they can view Flash movies, so by using Flash your visitor range will decrease considerably because not everyone will be willing to download the Flash player just to view your site. You’ll also have to put in additional work in redirecting the user to the Flash download page if he or she doesn’t have the player installed.
Site optimization
If your content was presented in Flash, most search engines wouldn’t be able to index your content. Hence, you will not be able to rank well in search engines and there will be less traffic heading to your site.
Loading time
Users have to wait longer than usual to load Flash content compared to regular text and images, and some visitors might just lose their patience and click the Back button. The longer your Flash takes to load, the more you risk losing visitors.
The best way to go is to use Flash only when you absolutely need the interactivity and motion that comes with it. Otherwise, use a mixture of Flash and HTML or use pure text if your site is purely to present simple textual and graphical information.