Ropley Information Technology Ltd. is an independent software consultancy firm that specializes in .NET architecture and application development as well as tooling an organisation for agile development using the Microsoft development tools. Other areas of expertise are in agile process mentoring, requirements modelling, analysis, design, and software architecture/development for Microsoft applications. The company has recent extensive commercial comsultancy and contract experience in modern .NET application development, and in practical Scrum agile coaching, troubleshooting and mentoring. The company also provides course authorship and technical training services in these subject areas, principally through Learning Tree International. For details about the company's recent contracting and consulting activities, follow this link.


S D Smith head and shoulders

Sean is the director of Ropley Information Technology Ltd, a company formed in 2008 after operating for twelve years as a sole trader. The company offers consultancy services in .NET application development, Scrum agile and DevOps best practice, and object-oriented software engineering. Sean is an author and instructor for Learning Tree International, teaching courses in the same topic areas. Prior to this, he was a lecturer in the Electronics and Computer Science department at the University of Southampton in the UK. Apart from a period in full-time employment at Transport for London working in the Customer Technology department, Sean's career has been devoted to full-time consulting activities.

For more details on Sean's background, qualifications, education and training, as well as a brief list of examples of consultancies, course responsibilities and other commercial activities, see the Background and Experience page.

Ropley IT develops and supports a number of software products. These products are all written in .NET and are currently Microsoft platform hosted. Some are licensed commercially, others are free-licensed binaries with source code IP kept within the company. One or two products are published with source code under the MIT licence, and are available to download or access from GitHub.

PDF Projector is a tool that manages the presentation of slides held in a PDF file on a second monitor or projector attached to a Windows PC. The tool has a main window on the PC itslef, with a separate full screen view of the currently selected slide on the projector/second monitor. A suite of annotation tools are available on the main tool window for annotating the corrently displayed page, the annotations appearing immediately on the projected image of the page as they are made. The tool remembers the annotations painted over each page so that if you return to that page the annotations represent themselves. The tool also allows you to create any number of blank slides on which you can draw your own slides while presenting. These annotated blanks are also remembered by the tool and can be returned to later by selecting them from a list of favourite slides in the tool's main window. There are many other features built into the tool. This product is not currently available as source code. If you would like to try it out, please contact us.

The Use Case Editor is a tool used by business analysts and requirements engineers for capturing and organising functional and non-functional requirements. Specifically it captures and formally documents use cases using an automated document template, captures logical data models,  and automatically generates activity diagrams from use case primary and alternative path specifications. The tool is available for download by selecting the file UCEditorInstaller.msi from the download page. Documentation giving instructions on  its installation and use can be found here.

The GLR parsing suite ParseLR is a tool that generates and provides the runtime for .NET hosted generalised LR grammar parsers, as well as generating C# state machines from formal state machine descriptions. Similar in purpose to Bison or Yacc, this tool also incorporates the state-splitting algorithms used to extend it into a GLR parser. The tool takes an input grammar, and converts it into a C# source code parsing engine that is then incorporated into an application that needs a parser. The source code is made available on GitHub at this URL along with several runnable examples and copious documentation on a GitHub Wiki.

The parser can act as a compile-time tool generating fixed source code for a parser for a specific grammar. Alternatively it can operate dynamically, allowing the grammar rules to be specified or changed dynamically at run-time, with a new state machine parser being generated and launched as and when the grammar changes.

Note that the parser also incorporates the ability to call condition-testing functions at each shift or reduction. It is this that enables it to also implement complex finite state machines driven by grammar rules.

The DynamicCSharp library is a .NET Core library that makes it possible to read C# source code from a string or a file in a running program, to compile it to an assembly, to load that assembly back into the same running program, and to invoke the methods and classes of the dynamically generated assembly. This project is released under the MIT licence, and is available together with its documentation from its Github repository as source code, or from as a NuGet package.

The VSClean utility is a tool for cleaning out all but the bare essential files from a C# solution and its project sub-folders. When Visual Studio is run to build and run automated tests for an application, a huge overhead in binary folders and test data folders gets created. Combine this with the download and installation of packages from repositories such as NuGet, and your solution folder becomes too big to zip up and attach to emails, or to put on a USB key. VSClean strips all these unnecessary files out, leaving the bare minimum files needed to reconstruct the product later.

VSClean uses a filter file that itself uses the same filter specification as used in Git's .gitignore files. Because of this, it is possible to configure VSClean to clean files from folders for other languages and development environments than its default C# filter set.

VSClean is available at source code level together with its documentation at its own GitHub repository.

The ImagePacking application is a tool written in C# for shrinking images from one folder into another, while preserving the maximum quality in the images achievable for the output image size. So often poeple upload images onto web servers and web sites that are way bigger than the small rectangle in which they are displayed, leading to slow page downloads and unnecessary server disk use. ImagePacking allows you to identify maximum width height and file size in kilobytes for each image file, then shrinks all images from an input folder to smaller versions in a selected output folder, while preserving image aspect ratio in each case.

The ImagePacking suite is made available on Github under the MIT license.

Other legacy resources

Assorted sample programs for the .NET Framework can be obtained by downloading the file

The demonstration software for the now retired Learning Tree International course 323 on Object Oriented Analysis and Design using UML may be found by downloading the file

The course exercises and specimen solutions for  retired Learning Tree course 302 on Win32 Systems and Network Programming may be obtained by downloading the file

Some course exercises and specimen solutions for an example enterprise Web site using ASP.NET may be obtained by downloading the zip file

Back to top

Electronic mail address:

Web address:

Skype ID:

Mobile: (+44) 797 400 8224