Home About us Products Services Contact
NavigateNavigate rule

Glossary

The definitions given on this page are to provide more information about technical terms used throughout this website or to clarify terms used in the context intended.

Microsoft, Access, Silverlight, Visual Basic, Visual C#, .NET, SQL Server, Windows Mobile and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

.NET framework
.NET (pronounced dot net) is a Microsoft software framework that is included as part Windows operating systems. Because .NET contains a large library of common programming tools and features (basically code that solves common problems and is ready to use) we are able to produce complex applications in a very efficient, clear, and bug-free way. The .NET framework also includes, and uses, the CLR (Common Language Runtime), which is the compiler software shared by all of the latest Microsoft languages. Working with .NET, programs can be developed in a variety of different languages that execute in exactly the same way, this gives us great flexibility in how we implement systems.
Agile software development
This is a common lable given to a range of programming techniques and methodologies to group them under one heading. The main principle of agile software development is to design and develop systems by tackling the overall problem in small steps and building up the whole from its component parts. The basic principal sounds like common sense (and it is), but the range of techniques employed (like for example 'test driven development') are at the cutting edge of software design.
AJAX (Asynchronous JavaScript and XML)
When something changes on a web page, for example the user clicks a Submit button, typically the computer sends a request to the server and the whole web page is reloaded with updated information. AJAX is a technique that allows us to update parts of a page with server data without reloading the page. This can result in more dynamic web pages and a better, more fluid browsing experience for the user.
ASP (Active Server Pages)
ASP is the Microsoft approach to web development. As the name suggests, this is a server-side technology giving us the option of processing user requests directly on the server rather than the clients machine. This is essential for protecting sensitive data and enabling us to build more responsive web applications. Another big advantage of developing in ASP is that it enables us to make use of the .NET framework.
Bespoke software systems
Unusual requirements sometimes require unusual solutions and we pride ourselves on our innovative solutions to everyday problems, but here at Open Projects we're not trying to push back the frontiers of science. We offer unique products that do exactly what you want, at the right price.
Development strategy
There are many ways to approach a problem and your business needs always dictate the route we recommend. Do you require step by step improvement of existing systems or a radical overhaul of your working practices? Will your software be all encompassing or would it be advisable to include foundations for future expansion? How will you switch over to the new system when it is complete? We consider all aspects of development to ensure that you only get exactly what you want.
Distributed computing
There are several varieties of distributed computing. In this context we use the term to refer to a type of client-server architecture where the user interface is kept seperate from the business logic and data tiers, this often involves the use of web services and online database facilities.
Easily extensible
By this we mean 'easy to extend or modify at a future date'. We take great care from the very earliest stages of the design process to ensure that all of our software is modular and that the constituent components of the system (e.g. classes, methods etc.) are loosely coupled (the opposite of this: tight coupling, is where components share functionality or depend highly upon other components within the software) with high cohesion (i.e. the code contained within these system components is focussed on performing a single, well defined task). Technical jargon aside, this means good code layout techniques that result in a system where individual parts of the overall system can be changed without affecting the rest.
Flexible software solutions
Our experience in different areas like networking, web development and mobile computing allow us to offer a more complete system that complements the way you already work.
Legacy code
Legacy code is a term used to describe existing software that is outdated or obsolete, but which is still needed in the system for reasons of cost or backwards compatibility.
Mobile development
By mobile devices, we mean any handheld (or 'smart') device (e.g. Barcode readers, PDA/EDAs) Pocket PC, Smartphone or any other Windows Mobile based platform (not to be confused with laptops or other portable devices that use a standard Windows operating system, though we also produce software for those platforms). This is an area that Open Projects have specialist experience in, please follow the link for more information about mobile development.
MVC (Model-View-Controller)
An architecture for developing well structured ASP.NET web applications. We recommended this technique for all new development of website applications, please follow this link for a more in-depth explanation of MVC.
Responsive
Responsiveness in terms of time taken to process user requests, for example displaying a web page or querying a database. A less responsive system could be characterised as lots of lag and lots of user frustration.
Silverlight™
A rapidly evolving new Microsoft platform for creating 'graphically rich' web content. Silverlight is in a superficial way very similar and a direct competitor to Adobe's Flash. Based on the same technology as WPF (described below), Silverlight is a platform independent way to incorporate advanced graphical effects into web pages.
Time and materials
A more flexible approach to project costing. Rather than working to an estimate of how long a project will take to complete we can offer our services for just as long as it takes, leaving you free to adapt or expand on your specifications at any time during production.
WPF (Windows Presentation Foundation)
A relatively new Microsoft technology for creating 'graphically rich' user interfaces. In practice this means that we are able to create applications with advanced graphical effects such as lighting effects, 3D, video and graphical animations with comparitive ease. WPF uses the .NET framework and so is compatible with a range of other programming technologies and languages.