CrystalMind Product Development

Tuesday 12th of November 2013 05:44:07 PM

  Toggle Advanced Options

The CrystalMind topic maps engine

Note: the CrystalMind topic maps engine has been renamed to the PerfectLearn topic maps engine.

  • Java 7 library: JCrystalMind
  • Relational database-agnostic (i.e., can use MySQL, PostgreSQL, SQLite or any other JDBC-compliant database engine as its backing store)
  • Multi-Tenant (sharded) architecture — both sharding within a single database (row-level sharding to take advantage of connection pooling) and across databases (schema-level sharding for horizontal scaling capabilities)
  • Accompanying web services library based on JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services using the Apache Jersey reference implementation
  • Ported to Android (95% completed with the King James Bible test / reference app)
    • Small memory footprint
    • Full expressive power of topic maps including (but not limited to) scopes and full multilingual support (i.e., multilingual base names, occurrences, and metadata)
    • Full-text search
    • Thread-safe
    • Uses the on-device SQLite database engine as the backing store
    • JCrystalMind to CrystalMind for iOS / Android export functionality, i.e., web to mobile export (for off-line usage)
  • Native iOS port based on FMDB (a Cocoa / Objective-C wrapper around SQLite) already started (40% completed)
  • All three versions of the topic map engine (i.e., JCrystalMind, CrystalMind for Android, and CrystalMind for iOS) will have the same models (i.e., Topic, Occurrence, Association, and Metadatum classes) and (topic store) API (e.g., putTopic, getTopic, putOccurrence, etcetera)

Generic topic map-based mobile app

Generic Android-based topic map app - Codex Universalem

Note: the above mock-up is of a generic topic map-based mobile app that is complemented with semantically-related external content.

PerfectLearn product development overview

PerfectLearn is a knowledge management (KM) application based on topic maps with extensive semantic web integration and is only one example of a product (category) based on the CrystalMind suite of topic map engines.

PerfectLearn's start page

PerfectLearn start page


  • Built with Grails, a full stack, MVC web application framework for the JVM
  • Topic map engine - 90% completed, pending integration of caching support (EHCACHE)
  • PerfectLearn web application - 70% completed, pending integration of
  • Topic map engine web services - 50% completed (for online mobile client applications / AJAX requests)

PerfectLearn iPad mockup

PerfectLearn iPad mockup

Additional notes

  • Most people want to go big. My focus is to go small.
    • Native (on-device), thread safe, optimised topic map engines for the dominant mobile platforms (i.e., Android and iOS respectively)
      • One of the most requested features of mobile apps is the ability to function without internet access, i.e., off-line. On-device topic map engines allow you to do exactly that without sacrificing any advanced capabilities (including full-text search).
        1. In many developing countries, sporadic internet access allows people to download your app but not to actually interact with the app's content / functionality in a consistent manner, resulting in a degraded user experience.
        2. When (open) WiFi access is not available, expensive mobile data plans make off-line content delivery platforms attractive.
    • App categories that are perfect targets for both external and (especially) on-device topic map-based solutions:
      • Books & Reference
        1. Bible apps — a billion dollar business
      • Education
        1. Instruction manuals
        2. Reference guides
        3. Compiled and curated content for learning purposes
      • Travel & Local
        1. Destination marketing apps
      • News & Magazines (self explanatory)
    • Specifically, on-device topic map engines enable a myriad of different product types
  • When using topic maps as the underlying technology for any product, it should almost be as if it were an implementation detail. That is, for all intents and purposes, the user shouldn't have to be even aware of the technology: the contextual paradigm that topic maps bring to the table should just work as if it were magic.
  • Topic maps is an enabling technology, i.e., it allows for the relatively straightforward development of many down-stream products
  • Compelling use case as Glassware
  • Educational-focused app stores

Big hairy goal

  • The coherent unification of topic maps and data flows / real-time streams in relation to time, location, and other arbitrary criteria and preferences (for mobile devices); by the way, this would be a large part of the killer algorithm for personal recommendation engines.
    • Computed context layer (i.e., on the fly, algorithmic generation of transient associations)
    • Part of the Internet of Things phenomenon