Services
Chiral Software builds network software for your business. Building software is a process which starts with a business need. This business need may be a well-defined project plan document, or it could be still in the idea stage: wouldn't it make our business more efficient if.... Our specialization is in mobile applications. Chiral Software can help at any of these stages:
Capabilities: types of projects and technologies
Chiral Software's practice centers on the following project types:
- Web software
- Database applications
- Collaborative desktop software
- Mobile web software
- Mobile applications
- Security and monitoring applications
Chiral Software's practice centers on the following technologies:
- Java web servers, using Apache Tomcat and Servlets
- AJAX thin-clients
- PHP web development
- Java Enterprise (formerly J2EE), including JBoss, Seam, and Enterprise Java Beans (EJB) 3 persistence
- Mobile Java applications: J2ME
- Linux servers
- SQL databases, including MySQL and Postgres
- The Asterisk open source PBX system. This software PBX runs on Linux servers and provides basic PBX functionality in software, including ability to do a call tree, voice mail, and transfers to extensions. Asterisk links to phone networks by VoIP protocols such as SIP.
This mix of technologies allows us to deliver web, mobile, and portable desktop applications to meet any contemporary business needs. We often find that open source software tools, such as JBoss, Tomcat, and MySQL, are the ideal starting point, being the easiest to support and most portable.
Methods
- Idea: All projects start with an idea, which is usually a need to do something better, or a vision of a new opportunity
- Project proposal: Successful projects must formally start by writing a project proposal which defines what the goal of the project is. This proposal will make sure that the customer and developer have the same idea in mind, and will let the developer start assessing the technology needs.
- Project plan: Most project plans are phased, with an emphasis on having working, useful deliverables at an early phase.
- Implement phase: During this phase, the plan is executed in code. Testing happens during development. Software documentation is created during the implementation by the people who understand the software the most, namely, the developers.
- Quality assurance: Each phase has a quality assurance component. All parts of the project have been tested repeatedly during development, so the quality assurance phase is a check of the work, not a phase for debugging.
- User documentation: Documentation which clearly explains to the users what the software does and how to use its features. Documentation is usually packaged with the software, and available in printed form.
- Deploy: The software service is pushed "live" and can be used by an introductory group, and then by the full user community.
- Maintain: In this phase, bugs are fixed and small changes are made. Project planning is not needed for fixing bugs or making small changes.
Most customers approach us in the Idea stage, where we can apply our creativity and understanding of what is possible to create the best possible project. Customers also approach us in later stages the cycle. We help the customer define which phase the project is in, and then define the tasks that accompany that phase.
The software development cycle starts over at the end, if new features are needed.
Examples of typical projects include:
- Build a mobile payment system, which allows consumers to make payments over their mobile phones
- Build a custom database-backed DNS server
- Build a mobile video player which works on all phones