PerfectLearn development update August 2013

I started the development of PerfectLearn almost four months ago and good progress has been made with the project. Although, every time I think that I’m close to finishing, I realise that the application is still missing essential functionality. I published my initial list of outstanding tasks over a month ago when I thought that I was in the final stage of the project. Now, one month later and I estimate that I have at least another three or four weeks to go before I can confidently declare that PerfectLearn is ready for release. You know… the whole Ninety-ninety rule.

PerfectLearn web application

PerfectLearn web application

Taking a look at the application’s todo list shows that I still have the following tasks to complete (grouped by task type):

Application development

  • Add and view tags. Tagging is an awesome way to organise and subsequently find your documented knowledge and its implementation is absolutely imperative. I’m going to implement tagging using associations making automatic categorisation of your information possible. The whole automatic categorisation of information thing is something that you have to experience to see how it works in practice.
  • Edit topic comments. At the moment, you can add and remove topic comments but you cannot edit them. It’s a quick thing to implement, but somehow I just haven’t got around to doing it.
  • Delete images and attachments. Uploading images and attachments for subsequent viewing and downloading is done; being able to delete them, however, is still pending implementation. With regards to uploading images and attachments, the current implementation stores the files on the same server where the application is running. I am, however, considering swapping out the current implementation with an Amazon S3 implementation.
  • Edit links. Adding links to the current topic and removing links from the current topic is finished, but I still have to implement the ability to edit links. Again, it’s a quick piece of functionality to implement. Nevertheless, it has taken a back-seat to more compelling features. Obviously, it needs to be finished before release.
  • Add, edit and remove metadata. Behind the scenes, the PerfectLearn topic map engine uses the concept of metadata to complement the various entities (that is, topics, occurrences, and associations) within the application with additional information. A non-admin user is never exposed to the concept of metadata within the application, that is, metadata management is transparent to the “normal” user. However, the admin user, does have the ability to manually manage metadata and it’s this user interface-related functionality that is still pending implementation.
  • Topic search. I’m of the opinion that search is of less importance in a topic map-based system compared to a non-topic map based system due to the inherent ease that the former provides you in terms of exploratory navigation of your documented knowledge. Nonetheless, having full text search is obviously very useful when you just need to quickly find whatever you are looking for without much ceremony. I am still undecided as to which search engine I will use to implement search within PerfectLearn. Currently, I am reviewing both elasticsearch and Apache Solr, both based on the Apache Lucene engine.
  • Translation of the application’s user interface into Spanish. According to Wikipedia, Spanish is the third-most used language on the web (2011 figures) with over 160 million users. In this context, it is also interesting to note that PerfectLearn has full support for multi-lingual content. That is, as a user you can easily switch between managing textual and binary content for different languages. Translation of the application’s user interface to Spanish is already on-going.
  • Supplemental navigation systems, including a topic index and next topic and previous topic navigation. Good Information Architecture (IA) advocates that it makes sense to provide not just, the so-called, “embedded” navigation systems (that is, global, local, and contextual navigation) but also supplemental and social navigation systems like (topic) indexes and tags.
  • Google Drive integration. Google Drive is a powerful file storage and real-time collaboration environment. Being able to organise and access your Google Drive documents by topic from within the application is a very compelling feature. I will add Google Drive support after the first release of PerfectLearn.
  • Client-side form validation. I have already implemented server-side validation. Nonetheless, it only makes sense to include client-side validation to reduce the application’s network chattiness and to provide a more streamlined user experience.
  • Upgrade to Twitter Bootstrap 3 (including typeahead.js integration). Who within the web community hasn’t heard of Twitter Bootstrap yet? It is a very powerful front-end web framework that makes it very easy to implement clean and functional user interfaces. Recently, version 3.0 of the project was released boasting a “mobile-first” approach making it a no-brainer with regards to upgrading from version 2 of the framework.
  • User profile page. Self-explanatory.
  • Browse user portfolios and view individual portfolios. The personal network and portfolio are both dimensions of the personal learning environment and, in that respect, PerfectLearn has the ability to publish individual topics from your documented knowledge repository into your online, publicly accessible learning portfolio. The work on this part of the application is already ongoing. I just need to refine and polish the experience.
  • LinkedIn integration. From my point of view, a person using a personal learning environment will do so for several reasons. Obviously, managing their documented knowledge in an effective manner is probably quite high on that list. In addition, being able to evidence your knowledge (to, for example, a prospective employer) is equally important and that is where the “portfolio” aspect of a personal learning environment comes into play. Having the ability to surface your knowledge directly within your LinkedIn Activity feed provides you, the user, with real value.
  • Atom syndication format-based web feed for the user’s portfolio. Self-evident.

Back-end development

  • getPublishedTopicReferences method. This method retrieves all of a topic’s related topics that have also been published in the user’s learning portfolio (explicitly excluding those topics that haven’t been publicly published) so as to provide the navigational context of a public topic without linking to unpublished or private topics.


It doesn’t matter how good your product or service is, if nobody knows about its (relative) merits you are as good as dead in the water. In that respect, in parallel to the on-going development of PerfectLearn, I am actively pursuing the marketing-related activities outlined below.

  • Listening to (and acting upon) user feedback. Several people are providing me with on-going constructive criticism with regards to the application’s feature set, user experience, and in general, its value proposition. Although I have a strong product vision for PerfectLearn, it only makes sense to listen to people who have valuable insights into your product’s market and use cases so as to incorporate valid suggestions into the application.
  • Writing product tutorials (including screencasts). I have a list of tutorials and accompanying screencasts to educate (excuse the pun) prospective users with regards to PerfectLearn’s feature set:
    • Web queries overview
    • How to create a topic
    • How to create a simple association
    • How to create a non-trivial association
    • How to add a member to an association
    • How to add a topic reference to a member of an association
    • How to customise the semantic web queries (for semantically related articles, videos, images, and news stories)
    • Language switching and its consequences
    • How to manage your online learning portfolio
  • Engaging with influencers within the EdTech and personal learning environment space:

Legal mumbo jumbo

  • Terms & conditions. Self-explanatory.
  • Privacy policy. Self-explanatory.

For the moment, the above list outlines what is still pending with regards to PerfectLearn’s implementation before I can release a beta version of the application. If you have any suggestions with regards to what you have seen up until now, I will be grateful for your feedback.

Stay tuned for more tutorials and screencasts and sign up for the newsletter and get the latest in updates. Subscribe to the PerfectLearn newsletter.

Leave a Reply