Tools and Technology
Modern software is a complex business, usually involving a team of people working together to design and produce the graphics, code and database functionality required to bring a complex system to market.
To make this complex process go more smoothly, professional companies like Blueberry make use of a range of different tools which help to coordinate the activities of the team.
With 10 years experience, Blueberry has had time to develop a strong toolbox of technologies and systems which we use on most projects. A number of these have been developed in house, and help to ensure that we deliver a better service to our customers.
Blueberry PTS (Project Tracking System)
Blueberry’s Project Tracking System is at the heart of our project management process. It tracks all development activity, and allows managers and customers to see the current stage of projects up to the minute.
PTS has been developed in-house by Blueberry. This may appear odd, given that there are many online issue trackers available – including many good open-source free systems. However, we believe that PTS has a number of unique features which make us more efficient. In particular, PTS includes very strong integration with email – developers can discuss a task or issue in e-mail, and PTS will capture the whole conversation thread.
PTS is still under development within Blueberry. Features scheduled to be added this year include an automatic testing capability, and tighter integration with automated build systems.
One of the major challenges facing developers of desktop software is how to debug problems that happen on remote machines. Obviously, extensive testing is one solution, but modern PCs are so individual – and users do such odd things – that testing rarely catches all the bugs. It’s common for problems to arise on user PCs that cannot be duplicated on any test PC – and this type of problem can be incredibly expensive to resolve.
Most developers solve this problem by adding logs to their program, which the end user can send back. But all too often, logging systems are an afterthought, added by a keen developer at a weekend. In contrast, Blueberry has invested a considerable amount of effort to implement a thorough solution to the problem. BB LogSys is provided free of charge with all our projects. It allows end users to send back logs with just a few mouse clicks. The information returned frequently allows developers to immediately fix the bug being reported.
TestAssistant (TA) is a screen recorder program designed specifically for software testing. It allows a tester to quickly record a problem within a program and send the movie back to the developers, rather than writing a long problem report. TA is designed and marketed by Blueberry Software, a sister company to Blueberry Consultants.
The movies BB TA produces are compact and very high quality. It includes many powerful features to make movie production easier, and to help improve the quality of the bug reports returned. For example, testers can add notes very quickly during recording, just by moving the mouse to the bottom of the screen. Testers can record dual monitor systems, and they can automatically upload movies to common issue tracking systems. BB TA can automatically annotate the movie with comments describing which buttons are pressed.
Blueberry provides free BB Test Assistant licences to all customers of our development service, simply because it improves communications during testing.
On smaller projects, it’s normal for developers to compile the program on their own PCs. As the project and team size grows, this becomes less practical. Blueberry has a dedicated server within our server farm which is used as a build server on larger projects.
Using a automatic build server saves developers time, helps to ensure that all code is checked into the source control system, and generally helps the project run more smoothly. AutoBuild becomes particularly useful if a project has many output versions. For example, with BB FlashBack project, we have 6 different language versions and 3 editions – which means up to 18 different programs are built each night.
On all but the smallest projects, a source code control system is an essential part of the professional developers’ toolkit. Blueberry makes use of ‘Subversion’ – a very popular open-source system used by Google, Apache and many other big names.
The core functionality of subversion is to manage programmers’ access to a shared source code repository. It aims to avoid the situation where two developers both edit the same file – or at least provide ways to resolve any conflicts that result.
Subversion also keeps copies of every change made by any programmer throughout the course of the project. This is invaluable during later stages, when a change introduced by a programmer may need to be reversed. Subversion also protects the customers’ investment in the source code, by ensuring that a copy is kept in the data centre where it is fully backed up and protected from fire etc.