Design and build a bespoke web application for provision of worldwide two-way SMS (text message) services, available to a wide range of businesses and organisations.
Txtreme Solutions Ltd provided a Text Message (SMS) desktop application to businesses. The application enabled bulk sending of messages to groups of mobile phones and the ability to handle keyword responses.
One of their clients, a golf club, used the system to send targeted marketing messages to opted-in members and visitors to it's restaurant. Groups were set up to distinguish between the golfers and those that had visited the club restaurant. An effective example of the power of the system was when it was known that restaurant bookings were low on a particular night. The manager would send an enticing offer to all of the “restaurant” group in a matter of minutes. A specific keyword would be assigned to collate SMS responses to that offer, and a telephone number was usually also provided for telephone responses. It was not unusual to receive the first positive responses and firm bookings within a few minutes of transmission of the offer! ←Back to Index
This is a placeholder for a quote to help with design and layout of the finished page, to be replaced before publishing live
C. Penniston, Director, Txtreme Solutions Ltd.
Following the departure of their Technical Director, Txtreme no longer had their own staff with the ability to maintain and upgrade the system. The remaining directors, brothers Chris and Adrian Penniston, set about finding help to fix immediate problems with the centralised databases which were located in Richmond and Glasgow.
By word of mouth they were introduced to Graham Jarvis. He was initially asked to help with database access and resilience, though it was soon to become apparent that problems ran deeper due to a lack of understanding of the system architecture. The situation meant that Txtreme were struggling to be able to set-up any new clients, and maintaining existing clients was difficult. Although the core features were working, the system remained incomplete and unable to deliver all that Txtreme had hoped. ←Back to Index
The desktop application, while functional, was proving problematic for Txtreme to maintain and upgrade for existing clients. The software and a local database were installed directly on the clients own computers, with communication to a central server providing the interface to the messaging service. The application was struggling to deliver and was stuck in a rut. In the meantime, competition offering similar services was increasing. Things had to change, otherwise the system was going to be shelved.
Specific challenges that were being faced were:
Having spent time with Txtreme and witnessed problems at one of their clients first-hand, Graham realised that it would be more beneficial to redesign and rewrite the system from the ground up, rather than spend any more time and money trying to update the existing application architecture. He proposed centralising the database and the application for delivery to clients over the internet. This would enable significant benefits:
There were some caveats, of course:
Chris Penniston, Director, Txtreme Solutions Ltd
Adrian Penniston, Director, Txtreme Solutions Ltd
Graham Jarvis, Systems Architect / Developer, Hewson Digital
The objective of the first phase of the project was to perform a complete redesign and rewrite of core functionality of the system, and to improve the extensibility and scalability of the application. This phase was broken down into four key stages and the time-scale for completion was four months. ←Back to Index
It was agreed that the system would be developed using widely used open source software, so finding suitably skilled people to update the application in the future would be easy. This would help Txtreme to avoid further occurrences of the situation in which they had found themselves. The operating environment for development of the system was comprised of Ubuntu Linux server (LTS), Apache web server, MySQL database, and PHP programming software.
It was necessary to redesign the database for centralisation and scalability. This removed unnecessary clutter, while improving flexibility for the future. The InnoDB database engine replaced the existing MyIsam engine to enable proper transactional locking mechanisms and handling of multiple concurrent requests against database records. The new database design handled multiple clients, and each client could assign their own multiple users with varying profiles to update their records - all while ensuring segregation and security of data. Referential integrity of data was greatly improved with the implementation of appropriate foreign keys on database tables. Categories (later renamed “Groups”) were redesigned so that clients could add as many as they deemed necessary for their organisation.
Key decisions and the layout of the database were documented and approved prior to creation of the database and moving on to the next stage. ←Back to Index
The objective of this stage was to establish the prototype ”look and feel“ of the application. It was important that the design should have a consistent flow so that users could quickly become familiar with the application. Web pages were dynamically served as XHTML pages generated by programs written in PHP on the server. Cascading style sheets (CSS) were implemented as an early design decision, to separate the final presentation and layout from the underlying components. At this stage, the different menus and input forms were displayed, but no functionality was added (except for the system registration and login procedures). This meant that progress could be quickly reviewed and revised to the point where the Txtreme directors were happy to move on to the next stage of development. ←Back to Index
This was the most intensive stage of the process. The dynamic web page forms were now augmented to communicate with the database and deliver all of the agreed functionality. This was an iterative process of programming, functional testing and code revision. The interface to the an external messaging gateway was also written, so that SMS messages could be sent worldwide and responses could be correctly handled by the server.
Txtreme directors remotely set-up their own accounts and users to help with the functional testing.
At the the end of this stage, the application was fully functional and ready for Beta-testing with Txtreme's existing clients. It provided all of the features that they currently used, and more. However, more ambitious plans were in the pipeline. ←Back to Index
To round-off the first phase, a server was installed to match the development environment. The database was created and the latest version of the application code was copied across. Backup procedures and security measures were implemented to reflect the status of the production environment.
The server was ready to be installed at a new hosting provider. Phase I had been delivered on time and on budget. ←Back to Index
Following the successful completion of Phase I, the objectives were to increase the ability of the application to be available to a wider audience and further enhance the capabilities of the application. This meant that a number of new features were required to be implemented, including:
Graham was retained to produce the additions, and to provide ongoing technical support.
During this phase, the Txtreme directors enlisted the help of Barry Edwards, a very experienced Business Consultant, to help with production of a user-friendly (non-technical) guide to the system that was intended for end users. The idea was to reduce potential support enquiries down to an absolute minimum so that the directors could concentrate on running the business. In conjunction with Graham, this process ensured that further functional testing was carried out in-depth from a new user's perspective.
In addition, Shelley Burrows was contracted to design the main Web Site for Txtreme and to ensure a consistent visual flow between the main web site and the Txtreme application.
Client payment handling involved interfacing with an online payment gateway. The rules governing charges for VAT were complicated by European Union legislation and the ability of companies to use a “reverse charge” process. With some amendments to the registration form to include VAT code validation, and cross-checking of payments received against the registered details, a procedure was implemented to satisfy the accountants - and more importantly the Revenue and Customs. ←Back to Index
It is now three years since the infrastructure was changed and the web application was developed. The system is still in use today and going from strength to strength.
The underlying architecture remains the same, which is testament to a robust and scalable design.
Our product is used frequently by Banks, Insurance Companies, Stockbrokers, Supermarkets, Mail order Companies, Schools, Travel agents and many more. It is has also proven to be an extremely versatile communication tool.
You can try the application yourself by visiting the Txtreme website at txtreme.co.uk.
Hewson Digital provide a range of services, including: