Novelution provides a unique balance between technical and strategic strength, applying our experience advising many clients across different sectors
to build web technology products. We help our clients think through all the subtle scenarios and use cases for a product that they may not consider,
and we collaborate to create complete product specifications that meet both technical and business needs. We wireframe or prototype projects'
applications prior to the development phase, so that clients can fully realize the implications of a specification, and we iterate improvements until
the client is fully satisfied.
Our clients consistently praise us for offering valuable insights and advice throughout the product development phase. This includes creative and strategic ideas for new features, enhancements and efficiencies for user workflows and automation of processes, and considerations of finer details from complex edge-case scenarios to perfecting user messaging. When applicable, we research and become experts in the unique product space. When working with a client to develop their product, Novelution exhibits the same passion for the project that would be expected of the founding members from the client.
Novelution has over a decade of experience working with dynamic web applications built for a wide range of audiences. For example, this includes public end-users consuming media content, and engaging in community & social networking applications, games, and commerce. Other examples include administrative users managing data in an intranet system, and business and marketing staff executing internal tools. Learning the shared lesson from all these different contexts, Novelution understands the utmost importance of usability. We provide our clients the expertise to design applications with the appropriate focus and prioritization on user experience. Frictionless user experience can make the difference between converting a registered user, a sale, or obtaining the information you desire. User friendly, intuitive, seamless web experiences can keep a user engaged with your content and applications longer. In the age of ajax and rich internet applications (i.e. web-based applications with interfaces more like that of a desktop application - think "drag and drop" & Google Maps), innovative User Experience (UX) Design makes the difference between an application that seems outdated and one that seems cutting edge and hip. Intelligent and creative UX design will create functionality for users to efficiently provide and access data with minimal effort, and in ways that can be fun. Novelution will help our clients achieve these goals.
Figuring out the most useful and efficient ways to think about, structure, store, retrieve, interpret, and present data can involve extremely challenging but exciting and important logical problems to solve. Novelution's team thrives on and excels at this kind of puzzle, and will help our clients' organizations design elegant systems that utilize data intelligently. Whether it is a matter of breaking down complex content to be analyzed or presented into intuitive structures, defining a set of templates for the front-end of a website to present information that balances functional flexibility and CMS automation, determining a data model for efficiently storing and querying data (in a relational database, document database, graph database, xml files, or otherwise) for either ad hoc queries or static periodic reporting, implementing data warehousing software, implementing distributed big data anaylsis applications, or implementing Natural Language Processing systems, Novelution has the expertise to provide intelligent, powerful solutions. Furthermore, we are great teachers who enjoy helping even the most non-technical clients understand abstract issues with clarity.
Novelution designs and implements custom software, applying best-of-breed technologies. We architect our software to be flexible, robust, & scalable.
We rigorously apply unit testing, functional testing, & load testing when applicable. We are highly skilled with a vast number of languages,
platforms, frameworks, & tools - but also continue to stay current with latest developments and can quickly master new technologies as required.
We determine the appropriate technology stack for each project, considering options from Scala to PHP depending on the needs of the client.
Preferred Databases - We have a great deal of experience with SQL databases including MySQL, PostgreSQL, and Oracle, as well as the so called "NoSQL" document database, MongoDB, and distributed data-stores such as Memcached and others. We have investigated other types of data-stores as well, including Graph Database Neo4J. Depending on the project, we generally lean towards either MySQL or MongoDB.
Preferred Server-side Languages/Frameworks - Java, leveraging Spring (IOC Container), Hibernate DAO layer with SQL databases or Morphia/Java Driver with MongoDB, Wicket (component based, event triggered Web Application Framework with excellent AJAX support), Apache Shiro (Security Framework). There are dozens of other useful tools and libraries that we often employ, depending on the application requirements (e.g. REST/SOAP APIs, email templating, PDF generation, etc.)
When working on a client's project, Novelution truly operates as a partner and becomes part of the client's team. We provide ongoing project management
throughout the full lifecycle of a project, ensuring that dependencies are being met and that the project moves forward according to schedule.
Generally, a project lifecycle involves the following stages:
1) Research/Audit phase - Novelution learns about the client's project, data, workflows, needs, etc.
2) Product Development/Technical Specification phase - Iterative process in which Novelution collaborates with client to develop complete specification for project. Novelution typically creates product wireframes or prototypes, depending on the complexity, to ensure the client fully understands the implications of a specification.
3) Iterative Development/Testing/Deployment phases - Iterative process in which Novelution develops and tests custom software, phasing roll-out of components for client acceptance testing followed by production deployments.
Clear communication is the cornerstone to our successful project experiences. Our team is always available to our clients, virtually immediately, but we also have regularly scheduled meetings to discuss the state of the project. Depending on the requirements of the project, this would typically be a regular weekly meeting, supplemented by daily email correspondence. Depending on the needs of the client, Novelution can provide solutions for graphic design and managed web hosting, in addition to our product, technical, and strategic consulting and software development services. We can also work with internal client teams.