Why is it so hard to build apps?
We are awash in frameworks, patterns, libraries, architectures, and platforms. But it still takes teams of developers months to put together a basic application. Worse still, for beginners there is a step change in complexity moving from writing HTML to building even the most basic database backed apps.
Why it matters
Modern web and mobile applications have redefined our expectations for how easy software should be to use. Unfortunately, most software companies still spend the majority of their time focusing on just getting their app to work, not on meeting the needs of their users.
Designing useful, usable products is a numbers game. Developers and designers need to try many different solutions and evaluate them with users to see what works and what doesn't. The more design iterations you can do, the faster you can figure out what works and what doesn't. By radically reducing the time it takes to build apps, ConcussionJS will free up organizations to spend their time on the design, not the implementation.
The ConcussionJS Community's Mission
Our mission is to bring down the barriers to creating, and learning how to create, modern applications and drive platform adoption by:
- Applying a model-driven, rather than code driven, approach
- Reducing the technical expertise required (e.g., web server, app server, database, web services, JavaScript) to build apps
- Increasing the power of HTML and CSS skills
- Ensuring that learnability for first time users is sacred, and that time to learn a task is proportional to its complexity
- Providing a way for people to interact with the platform at all points along the interest curve (e.g., "I just heard about the platform and am still skeptical" to "I love the technology and want to deploy it behind my firewall" to "I have drunk the kool aid, and now want to contribute to the codebase") that only requires a level of effort proportional to the interest level
Our Platform Roadmap
The platform's initial target usecases are:
- Building simple, graphically rich web applications
- Rapid prototyping (e.g., turning a static HTML prototype into an interactive, database backed application)
As the community grows and platform matures, the goal is to support increasingly sophisticated use cases, and ultimately support both enterprise-ready business applications and web-scale, consumer facing apps.
In addition, we believe that to become a dominant platform ConcussionJS must be able to:
- Run on-demand and on-premises
- Operate on-line and off-line
- Deploy as both a multi-tenant and single-tenant solution
- Deploy as a self-installable package, a virtual appliance, an AWS image, and even be run without deploying anything at all (e.g., a hosted JavaScript include + freely available backend services)
- Support apps for native mobile, web mobile, tablet, desktop, and, eventually, TV and larger formats
- Incrementally scale at all layers of the stack
- Provide application QA, integrity verification, and remediation
- Offer built-in analytics, dashboards, and performance management
We are just at the beginning of this journey, and there is much to do to fully realize this vision. If you've been frustrated with the inefficieny of building apps and want to take up arms against the encumbant platforms, please join us on
github and contribute.
Immediate areas we would like your help with include, but are not limited to, the following:
- Adding support for KnockoutJS alternatives, in particular AngularJS (www.angularjs.org)
- Integrating better security and identity management
- Improving admin console's support for data object model and instance management, including searching and displaying large record sets
- Building examples of ConcussionJS in action