0121 270 6505

→ Get in touch to discuss your project


Bespoke Web Development Software Programming - Bluetooth Marketing and Advertising

CMS (Content Management System) / CRMS (Customer Relationship Management System) Software Development Birmingham & London

Custom Reporting, Customer Management and Content Management System Software (CMS) Development for a Bluetooth Marketing and Advertising company

Software Development for a Bluetooth Marketing and Advertising Company - Technical Case Study

A high profile Bluetooth marketing and advertising company, which for confidential reasons must remain anonymous, offers a specialised advertising solution for large to medium high street corporate companies including banks. Via a dedicated Bluetooth server, messages and images are transmitted from the store (e.g. Sony Centre) to people's Bluetooth enabled mobile devices as they travel past the participating store.

The dedicated Bluetooth servers are specifically manufactured for the company concerned and operate with a "cut-down" version of the Linux operating system. The server is then located within the store so as to be able to transmit the Bluetooth signal to mobile devices.

The Requirement / CMS (Content Management System) / CRMS (Customer Relationship Management System)

Our client, a Bluetooth marketing and advertising company, required a solution that would enable the log files that are generated by the Bluetooth servers to be transferred from the Bluetooth servers to their centrally located server, and then for the information contained within the log files to be transferred to a web server where clients could log into and view the results of their marketing campaign generated by their Bluetooth server. A CMS (Content Management System) / CRMS (Customer Relationship Management System) hybrid was also required that would enable our client to set-up their clients, manage the stores / sites that have Bluetooth servers and manage users and their access to the information generated from the Bluetooth servers.

The Approach / Project Specification Development

Analysis was conducted and a specification produced detailing exactly what would be delivered and the technologies involved in delivering the system.

Three distinct development areas were identified:

  1. Transferring the logs files from the Linux Bluetooth Server on the central server
  2. Transfer the log files from the Central Server to the Database Server
  3. Web Site which was broken down into two area's
    • The Client Front end
    • The CMS/CRMS hybrid software system to allow our client to control the website and Users.

I. The Linux Bluetooth Server

Due to the nature of the connectivity at certain locations of the servers, it was necessary for the Bluetooth server to initiate and open a connection and upload the log files to the Central server. Each log file was compressed and the name of the file was actually the MD5 checksum of the uncompressed file.

In order to complete the task a BASH script was written that would transfer the log file via ftp to a specific location on the Central Server.

II. Central Server / Database server

mobile applications microsite

An application was developed using .Net Visual Basic, that queried the database server and returned a list of the Serial numbers that uniquely identified each Bluetooth Server.

The application then checked to ensure that each Bluetooth server had a folder on the central server where the log files are to be placed. If the folder did not exist it was created ready to accept log files.

Once the check had been made and all the folders that will receive the log files are created, the application then searches through each folder and checks its contents.

If a file is found, the file name was then stored by the program as the file name contained the MD5 sum check value. The application then uncompressed the log file, which was tared and zipped. An MD5 check sum was performed on the uncompressed log file to ensure the integrity of the file transfer. The resulting MD5 sum check was then stored in the MD5 folder.

If the calculated MD5 sum check matches that of the filename, the files are then parsed into the database server. If the check sum does not match the log files are deleted, and await retransmitting of the log file.

III. Web Server / Database Server

There are two sections to the Website; the client side where clients can log in and view the results of their bluetooth marketing campaign.

The Second side is the Hybrid Content Management System Software (CMS) / Customer Relationship Management System (CRMS), this enables our client to set up their client base, set the locations of the server, enter the server serial numbers, login details etc.

Client Side Reporting

The client side of the web site is the software system developed to allow clients to analyse the data (log files) in a concise and visually friendly manner.

Summary Report; When a user logs into the client side of the site a list of Bluetooth sites the user has access to is made available, and the past 7 days results shown.

The user then has the ability to choose which sites they wish to analyse data for. There are two distinct ways in which the data is displayed.

The first is a line chart, which shows varying information such as the number of successful messages received by mobile devices, the number of unsuccessful messages (messages that were transmitted but the Bluetooth mobile device refused to accept).

The report can be run to display any 24 hour period. The graph's X axis is displayed in hourly increments from midnight to midnight. This enables the user to view an hour by hour account of the data.

Alternatively the report can be run for a period larger that 24 hrs, in this instance the graphs X axis is then incremented by days. This enables the user to view a day by day account of the data for any given period.

Also provided is a more conventional matrix view of the data also on a 24 hour or day by day analysis. The matrix shows exact figures and helps support the graph information.

Database design and database implementation: By designing the correct database structure it would ensure that data was not only accessed and stored efficiently, but also that it was scalable.

The SQL Server database was designed to conform to good Relational Database Management Techniques.  Data stored within the database was normalised to the 3rd form.

Scalable Database design: In using the relationship techniques enabled the database to be designed in such a manner that at a later date the database could be extended without having to change the existing database structure (scalable).

Database Performance: Normalising the data held within the database would ensure that duplicate information was not stored within the database thus ensuring the database performance will be enhanced.


Due to the nature of the company's client base, a user and Bluetooth site hierarchy was required. Analysis of the user base and physical locations of the servers were undertaken and the following was implemented.

Content Management System Software (CMS)/Customer Relationship Management System CRMS)

Three different types of user were required:

Head office User: The Head office user logs into client side of the website to enable the user to view the results from the advertising Bluetooth campaign log files. The head office user, can view any of the sites that belong to their organisation, enabling for Total, Regional, and individual site reporting. The user is able to check on any of the site locations for each of the Bluetooth servers, enabling the Head office User to get an overall picture of how the Bluetooth servers are performing with regard to sending out advertising messages.

Regional User: When a user is set up all of the regions that have been set for that client are available to choose from. One or more regions can be selected to assign to the user. When the region(s) have been selected, the User will then have access to all of the sites that are within the regions selected. This model enables Regional Managers etc, to have access to all of the sites information.

Site User: A Site user has access only to the site(s) that user has been assigned to. A site user can be assigned to one or more site, however, this type of user can only view the sites that have been allocated to them.

Regions were identified as being very important within the context of this project, and so the following approach was taken.

An area of the CMS software system was dedicated to entering towns and cities. This enabled the system to use a standard set of cities throughout the whole of the system, ensuring integrity of the system and data was maintained (normalised form).

Once all of the necessary towns and cities were entered, it is then possible to set up regions. At any point new towns or cities can be added into the system, which then enables them to be used within the region section of the CMS software system.

Each region is set up on a client by client basis, although each client could have multiple regions if so desired.

The purpose of setting up each region on a client by client basis is due to the nature of Companies. Every company general defines regions that are important to their organisation. However, the way in which regions are described can vary greatly from organisation to organisation. Therefore company regions are defined. Different companies will often have the same naming structure for the regions, however each company may include different towns and cities within that region. An example is shown below.

An example of two Clients, Client A and Client B

Client A Scenario

Region to be created: Midlands
Towns/Cities to include: Birmingham

Client B Scenario

Region to be created: Midlands
Towns/Cities to include: Birmingham

As can be seen from the two scenario's both client A and B have created a region Midlands, however how they describe (included cities) the regions are very different. Client A excludes Oxford, this may because the have no retail unit within Oxford, whereas client B has retail units operating in Oxford, but not Wolverhampton and Shrewsbury.

With this level of control, each Client can maintain their regions without having to fit a predefined model. This is very important when reporting, and setting up Bluetooth sites.

Setting Up Bluetooth Sites

Each Bluetooth site needs to be set up within the software system to enable the log file information to be stored correctly within the SQL Server database. A Bluetooth site is the physical location of where the server is actual operating from.

Each Bluetooth server is uniquely identified by a serial number (see the above diagram). The serial number for each site must be entered into the system, along with a location (town/city).

Once the serial number has been entered the application as described above will then generate the folder structure on our client's central server, the location of where the log files are transferred too.

On selecting the location for the server, the system then checks to see if the city belongs to a region, if this is the case the Region is then displayed for this server. The user entering the server details can then see which Regional users will have access to the log file data.

Technologies Involved in the Project

IIS 7 running .NET Framework version 2.0

  • SQL Server 2005
  • Database Design
  • Standard Relational Database techniques were used, to aid in the design of the database. The relationships of the database were all normalised to the 3rd form, as this is sufficient for a web based database. First normal form was not used on the web based project as this can often lead to issues accessing the data through the relationships. However, as internet connect speeds increase this will cease to be the case.

ASP.NET using:

Visual Basic .NET: Was the primary programming language used to develop the bespoke software system.

Code Behind: The code behind methodology was used extensively throughout the project. Using this methodology helped separate the functionality of the site from the design. This enhanced the project as it enabled both web designers and web developers to work on the same parts of the system without causing change conflicts.

Classes: Where appropriate classes were developed to keep the bespoke software system more manageable, and hide functionality that web developers do not need to be concerned with. Each class was designed to contain the "business logic" of the system. Once again this aided in keeping the project manageable and less cluttered, but it also had the added advantage of being able to make modifications within the class and the changes would immediately filter through the system.

CMS & Customer Relationship Management Software - Bespoke Development London & Birmingham

Event Driven: Unlike past Web technologies ASP.NET is completely event driven; full advantage was taken of this fact, and many procedures and functions were created within the system and reused throughout.

Once again this made the project more manageable, but also helped to keep the development of the project structured.

Master Pages: Master Pages were used within the CMS to enable a consistent interface for the user. The advantage to this is that with regard to the framework of the system if a change is required, it is more manageable as the modification only need to take place in once and the change then filters through the rest of the software system.

JavaScript: User validation and the HTML editor was developed extensively using JavaScript. This approach had two advantages:

  1. Server load The load on the server was reduced, due to the fact validation was done client side, and the web server, would only be contacted to serve pages.
  2. Enabled the validation throughout the system to be consistent.
GDI+ (Graphic Device Interface Plus)

As part of the .NET framework all of windows native graphics system is exposed via API's (Application Programming Interface) to allow access to graphical functions.

All graph data is produced using the GDI+ graphics API. Each graph produced is displayed as a gif image to enable users to save the image locally and use it for reporting back to other members of the organisation.

Find out more below about Content Management Systems (CMS) bespoke software development

Find out more about our Web Applications

We are expert Web Software Developers:

About SynergiDesign

SynergiDesign is a qualified and experienced professional Birmingham based website and creative design agency which has created many stunning websites for a variety of businesses and organisations all over the UK.

SynergiDesign are experts in the web site and corporate design field. We offer a complete range of internet marketing and associated services: creating a brand and logo; design and print; website development; eCommerce; search engine optimisation (SEO); flash animation; video; website hosting and domain name management.

Cookies Careers

Latest Projects

The Law Society

The Law SocietySynergiDesign won the contract and created the software (secure, interactive, web-standards compliant, meeting the highest of web accessibility W3CAAA standards, web software) to undertake this marketing activity and analyse its success.

"The level of activity generated by these campaigns met or exceeded our expectations."
John Rieger - The Law Society

Presentation for Nigerian National Petroleum Corporation

Rigby Luxury Property Brochures The President of Nigeria required a sophisticated PowerPoint presentation to showcase his country’s resources to international investors such as Shell and Chevron at a conference attended by press officers from all over the globe. SynergiDesign’s created a powerful, strongly branded PowerPoint presentation.

Luxury Property Brochures

Rigby Luxury Property BrochuresSynergiDesign carried out the successful design of their property website and also provided a range of high end glossy brochures:

"I am writing to congratulate you and your team for the first class sales brochure that you have produced for our latest development in Belgravia"
Rigby & Rigby

Corporate Presentations

UKTIPresentation for an Automotive international trade show in Japan on behalf of the government agencies we designed an impactful presentation pulling together content from a variety of automotive manufacturers.

"Many thanks for your help on this project and turning it around within such a short timescale. I was most impressed with your level of expertise and service and will happily recommend you to other colleagues."
Ginny Truslove

Web Applications / Software Development

Content Management System – Web Application

CMS InterfaceSynergiDesign have created an innovative, versatile and highly functional website and CMS for SO LONDON Publishing. The website and bespoke content management software are designed to the highest .Net 2 and CSS programming standards which allow for online management of the magazine including:

  • magazine issue management
  • articles and article ranking
  • image management
  • image auto optimisation and resizing
  • complex banner advert management

Ecommerce Web Design

Diamond Dealer Direct is a long-established diamond merchant and manufacturer with a recently acquired retail outlet which now enables them to deal direct with the public giving access to one of the UK’s largest stock of internationally recognised certified diamonds from the top gemmology laboratories. A high end ecommerce shopping website and content management system with a sophisticated and customised pricing software system and also an extensive search engine campaign was developed for Diamond Dealer Direct.

Diamond Dealer Direct

Web design summary:

  • Web Design
  • Ecommerce shopping cart
  • Search Engine Optimisation
  • PPC campaign
  • Bespoke Content Management System
  • Reporting System
  • Order Management System
  • Registration System