Wednesday, 5 September 2012

Android fan boys jump on poor iPhone Sales to scream that their phone is better.

Seen this and just knew they would be claiming Android beats iPhone,  but come on guys be honest with yourselves all this means is that those that are wanting an iPhone and I'm including wanting the iPhone 4S and 4 in this statement are waiting for the next release because the tariffs/costs to purchase will drop the moment the new device is announced.  Those that want a cheaper iPhone will go for the 4 or 4S and a cheaper handset cost as well.

http://phandroid.com/2012/09/04/iphone-4s-is-no-longer-1-selling-smartphone-in-the-us-samsung-galaxy-s3-takes-the-crown/

I'm not dissing the Android Community at all in this but people have to remove the ideological blinkers from their heads and accept that dips in sales happen when the customer becomes aware and waits for the next version of the phone they really want.  These are also probably the same people who were big into the OS wars Windows, Linux, Mac & Amiga (me).

Just accept that each phone has its benefits and leave it at that.

Friday, 31 August 2012

Sky get your act together

 Our phone & broadband  has not worked for at least the last two weeks,  I have been asking for an engineer to come out and fix it and you will not send one. Maybe I shouldn't pay my bill!!!

I have reported this every couple of days I've run all the tests you have wanted see previous emails.

I have tested using the test socket where you have to unscrew the front panel.

I have tried the new filter (no surprise that failed to fix it) I have one member of your staff saying its out side our house another says its in side.

Let me tell you where it is its that muppet of an engineer you first sent out he broke it.  So you had to send a different guy the next day to fix his mistake and now its failing again.  Before coming to sky I had 6-8MB connection since coming to you I have 1-2MB connection.

I used to buy movies on iTunes and be able to watch them after waiting 5 seconds now i have to wait for it to fully download and with the broadband you have been supplying that means the next day.  So guess what I haven't bought many movies since moving to your selves.

I can just about play online games but the ping rate has hit over 10000.  in the last few weeks.

PS I'm posting this on your google+ page and if you have a facebook page. 

Friday, 20 April 2012

The history of CMS & Me

Twelve years ago I started a job in Dublin working for the then Parallel Internet a small startup internet company that had great designers.  At that time most websites were brochure websites that gave a basic overview of the company the were related to.  They were hard for clients to update as you had to contact your website provider to apply costly updates or manage the HTML yourself and if you didn't know what you were doing could very suddenly break the complete design.

We like many others at the time moved to the concept of storing content in a backend database and pulling out the information into designated locations so that clients could manage their content easily.  Tom Skinner the Managing Director of Parallel Internet and myself chatted about building lots of little 'Tools' to do specific jobs for each and every thing that a client would want to do on a site.   Each tool was a separate module that a client could have access to.  Eventually the branding changed from Parallel Internet Tools to simply pTools.

It didn't take long for the Page management tool to expand into a small CMS and then expand to incorporate Enterprise level requirements.  We were now building Bespoke Content Management Systems for major companies.  Pushing the technology as far as we could, but I always had the issue that for each bespoke solution we were almost reinventing the wheel for each client giving each client a completely bespoke solution from code right through to the database structure.  The only problem with this style of software development is that if you find a problem you have to re-architecture multiple systems rather than one code base.

I eventually left Parallel Internet about 9 years ago to start Libertas Solutions a company which was based on the principle of building the best Content Management System one that would be a robust solution that would work for all levels of client from small brochure website to Enterprise level requirements.

The system that I designed and built for Libertas Solutions was designed to be able to manage multiple websites on one database.  It had the ability to switch on features depending on the licence that someone had.  This meant that the modules would add features depending on the clients requirements like an Approval process for publishing pages.  The best part was that since we controlled the templates we were able to make all of our clients websites WAI level 3 Compliant.   The benefit of this is that subparts of the templates were shared across all of our clients meaning that one update to fix a WAI compliance issue fed through to all of our clients for free. 


We designed the system to be simple to use once you learnt how to use one module you could run with any of the modules for example, it took about half a days training for a client to be able to manage their website and keep it WAI level 3 compliant. Also more importantly any security fixes or additional features were available to clients straight away with the minimum development time.  It should be noted that the CMS from Libertas Solutions has since been Open Sourced.  Though you will find it hard to install and get running.  I wrote it when Internet Explorer was King of the Hill so the huge Javascript libraries for example will probably need replacing to work in anything but Internet Explorer.

In the last 6 years I've been working for Mills & Reeve a law firm in Birmingham UK building complex bespoke internal systems each of which manage content in a way which is designed to create efficiencies were possible.  With improvements with languages like Javascript.  jQuery for example allows cleaner code and more features.

In the last few months I've accepted Voluntary position on the Board of the Absolute Tae Kwon-Do Association in charge of Media.  Of course the first thing I have to do is take over and replace the website with some type of CMS.  After spending the last few months testing different systems including attempting to gets the CMS I wrote for Libertas back on its feet.  Unfortunately I've moved away from a Windows Machine so I no longer have Internet Explorer a requirement for the Administration of that CMS.

So I've decided to start to write a new CMS from scratch using the Smarty Template Engine rather than the  XML & XSLT that I used for both the Libertas Solutions's and pTools CMS.

The main code for this CMS will be based round a central engine that will decide what modules need to be loaded. I have also taken the opportunity to build a Factory builder that will allow me to open a factory object that is capable of retrieving a list of objects based on a table structure definition.  The benefit of having table definition  files is that the install script can build the database table and auto fill lookup tables.  Two birds one stone type of thing.

Since not all of the CMS customers will want to have some modules working in the same way,  For example the user module for handling logins will use NTLM authentication for internal systems but use a database for external systems.  So the engine will first look in a project folder for a class and if it can not find it then will look in the Engines Class folder.  This will allow the overwriting of classes in a safe manner.  Also if there are several modules for the same system they can be in the Engine Class folder.  The Project Class folder can then have a class that just inherits which ever of the classes we want to use for the projects

APP/
       Classes/
               user_ntlm.class.php
               user_db.class.php
               user_openid.class.php

Projects/
       CLIENT_1/
               Classes/
                       user.class.php


the user class is just an empty class that inherits one of the main  classes.

Since the Engine will manage the loading of modules we need only require the bare minimum files.  Rather than including every module that a module needs we will leave it up to the Engine.

For example lets say you have a class that is 100 lines long and has two functions A&B.  Both of these do something but function B needs to execute code in an additional class and lets say that that class is 7000 lines of code in length.

Now if we called Function A() 99% of the time then it is very inefficient to include the second class in our code just because we might 1% of the time call function B.  By allowing the Engine to manage the loading of modules we can only include the second class when function B needs it thus reducing the foot print of our system.


I'll let you know how I'm getting on.