SuiteFramework tries to resolve the following problems:
- how to create richer applications with Kynetx KRL without compromising readability , extensibility , reusability and maintenance of code
- given the existing tools ( appbuilder.kynetx.com ) and KRL language constraints , how do we get to create apps in team work
- how to add persistent settings to an Kynetx app so users can activate/desactivate features they like/dislike
Modularity with KRL is achieved with KRL modules . A module is a ruleset that exposes functions and defactions so they can be used in other rulesets. Rules inside rulesets can’t be reused (yet?) in other rulesets so this makes it complicated to import complete app features. That’s where SuiteFramwork helps.
Let’s say developers have made independant apps for Facebook like SendAnywhere, Privatebook, Unfriend Finder , MyNewsFeed , Foul Facebook Filter. All those apps are great and each one creates a nice experience for users but who are the users who know all of them ? Who are the users who want to go through five different installations? Who are the users who want to manually check if there are Facebook apps ?
Wouldn’t it be great if users could install all Kynetx Facebook apps with one click and run new Kynetx Facebook apps as soon as they are released without the need to install them ?
This is what SuiteFramework does, it allows developers to create “app suites” or “meta-apps” that launch sets of apps no matter how they were developed initially. Because some users might not be interested by one app or another, SuiteFramework allows the user to disable an app of the collection on the fly. Those user specific settings are persistent and follow the user during his daily use of the app collection.
SuiteFramework alerts the user when a new app has been added to the collection so he can decided to have it running along the others or disabled it.
SuiteFramework also gives the users the ability to receive a notifications when an app of the collection is updated or proposes a new feature but the user still keeps the freedom to disable the feature because sometimes “I just don’t want to have that”.
SuiteFramework direct “feature notifications” from developers to users keeps an app “alive”, increasing user loyality to the app.
Developers can now distribute and promote their apps through collections because “unity makes strength” and it is easier and more effective to communicate on one product.
In the future SuiteFramework will try to :
- support analytics to get stats about the use of individual apps so creators can share donations accordingly
- integrate a feedback system so users can report bugs and post feature requests
- support custom collections ( collections created by anyone, promoted by anyone ) with commissions on installs
- simple “site tag” system to allow one click install of custom collections on any website
- easy multilingual system
- user notifications when a Kynetx app is available on the site the user is browsing
- unit tests / integration tests ( selenium)
- support coffeescript
SuiteFramework is currently under active testing and will be released in june 2011 together with a Dev Suite to increase productivity that will focus on appbuilder enhancements and offer a unique entry point to find precise documentation on KRL ( docs.kynetx.com, convore.com/kynetx , stackoverflow.com/questions/tagged/krl , KRL blogs, Google…)
You can be part of the SuiteFramework API adventure, contact me ( loic ) on Kynetx Convore Group : convore.com/kynetx