Strategic Features Overview

This is the list of strategic features to be provided with the Naradana Platform once it's ready for pbulic release. Partially they are already implemented and most of them are planned to be released with our first market release 1.0.

  • Caption
  • Description
  • Holistic Programming Reference Framework
  • Framework supporting Holistic Programming. Especially it shows how special concepts of Holistic Programming are implemented:

    • Outside-in: creating software systems from the user's perspective
    • Multi-Type Inheritance
    • Generative Programming
    • Change Programming
    • Dynamic Inheritance

    It is a leading example for good software code and state-of-the-art programming.

  • Security
  • Solution based on the Naradana Platform are secure in terms of:

    • Protected login
    • Data protection (encryption)
    • Intrusion protection
    • Backup

    Depending on the customer's needs, different techniques of security can be applied.

  • Usabilty and Efficiency
  • Solutions build with the Naradana Platform immediately provide a high standard of usability. Many detailed features provide better overview, easy navigation, keyboard support, protection from dead ends. The Naradana Platform prevents the solution developer to offer links leading to inaccessable functions. Access rights management is fully included within usability considerations. The system allows different ways of using it, depending on the user's experience. While less experienced users should be able to access all features intuitively, usability is also focused on achieving more efficiency for experience users.

  • Accessibility
  • The Naradana Platform provides the facility to easily create systems with high accessibility.

    The "standard" (but still not everywhere found) separation of HTML and style information is obligatory, and essential part of the knowledge management within the framework. Since also the content itself "demands" for certain presentation - and also the presentation demands adjustment of the content - manipulation of both are tightly connected in the platform, while the "output" is clearly separated, so HTML based systems for special accessibility considerations (like reader software for sight disabled peopled) is fully supported.

    Furthermore, through strict separation from content and presentation and the possiblities to create specialized "views" for other media than HTML browsers, different possiblities for presenting information are open to be used.

  • Performance
  • Through multi level caching a high performance is achieved, even if single page calls calculate complex structures and user access conditions. Depending on the complexity of the pages, optimized caches provide a sounding user experience. Reducing the amount of data transferred between browser and server also helps to improve experienced speed of the solution. Using AJAX technology for using a page while it's still loading in the background helps to improve the user experience, too.

  • Completeness
  • All functions visible are also complete and error free. Especially, there are no links offered resulting in a "not yet available" message and a message like "you don't have appropriate access right to view this page" should never be seen. A Holistic Programming system knows about its own functionality and does not generate links targeting none accesible functionality.

    Knowledge of functionality to be created in future becomes part of the system by makeing the feature management part of it. So, the system "knows" even about features not yet implemented. In combination with the version and release management, this allows to control and "publish" features that are really ready to go public.

  • Content Management
  • The Naradana Platform provides full classical content management functionality. Further more, this functionality is extended to the needs of developing complex software solutions. Content management within the Naradana Platform takes advantage of the build in version control and access management systems. Equally, multi-language content is supported by the multi-language features.

  • Multi Language Support
  • The Naradana Platform supports to collaboration of teams on creating web sites in multiple languages. While typical CMS systems support using multiple languages for the content only, the Naradana Platform supports the use of multiple languages and the translation process for every piece of text shown in the solution, if it belongs to the content, the structure, the software definition or whatever.

    Allowing content to be in multiple languages includes the use of non-western languages makes solutions based on the Naradana Platform ready for the globalized business world and allows even small companies to enter this world.

  • Access Management
  • Different users see different content and have different capabiltities to use the system. User access is organized by assiging access rights to user groups. Users can be assigned to user groups automatically or explizitely through the user adminstrator. Elaborated inheritance machanisms for access rights reduce the adminstrative effort and give detailed control possibilites at the same time.

  • Workflow Support
  • Workflow support in software system is mainly to provide users with different perspectives on the data, depending on the function the user has and the status of the data. Even a small shopping system is already a workflow system: The shopping cart can have the status "empty", "filled", "ready for ordering" etc. Depending on the state the user can perform different activities with the shopping cart (or it's "content").

    Since the Naradana Platform is about providing different perspectives to users - it's a big elaborated workflow system itself. It comes with everything needed to apply even most complex workflow scenarios to the solution.

  • Site Management
  • One solution system can run several sites. Through managing sites by URL server names, the system allows multiple entry points. These can be configured in a way that totally different experiences for each site are possible, giving the impression of independent web sites, while developers and administrators can benefit from managing the system as a whole and gaining synergetic effects of using common functionality for all these sites. (E.g. the Naradana "website" consists of six sites with different appearances).

  • Feature Management
  • Feature Management within the Naradana Platform is an extended form of requirements and release management. Since a feature becomes present within a Holistic Programming system as soon as a feature description is entered, the organziation of feature requirests already leads to the feature implementation.

    Features can be organized like in typical requirements management tool and used within the product management module. Release management contains the assignement of feature implementation to developers and task tracking is integrated, so completed tasks already show up as implemented features - ready to be tested or to be used.

    Btw.: This feature list is an excerpt from our product management knowledge base. Our knowledge becomes your knowledge, just the perspective is different.

  • Requirements Management and Task Tracking
  • Part of any software development process is requirements management and requirements related task tracking. This is part of Holistic Programming, too, where it is called "Feature Management". This is integral part of Naradana Platform, where the feature management is also connected to the views of the user interface. So, every page can tell you about its features, planned once or those already implemented. Deeper integration of requirements mangement into the actual software development process is not possible.

  • Version and Change Management
  • Extensive version management allows detailed control on releasing changes, grouping changes, undo or confirm changes, track changes etc. With elaborated undo and publishing mechanisms, the user can work in a sandbox as well as decide to publish the achieved work.

    While conventionally version management systems consider only the change of data, in Naradana Platform, every piece may be changed, like the definition of the software, the views, or the data itself, of course. All possible changes fall under the control of the version management system, so developers are supported as well as users.

  • Online Collaboration Support
  • By definition, a web-based system for software development is already a huge step towards online collaboration supports. No further tools for decentralized working on a common web-solution are needed.

    Besides general features for online collaboration, specific views are provided to allow editing content simultaneously by different users.

  • Managed Knowledge Exchange
  • The Naradana Platform provides intelligent mechanisms for exchanging knowledge. And, since the platform also manages knowledge about the solution system and its data, there is a wide range of applications for this feature:

    • Distributing knowledge to partners, so they can use it within their system. E.g. distributing country knowledge to use an always actual list of countries within the target solution
    • Distributing public parts of an company solution which runs within the intranet behind the firewall to an server in the public zone and vice versa, so public user input finds its way into the company solution.
    • "Checking out" pages or other knowledge parts of a company solution to a local installation of a mirror solution (e.g. on a laptop), working and modifying this knowledge disconnected from the net (e.g. in the airplane), and synchronize back with the company solution once the connection is re-established.

    Managed Knowledge Exchange is based on the KASE feature described below.

  • Rich Set of Solution Sub-Systems
  • Provide a rich set of pre-defined solution sub-systems.

  • Easy Creation of Knowledge Databases
  • The Naradana Platform provides the optimal base for knowledge databases for advanced knowledge management. Knowledge can be stored in a structured way, it's easy to link knowledge entities with each other. The intutive user interface allows to enter structured data as easy as in any spreadsheet application, while the structure is maintained and used to build the knowledge representation in a way that it can be used by the solution in any possible way.

  • Individual Workplace
  • Internet users trained by using contemproray community solutions or other Web 2.0 sites are used to customize "their" workplace, in most cases by creating or changing their own start page shown after logon.

    The Naradana Platform picks up this concept and commbined it with the idea of wikis and the customization features usually only found in big software applications. An essential part of Holistic Programming is to support the different perspectives users my have and derive the software to support these perspectives automatically. In this sence, having individual workplaces for users is a core functionality of a Holistic Programming system, which can be easily created with Naradana Platform.

    With solutions based on the Naradana Platform, if necessary access rights are provided, users can customize their workplace by:

    • Creating thier own perspective on the knowledge represented by the solution
    • Copy and modify what they see (Edit this page, everywhere and for everything)
    • Having and modifying their individual start page
    • Having and modifying their individual side bar (for elements being visible on all pages)
    • Enter their specific set of preferences

     

  • Searching and Finding
  • Because of the detailed knowledge of the structure of any stored information within a solution based on Naradana Platform, new strategies for finding information can be taken.

    Finding keyworks in headers, column captions, as default names of object instances etc. can provide a high quality of search results, as the information can be listed accordingly to the meaning it has in the overall information structure. Searching is a combination of fulltext and database queries.

    Also, the knowledge can be used to automatically improve support for search robots with the effect that pages of the solution are easier found through search websites like Google etc. This way the Naradana Platform provides search engine optimization (SEO) to each solution without forcing the users to adjust the way to express their knowledge to the special considerations of this task.

  • Rich Set of Views
  • The Naradana Platform provides a rich set of views to compose website of any purpose with. These views can be generic to support typical tasks of solutions, like advanced table editing, or specific to certain areas, like humanizer views to ensure real human beings are using the system. Checkout the list of already implemented views here.

  • Support of the operating support team
  • The support team is supported by the solution itself. The operation can be monitored, access statistics are provided. Mal conditions are automatically reported per e-mail. While error details are usually hidden from the user, they are fully available to support and development.

  • Industrial Standards Support
  • Solutions created with the Naradana Platform inherit its support of industrial standards and APIs interfaces like:

    • HTML 4.01 / XHTML 1.0 and CSS 2.1 for general browser support
    • SOAP for WebServices support
    • UTF-8 for multi-language support
    • ECMA Script 3.0 for browser and server side programming
    • ANSI-SQL for database acecss

    While these standards are supported, the different interpretations (or even mal-functions) implemented by the different vendors are considerd. E.g. check the BrowserWiki database to learn about the different browsers and what kind of differences need to be handled.

    Besides explicite standards, there are defacto standards for state-of-the-art software development to be followed (but much to often not followed by many web solutions):

    • Transaction management for database access
    • Exception handling for error condition
    • Assertions to ensure logic precondition

    ... and many others we even dedicated strategic features to, as they are so important but so often deminished in todays internet software solutions.

  • Object Oriented Development Support
  • While Naradana Platform extends the paradigm of object oriented software development significantly, there are still possibilities to link with object oriented principles, e.g. showing an object model in UML.

  • WebService Creation and Data Exchange
  • Based on the object definitions stored in the definition shell, WebServices can be generated to provide "views" for automated access to Naradana Platform solutions.

    The WebService Defintion View can be used to define an interface accessible through standard WebService technology. A WSDL is generated to allow clients to use this interface.

    To support legacy systems, additionally to WSDL configuration files for Special Data Transfer Services are generated. The Special Data Transfer Services support different standard protocols for data exchange, like FTP and SMTP.

  • WYSIWYG editing of all content AND structure
  • WYSIWYG (what you see is what you get) is a leading prinziple for Holistic Programming and widely supported by the Naradana Platform. Besides editing of HTML content (as modern content management systems off), the structure of pages, tables, forms and all other views are designed on a WYSIWYG base. Furthermore, the prinziple of copying what is needed is added, so the most efficient way to create new pages (or other content) is to identify any page as template, create a copy and modify what should be changed. This way, the user does not need to identify and understand the page's underlying construction principles (like which elements are part of a template, and whicha re specific to a single page, how is a table defined, how to I get the page into the menu etc.) but just point on what he or she would like to have as a base and modifiy it.

  • Transparent browser support
  • Since the code of solutions based on the Naradana Platform are generated from general definitions, differences for specific browsers can be handled by the code generator and no longer need to be concern of the user.

    The Naradana Platform provides a browser database to define expected browser behavior and derive matching browser specific code from it. To get an impression, checkout the BrowserWiki database which covers the browser database.

  • Advanced Testing Support
  • Besides standard support for testing like providing an intergrated test case and test report database, testing is supported with automatically generating test cases from the use of the system. Every activity can be protolled for future re-play and can be marked as test case. Test plans can be provided side by side with the pages viewed, so filling the test protocol is done with easy and least possible effort.

  • Advanced Technology Support
  • While the Naradana Platform is quite independent from the technology actually used, it takes advantage of cutting edge technologies if needed, but still provides implementations running on well-tried technolgies.

    These technologies are currently investigated if they bring the advantage to user systems worth to become part of the Naradana Platform:

    • AJAX for more dynamic display of dynamic views like the table editor.
    • Using SOAP for the knowledge exchange system
    • Generate code for additional programming environments like Java, .NET, XMI

     

  • Constant Architecture Refacturing
  • Constant refacturing the architecture to reflect most recent insights of most appropriate implementations is essential. The Naradana Platform supports this kind of refacturing to make sure the architecture always reflects the most actual knowledge about the system.

  • Advanced Error Management
  • Error Management is supported on multiple levels: For the developer it's made very easy to identify error conditions and write appropriate code or definitions to handle these conditions. Different type of errors allow the system to react appropriately. Easy writing of text messages while coding and considering the multi-language requirements support the willingness of developers to provide users with useful explainations of error conditions.

  • Guided Programming
  • For tasks still needing "real" software developers involvement, they are guided by the system to avoid inappropriate use of the freedom they have in the system. Invalid definitions are refused and must useful constallations are suggested as defaults. So, the programming work effort is reduced while the result matches better the possiblities of the system.

  • KASE - Knowledge and System Exchange
  • Parts of a Naradana Platform solution can be exported and importet into another system. These parts can be simple data values, complex data structures, design patterns including their data, or complete subsystems. The intelligent exchange technology makes it possible to "order" certain fragments of one system and incorporate them into the other system, guided by the target solution to overcome possible situations of incompatibility. KASE (Knowledge and System Exchange) is an essential idea of the Holistic Programming architecture.

  • Monitoring
  • Monitoring allows to respond to requests accordingly to the callers context. E.g. identified search engine robots will be provided with information imrpoving their scanning activity. Monitoring is the fundation of access statistics. Also, monitoring is used to detect intrusion attempts.

    Acccess activities on are monitored. The browser is identified by using the Browser Knowledge database. A session identifier is used to assign access requests to a session.

    Optionally, users with logon are identified with their sessions to track back changes to users issued by them.

    Monitoring may conflict with data privacy regulations or with high demands on user privacy. All tracking is optional and can be prevented by the operator and/or by the user.

  • Platform Independency - Cross-Platform-Shell
  • The Naradana Platform is independent from the operating platform as much as possible. Accesss to platform functions happens through a cross-platform function shell only. That means the Naradana Platform provides operating system independent functions for:

    • Operating system access, mainly user and file management
    • DBMS access and system independent query builder
    • Application system access, like HTTP input and output
    • Web application management functions
  • Prototyping supporting the classical software development process
  • Prototyping with the Naradana Prototyper offers the first contact with holistic programing without abandoning classical and well implemented software development processes, but support them in best possible ways.

  • Wide Browser Support
  • The Naradana Naradana Platform supports virtually all browsers and allows easy organization of supporting the relevant browsers. Browser support is defined by the BrowserWiki.