Designing and Developing an Application
Before beginning the design and development of an application, we encourage our Partners to consider the following questions to ensure a comprehensive understanding of the project requirements:
Customer requirements
- Do the customers require file (audio) processing or real-time stream processing?
- What is the customer's capacity for human resources to analyze the results?
- How many minutes per day or how many concurrent streams does the customer need to process?
- What are the tangible benefits for the customer (e.g., finding specific data within a large dataset, accessing new information, or processing a small amount of data with the highest possible accuracy)?
- How does the solution integrate with the customer's existing processes and infrastructure?
- How many false alarms are acceptable to the customer?
Solution requirements
- Is high availability a requirement for the solution?
- Does the customer need to use specific hardware (e.g., primarily CPU-based, virtualized infrastructure vs. dedicated hardware), or will you provide specific hardware for the customer?
- What are the short-term and long-term storage requirements (e.g., audio and results availability, desktop vs. distributed systems)?
- Is synchronization required (e.g., synchronizing a voiceprint database with clients)?
- What is the topology of the solution/application (e.g., where to store audio files, voiceprints, results, etc.)?
- How should evaluation results be measured, and how should calibration be processed?
Additional recommendations
We encourage our Partners to also familiarize themselves with the following topics:
- The features of the Phonexia Speech Engine and a list of supported technologies.
- Best practices, including typical processing flows and architectural patterns from previous projects.
- Database schema designs.
- Other Phonexia components and tools, including example applications that may provide inspiration.
- Licensing options available for Phonexia products.