software development FAQ. Questions and Answers

Software Development (Software Engineering) FAQ

Our software development and software engineering 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

  • Can we have the source code?

    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*. 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.

    Back to questions

  • Do you charge on a fixed price basis?

    In most situations we produce a proposal with a fixed price for the software development that is to be done. Sometimes, if the scope amount of work cannot be determined:

    1. We can agree to work on an hourly basis until such a time until the scope can be identified.
    2. Up to an agreed capped amount.
    3. A fixed price with an additional percentage allowance if the project exceeds the original estimate.

    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.

    Back to questions

  • Can you discuss our requirements?

    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 software 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.

    Back to questions

  • Can you modify one of your products to match our exact requirements?

    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.

    Back to questions

  • Do we have to sign a development agreement?

    We can produce a software development agreement, but at a minimum we would expect our formal proposal to be signed to agree on the scope of the work.

    Back to questions

  • Can you sign a non-disclosure agreement?

    We regularly sign NDAs (Non-Disclosure Agreements) with our customers, and we can also provide a standard mutual NDA if required.

    Back to questions

  • Can you provide documentation to accompany the software that you develop?

    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.

    Back to questions

  • What is your development experience?

    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.

    Back to questions

  • Do you have your own development team?

    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.

    Back to questions

  • Can you provide ongoing support and maintenance?

    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 software 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.

    Back to questions

  • What Software Development languages do you use?

    We use CC++C#JavaScript (mainly with jQuery and React), 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 for the application-specific functionality. As UXP (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 software 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 and CSS3 for creating responsive and visually appealing designs. We have experience with various web frameworks and libraries, such as ASP.NETNode.js, and Express.js, among others.

    Back to questions

  • Do you follow any specific software development methodologies?

    We understand that different projects and clients may require different development methodologies. Our software engineering team is experienced in a variety of approaches, such as WaterfallAgile, and Scrum. 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.

    Back to questions

  • What is your typical project timeline?

    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.

    Back to questions

  • Can you work with remote clients?

    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.

    Back to questions

  • What industries do you serve?

    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.

    Back to questions

  • What project management methodology do you follow?

    We will follow the those requested by the customer if they exist. Otherwise please see this page on our approach

    Back to questions

  • What certifications or awards has your company received?

    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 (FIAP).

    Back to questions

  • Can you provide case studies or examples of successful projects

    Please see our blog for a number of case studies at mapsoft.com/posts

    Back to questions

  • How much does custom software development cost

    The cost of custom software development not only depends on factors like project complexity, developer rates, and technology used, but also significantly on customer requirements. If customers can provide resources for the project, such as existing software components or specialized personnel, this can reduce costs. Additionally, if a detailed specification is already available, it can lower the overall expense. However, if the development team needs to be involved in creating a specification, this can increase the project’s scope and cost. Simple projects might start from a few thousand dollars, while complex enterprise systems can exceed $500,000. Developer rates vary by region, affecting overall costs, and annual maintenance can add about 15-20% to the initial development cost.

  • Back to questions