Our FAQ section covers a range of topics, including our company's services, pricing, working hours, and policies on non-disclosure agreements. Browse the questions below to find the information you need. Alternatively if you don't find the answer then please send an email to our Technical Director, Michael Peters. Email us at mpeters@mapsoft.com
In many cases, you can keep the source code. However, there may be situations where it is more appropriate to put the code into ESCROW A legal arrangement in which a third party holds and manages assets on behalf of the primary transacting parties, with the intention of releasing the assets only under specific conditions. *. Typically, if the product developed is based on one of our products, contains proprietary code (such as Adobe®s PDF library), or where the customer has no technical resources to handle the code.
*An ESCROW provider is an independent organization that will hold the source code. The source code can be released to the customer under certain conditions. This would typically be where the unlikely event where the developer goes out of business or for some reason is unable to support the product.
In most situations we produce a proposal with a fixed price for the development that is to be done. Sometimes, if the scope amount of work cannot be determined:
We have a policy in place where, in the event of a fixed-price project being delayed or cancelled, and a significant amount of technical work has already been completed in preparation, we will charge for the cost of that work.
We recognize that not all customers can come to us with a detailed written specification of what they require. This may be because they aren't aware of the capabilities of Adobe® products from a developer's point of view or don't have staff with experience in the relevant areas. We can work with you to define exactly what you require and provide you with feedback on what may or may not be possible. These meetings can be face to face, on a conference call, via web conferencing and/or via email exchanges.
We regularly modify our products for customers. We recognize that our products do not always match a customer's exact requirements, but can provide part of the functionality that they require.
We can produce a development agreement, but at a minimum we would expect our formal proposal to be signed to agree on the scope of the work.
We regularly sign NDAs Non-Disclosure Agreements: Legal contracts between parties that outline confidential material, knowledge, or information that the parties wish to share with one another for specific purposes, but wish to restrict access to by others. (Non-Disclosure Agreements) with our customers, and we can also provide a standard mutual NDA if required.
Mapsoft has a technical documentation team. We not only produce documentation for the products and custom software that we develop, but also provide this as a service to other organizations who develop their own software.
Mapsoft has been developing software for over 30 years. We work with numerous organizations worldwide. We specialize in developing software around Adobe® technologies, although we do have experience in many other areas such as Database development, XML, and Web-based technologies.
Yes. We have our own developers/engineers, and the group is run by our Technical Director, Michael Peters. We can liaise with a customer's own team. For example, if the customer wishes to use their own QA resources, which is something that we would certainly encourage, then we are very happy to work with that team in addition to our own internal testing. On occasions, we may be integrating specific functionality from the customer, and on those occasions, it is essential that there is regular collaboration between the teams.
Yes, we have a number of companies that are on support and maintenance contracts. The way that we normally do this is to charge a quarterly or annual amount, and for that, we will keep the software updated and respond to any minor modification and support requests. This doesn't suit all customers. However, we find that those customers that we have a long-standing relationship with really benefit from this. Now that most software is provided on a subscription basis from the publishers, they get updated more often, and therefore having the custom developed products on maintenance is becoming even more essential.
For developments done with the Adobe PDF Library, we must have a maintenance agreement in place, as that is an ongoing requirement of our licensing agreement.
We use C C: A general-purpose, procedural programming language that supports structured programming, lexical variable scope, and recursion. Developed in 1972 by Dennis Ritchie at Bell Labs. , C++ C++: An extension of the C programming language that includes features such as classes, objects, and exception handling. Developed by Bjarne Stroustrup in 1985. , C# C#: A modern, object-oriented programming language developed by Microsoft as part of the .NET Framework. It is designed for building Windows applications and web services. , JavaScript JavaScript: A high-level, interpreted programming language primarily used for enhancing web pages with dynamic and interactive content. Developed by Brendan Eich in 1995. (mainly with jQuery jQuery: A popular, lightweight JavaScript library designed to simplify HTML document traversing, event handling, and animation, among other things. and React React: A JavaScript library developed by Facebook for building user interfaces. It is especially suited for single-page applications and helps developers create reusable UI components. ), Postscript.
Adobe CC plug-in development is done using C++ for the backend and the CEP (JavaScript + Chromium engine) for the frontend extension (User Interface). Extensions can also be developed just using JavaScript and ExtendScript ExtendScript: A scripting language developed by Adobe that is based on JavaScript. It is used to automate tasks and create custom functionality within Adobe applications like Photoshop, Illustrator, and InDesign. for the application-specific functionality. As UXP UXP: Adobe's Unified Extensibility Platform, a new technology for building plugins and extensions for Adobe Creative Cloud applications. It uses modern web technologies like HTML, CSS, and JavaScript. (JavaScript) is extended to the CC product line, we will gradually start to offer development using this technology, which is currently only available on Photoshop and XD.
Adobe Acrobat plug-in development is done using C++ which can be used with the native UI of either Windows or Mac OSX or for cross-platform support we can use wxWidgets. There is also a JavaScript interface in Acrobat for writing scripts.
For server-based PDF manipulation, we use C++ or C# and the Adobe PDF Library that we license.
Web development is done primarily using C# for the backend and JavaScript(mainly with jQuery and React) for the frontend. We also use HTML5 HTML5:The fifth version of the HyperText Markup Language, which is used to structure content on the web. It introduces new elements, attributes, and features, including support for multimedia, vector graphics, and semantic tags. and CSS3 CSS3: The third version of Cascading Style Sheets, a stylesheet language used for describing the look and formatting of a document written in HTML. CSS3 introduces new features such as animations, gradients, and responsive design. for creating responsive and visually appealing designs. We have experience with various web frameworks and libraries, such as ASP.NET ASP.NET: A web application framework developed by Microsoft that allows developers to build web applications, web services, and dynamic websites using C# or other .NET languages. , Node.js Node.js: An open-source, cross-platform JavaScript runtime environment that executes JavaScript code outside of a web browser. It allows developers to build scalable network applications using JavaScript for server-side scripting. , and Express.js, among others.
We understand that different projects and clients may require different development methodologies. Our team is experienced in a variety of approaches, such as Waterfall Waterfall: A linear and sequential software development process where each stage of the project is completed before moving on to the next stage. The stages typically include requirements analysis, design, implementation, testing, and maintenance. Changes and feedback are difficult to incorporate once the project has moved to the next stage. , Agile Agile: An iterative software development methodology that emphasizes flexibility, collaboration, and customer satisfaction. Agile approaches allow for continuous improvement and adaptation to changing requirements throughout the project. It encourages frequent communication and feedback between the development team, stakeholders, and customers. , and Scrum Scrum: An Agile framework for managing software development projects. Scrum emphasizes teamwork, accountability, and iterative progress towards a well-defined goal. It uses time-boxed iterations called sprints, and daily meetings called daily scrums, to help the team stay focused and continuously improve. . We tailor our development process to meet the unique needs of each project and ensure effective communication and collaboration with the client throughout the process.
Project timelines vary depending on the complexity and scope of the project. We generally start with a thorough requirements analysis and project estimation, followed by design and development phases. Once development is complete, we move into testing, quality assurance, and deployment. We maintain open communication with our clients throughout the process to ensure that expectations are met, and any changes in requirements are addressed promptly. Our goal is always to deliver high-quality, custom software solutions within the agreed-upon timeline.
Yes, we have experience working with clients from all over the world. We utilize various tools and technologies to facilitate effective communication and collaboration with remote clients, such as email, video conferencing, and project management software. Our team is flexible and can adjust to different time zones, ensuring that we are always available to discuss project updates and address any concerns our clients may have.
We have developed software solutions for a wide range of industries, including but not limited to, finance, healthcare, education, retail, manufacturing, and entertainment. Our team's diverse expertise enables us to create tailored solutions that cater to the unique requirements and challenges of each industry.
We will follow the those requested by the customer if they exist. Otherwise please see this page on our approach
We are members of the PDF Association, we are Adobe Partners and we are members of the Institute of Analysts and Programmers of which our Technical Director, Michael Peters is a Fellow.
Please see our blog for a number of case studies at blogs.mapsoft.com