PerfectLearn, a personal learning portfolio

PerfectLearn’s development has finally got to a point that it makes sense to start talking about it’s future. A roadmap of sorts. In that respect, PerfectLearn in its current form is a combined personal knowledge base and digital learning environment. A place to compile knowledge not unlike the commonplace book popular in early modern Europe. But, that is only one side of the coin. The other side of the coin is the personal learning portfolio.

PerfectLearn web application

PerfectLearn web application

Let’s take a look at what I am referring to with the term "personal learning portfolio." A personal learning portfolio is a virtual, personal space that serves as an archive, profile, and showcase of an individual’s lifelong learning experiences, goals, and achievements. However, by design, currently in PerfectLearn your documented knowledge is not publicly accessible. That is, you cannot build a public profile and showcase your documented knowledge. But that is exactly where I want to take PerfectLearn next. I’m of the opinion that a personal learning environment and a personal learning portfolio really make for a compelling combination.

The learning experience, in many respects, is being pieced together from various online courses and materials.

Education is becoming more and more unbundled and fragmented. The learning experience, in many respects, is being pieced together from various online courses and materials. And that is where the combination of a personal learning environment and personal learning portfolio makes sense as a central place where a learner can compile their learning experiences and at the same time make their learning visible.

Within the context of PerfectLearn, making your learning visible translates to being able to publish the topics of your choice to a publicly accessible (but still personal) space. In all likelihood this public space — the learning portfolio within PerfectLearn — will have a primary user-interface similar to Google now (see screenshot below) or Pinterest with each pin or card representing a topic. Selecting a card will allow the user to interact with all of the usual PerfectLearn topic artefacts including the topic’s text, images, videos, files, links, maps, and related (published) topics. Furthermore, PerfectLearn users will be able to share topics with other users, add other user’s topics to their own learning portfolio, follow other users, browse topics by category or tags, and so forth.

Google now

Google now

Going in the direction outlined above will allow PerfectLearn to span the full personal-social learning spectrum providing learners with the means to take charge of their own learning, be responsible and self-directed while at the same time being able to benefit from learning within a social context.

Personally, I am excited about taking PerfectLearn in this direction. If you have any questions or suggestions related to the above I would love to hear them.

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

PerfectLearn development update December 2014

PerfectLearn is almost done.

I feel both anxious and excited writing those words. I’ve been working on PerfectLearn, on and off, for almost twenty months. And, it’s been even more time if you take into account that PerfectLearn is the culmination of two other projects, and ContextNote that I started developing in 2007 and 2011, respectively.

Bokeh Pens

Bokeh Pens

One of my goals with PerfectLearn was to not repeat the same mistakes that I made in previous projects. Specifically, I didn’t want to make the mistake of developing an application in isolation. In that respect, I have been talking to several people within the fields of personal knowledge management and digital learning environments to try to understand how to help individual learners. I also recorded several screencasts showing how to use PerfectLearn and published them on YouTube. The feedback I got from people who watched the screencasts has proven to be invaluable.

Shipping a product is a feature. A very important feature.

But, let’s get back to the reason of this blog post which is to explain the current state of PerfectLearn’s development. We will also take a brief look at some features that I have postponed adding to the application until after the first version of the application has been published. Shipping a product is a feature. A very important feature. That is why I have removed some functionality requirements from version 1.0 of the application. They will be added. Just not now.

First of all, in terms of actual functionality (for version 1.0) the following items are still outstanding:

  • Generate and display a tag cloud based on the user’s tagged topics
  • Front-end form validation for all of the forms in the application
  • Edit note
  • Edit topic
  • Edit URL
  • Edit video link
  • Edit metadatum
  • Topic index (with pagination)

That’s it! That’s what I mean when I say that “PerfectLearn is almost done.” Nonetheless, a couple of things need to be done between finishing the implementation of the above mentioned functionality and actually getting the application into the hands of users. Specifically, in relation to pre-launch testing it is my intention to do the following:

  • Internal testing: after having published PerfectLearn on the production server, I will put the application through its paces and do as many “stupid” things as possible in the application with the explicit intention of breaking it. Every time I break the application, I will fix the bug and repeat the process.
  • Private beta testing: once I have completed the internal testing I will provide access to everyone who has asked to test the application. I will do this in a way that will make it possible for me to provide timely personal support.

And now for the all-important timeframes. Implementing the above-mentioned functionality will be done by December 15. Straight after that I will deploy the application to the production server and start the internal testing phase. Taking into account that I will be doing this during the Christmas holiday, I expect this phase to take up to two weeks which means that beta-testing should start in the first weeks of January (2015). I’m unsure as to how long the beta-testing phase will take but I’m hoping no more than two to four weeks depending on what issues come to light. So, that means that version 1.0 of PerfectLearn should be launched no later than the beginning of February, 2015.

Finally, let’s take a look at some of the features that I have scrapped from PerfectLearn version 1.0:

  • The most important feature (at this stage) that did not make the cut is full-text search. Search is obviously an important feature but implementing it (with elasticsearch) will add, at the pace I am able to work on PerfectLearn, another two weeks to the development schedule. I’m not willing to do that. So, like I said, search will be added. But not now.
  • The next feature, the ability to generate eBooks (in PDF, EPUB, and Kindle formats) from a set of user-selected topics is something that I’m very interested in doing from the point of view of making PerfectLearn a viable combined research tool and eBook authoring system. This feature is adjacent to PerfectLearn’s primary value proposition (helping you turn your personal knowledge into a valuable asset) and therefore will be added at a later stage and perhaps not even made available to regular users of the application.
  • Dropbox and Google Drive integration. That is, the ability to attach files and images to topics that will automatically be stored in your Dropbox or Google Drive account.
  • Currently, your documented knowledge in PerfectLearn is not publicly accessible (by design). Being able to publish your documented knowledge to a personal learning portfolio (with, for example, LinkedIn integration) is another feature that I would like to add to PerfectLearn in the not too-distant future.
  • Finally, to make it straightforward to get information into PerfectLearn as part of your documented knowledge, I will develop a browser extension that makes it possible to add a webpage (as a topic) quickly and easily to PerfectLearn by just clicking a button.

In summary, the vast majority of PerfectLearn’s feature set has already been implemented. Initial production testing should start in approximately ten to fourteen days time. After that, there will be a beta testing phase that should take no more than two to four weeks which brings us to early February of 2015 to release the first version of PerfectLearn.

Finally, I would like to thank everyone who has helped me along the way. In many ways I couldn’t have done this alone. Thank you.

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

PerfectLearn feedback

Over the last couple of weeks I have released several screencasts (on the PerfectLearn YouTube Channel) in which I attempt to explain how PerfectLearn works in conjunction with providing an overview of PerfectLearn’s benefits.

The feedback from numerous people that have watched the videos has been overwhelmingly positive. Not only have people expressed their interest in PerfectLearn but also, and perhaps more surprisingly, I have also received a lot of very useful insights at both a product level and at a market(ing) level.

With this blog article it is my intention to capture (in no particular order) for future reference what I consider to be the most important insights I have obtained from discussing PerfectLearn with several people after having published the screencasts on YouTube.

User Data

There is nothing more important than knowledge and specifically when talking about individuals, their personal (documented) knowledge is of inestimable value. Hence, for a user knowing that their investment in PerfectLearn is safe because if necessary they can get access to a full dump of their data/documented knowledge is an important consideration when evaluating an application like PerfectLearn. In that respect, it makes sense to offer several ways for a user to be able to export their data, including JSON and XML dumps, HTML, and perhaps even Markdown.

User Context and Touchpoints

Users will be accessing and using PerfectLearn in different locations, contexts, and on different devices. Obviously, one size doesn’t fit all. My thinking in that respect has been heavily influenced by the concepts of touchpoints and cross-channel blueprints (as outlined in the article Cross Channel Design With Alignment Diagrams). Specifically, I am leaning towards the following cross-channel blueprint:

In the above graph you will see how each touchpoint (that is, phone, tablet, and desktop computer) is different with respect to the main user intentions/interactions. That is, on a phone, knowledge acquisition is the most important user intent, on a tablet the intents are more equally divided between knowledge acquisition, knowledge surfacing, and knowledge organisation. And finally, on a desktop machine, the user is probably more focused on the actual organisation of knowledge. The actual touchpoint proportions are arguable but the principle of an application behaving differently depending on the user’s current touchpoint and context is valid.

Target Groups

With regards to marketing PerfectLearn and the accompanying communication of PerfectLearn’s benefits it makes sense to focus on specific user needs.

The plan is to first focus on knowledge (management) geeks and life-long learners. The next target group will be people who are researching/investigating one or more topics of interest (both professionally and non-professionally). Finally, the third target group will be both teachers and students. Obviously, these three groups are not mutually exclusive and it is more than likely that there is at least some overlap between them.

The important lesson to take away from this point is that you really do need to understand each group’s unique pain points and ensure that you effectively communicate how your product addresses those pain points.

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

PerfectLearn for Android – Alpha 1 preview

The video in this post provides an overview of the current (very early) state of development of the PerfectLearn for Android app. I created five topics and the accompanying associations to demonstrate navigating between topics and the automatic retrieval of related images (from Flickr) for each topic.

The video starts with the Spain topic, followed by navigating to the Pablo Picasso topic, the Vincent van Gogh topic, the Netherlands topic, and finally The Starry Night topic (and then back again).

PerfectLearn for Android (alpha preview 1) from Brett Kromkamp on Vimeo.

Each topic plays an appropriate role within the association linking the respective topics. Both the association types and accompanying (member) roles are reflected in the navigation menu in the app. At this stage of development the app only has this semantic navigation mode. The finished app will have several navigation modes including a "flat" (non-semantic) mode that limits the menu to displaying the related topics without the association types and roles making the navigation to related topics more straightforward.

Furthermore, as it stands now, the app’s semantic web queries are limited to the retrieval of related Flickr images for the current topic. Ultimately, the app will retrieve and display, in addition to related images, the topic’s related videos (from YouTube), Wikipedia articles (via Freebase), and news stories for the current topic. Finally, you will also be able to manage (and edit) your Google Drive files organised by topic.

If you have any feedback or questions with regards to the PerfectLearn for Android app, don’t hesitate to contact me at

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

PerfectLearn for Android app concept

The concept I am working on for the Google Play for Education store (a part of the Google for Education programme) revolves around the coherent integration of several parts, namely, a set of semantic web services, Google Drive (for Android), and the PerfectLearn on-device topic maps engine (which I mentioned in a previous blog post: Topic maps engine for mobile platforms).

In a nutshell, the concept centres on semantic web queries complementing and enhancing the user’s documented knowledge to which Google Drive documents can be attached; the user’s documented knowledge is organised by means of a topic maps structure.

The app concept (for tablets) is not completely worked out but in broad terms the functionality will be aligned with the PerfectLearn for Web application‘s functionality with the distinction that the user can attach Google Drive documents and files to individual topics, effectively applying a topic maps-based organisation to Google Drive documents (in addition to the user’s on-device documented knowledge).

I will post updates with further refinements to the concept over the course of the next few days. As always, any feedback you have is more than welcome.

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

Topic maps engine for mobile platforms

As part of the PerfectLearn project I am building an on-device topic maps engine (ported to both Android and iOS). For testing purposes, I decided to import the King James Version (KJV) Bible into a PerfectLearn-compatible topic maps format which in turn can be exported to a SQLite file format for subsequent use by the on-device topic maps engine.

The video below shows the navigation of the KJV Bible starting at the “root” navigation topic and successively drilling down until finally reaching Genesis Chapter 1 and Genesis Chapter 2, respectively.

Codex Android app King James Version (KJV) Bible navigation. from Brett Kromkamp on Vimeo.

Both the Android and iOS versions of the topic maps engine will be compatible in terms of their models (that is, the data entities, including topics, occurrences, associations, base names, and metadata) and API (for example, putTopic, getTopic, getAssociation).

The topic maps engine has a low memory footprint, is thread-safe and has the full expressive power of topic maps including (but not limited to) scopes, multilingual support (that is, multilingual base names, occurrences, and metadata), and full text search.

Topic maps technology is an “enabler” in terms of what it allows you to build. Specifically, on-device topic map engines can form the basis of a wide range of different app types. Many app categories are perfect targets for both external and (especially) on-device topic map-based solutions, including (but not limited to):

Finally, (on-device) topic maps engines make for a compelling use case in Glassware.

Update (January 15, 2014): Some people have asked what makes an on-device topic maps engine compelling. Well, one of the most requested features of mobile apps is the ability to function without internet access. On-device topic map engines allow you to do exactly that without sacrificing any advanced capabilities. In addition:

  • 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.
  • When (open) WiFi access is not available, expensive mobile data plans make off-line content delivery platforms attractive.

Furthermore, having an on-device topic maps engine does not imply that the content on the device would not be (periodically) updated. Ideally, an app determines (on startup) if it has network access and if it does it subsequently checks for new content. If new content is available, it downloads and updates the topic map store with the new content.

As a sidenote, if you watched the video you will have noticed that the navigation lists are unordered. That is because I have not implemented any sorting on the item objects, yet. Secondly, the retrieval of associations is sometimes quite slow which is due to the app running on an emulator (which are notoriously slow) in combination with some unoptimised code in the topic map engine.

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

iPad-based personal learning environment

PerfectLearn was always envisaged as a suite of applications, including a web-based application and an accompanying tablet app. I’ve started to create some mockups that will provide the starting point for the development of the PerfectLearn iPad app.

There are still many user interface questions up in the air; things that I am uncertain about with regards to iOS 7 design. For example, should the app have an animated sidebar sliding in from the side of the screen (with a swipe gesture) overlaying the content below it with a translucent glass effect or should it have a more conventional split view controller? And what is the correct placement of the tab bar for iPads? Can I place it on the left-hand side of the screen or should it be placed at the top or bottom of the screen? Likewise, for the toolbar; should it be placed at the top or the bottom? Furthermore, one of iOS 7′s distinguishing features is animation and in that respect, what type of animations make sense for the PerfectLearn iPad app?

Over the next couple of weeks, I will research and try to come up with a coherent user interface design and accompanying user experience. I will also try to blog as much as possible detailing my progress and include screen shots and screencasts for feedback purposes.

Stay tuned for updates. Subscribe to the PerfectLearn newsletter.

Why am I building PerfectLearn?

Why PerfectLearn?

It is a question that I have been asked on more than one occasion. It is also a question that is easy to answer. However, to answer it fully, I have to give you a bit of background information.

Several years ago I built an application that helped me to store and retrieve the essential bits of knowledge that I deemed necessary to do my job well. Like a lot of people, I changed my role several times within the company that I worked for. First I was a developer, then I became lead developer followed by becoming the head of software development and finally, I became the company’s IT manager. With absolute confidence I can say that a major factor, other than my colleagues, that contributed to my success in each of these roles was my ability to effectively manage the required job-related knowledge. And, as you have likely already guessed, it was my application that made this task of knowledge management easier.

PerfectLearn web application

PerfectLearn web application

So, when I was offered an exciting software development-related job at another company, it was only natural for me to resort to my application to help me to keep on top of the demands of the new job. This time around, however, although the application did what it did very well, it was also beginning to show its age. In poetic terms, the application was definitely a child of its time. That is, when I originally implemented the application in 2006 it wasn’t that easy to access high-quality semantic web services in a structured manner. Today, doing exactly that is, relatively speaking, a straight-forward exercise. The number of available public-facing high-quality APIs and web services has skyrocketed. Mainly for that reason, I decided to re-implement my application with the vision of maintaining the versatility and expressive power of topic maps in combination with great semantic web services to automatically supplement your own documented knowledge. And I think I have come along way in accomplishing that vision. PerfectLearn, without any user intervention, automatically displays related Wikipedia articles, Flickr images, YouTube videos, and news stories from various sources all seamlessly complementing your own documented knowledge.

Moreover, the semantic nature of PerfectLearn is not limited to external web services returning related information; due to PerfectLearn’s underlying data structure, topic maps, you can define semantically meaningful relations between your own topics making it possible to expand your documented knowledge without the risk of your knowledge becoming disjointed. In addition, these semantic relationships (associations, in topic map terminology) provide you with a very precise context for any given topic while at the same time making it easy to navigate your documented knowledge in an exploratory fashion.

I have already got to a stage within the application’s development that it can actually be used and I am pleased with the result. Lots of potential features are still missing but the application is useable and this time around, I built the application not just for me but for other people as well. Why? If the application is useful to me it will be useful to other people as well. I’m convinced of that.

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

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.

Overview of PerfectLearn

The screencast below will walk you through signing in to PerfectLearn, creating two topics, and viewing the web queries for related study materials of the two newly created topics.

PerfectLearn’s web queries overview from Brett Kromkamp on Vimeo.

To sign in, you use the username and password that you provided during the sign-up process. Once you have signed in, you will see PerfectLearn’s intro page. To access your topics, just click on the big green Start learning button which will take you to the Front page topic, the starting point from which you will be able to access all of your documented knowledge.

To create a topic, click on the Topic dropdown and select Create topic from the menu and type "Pablo Picasso" in the Name field. PerfectLearn will automatically generate the topic identifier, in this case pablo-picasso, based on the name that you provided for the topic (the significance of the topic identifier will be explained in a future tutorial). Once you have provided the topic’s name (with the accompanying generated topic identifier), click on the green Submit button to create the topic.

Now, let’s create another topic. The difference between creating this topic and the previous topic is that this time around we will edit the generated topic identifier and provide a shorter topic identifier. Just as before, click on the Topic dropdown and choose Create topic from the menu. In the Name field, type "North Atlantic Treaty Organization" followed by clicking on the Edit button located next to the Identifier field and change the identifier from "north-atlantic-treaty-organization" to "nato".

Before moving on, a couple of observations with regards to what we have seen up until now are necessary. First of all, you saw that each topic has an accompanying topic identifier. Topic identifiers are of special importance when establishing relationships between two or more topics (that is, creating associations) as you need to provide the necessary topic identifiers when creating the association. Don’t worry about having to remember the exact topic identifiers as PerfectLearn has autocomplete functionality in place for all of the fields that require a topic identifier making it very easy to select the appropriate topic.

Secondly, it is important to understand that a newly created topic or a topic that you navigate to becomes the current topic. With PerfectLearn you are always working within the context of the current topic. You can edit and view the current topic’s text, view and download the current topic’s images and files, or view the current topic’s associations and web queries. Finally, and this is an important point, you create associations between the current topic (also known as, the source topic) and another topic (the so-called, destination topic). Creating simple and non-trivial associations will be the subject of another tutorial.

After creating the topic, let’s take a look at the various web queries that PerfectLearn can perform for a topic. To see the results of the web queries, click on the Web queries dropdown and select the View menu item. PerfectLearn will retrieve all of the related articles from Freebase and display them in a list. Click on the Preview link of the corresponding article to see a preview of the article. If you want to see the full Wikipedia article just click on the See Wikipedia article link in the preview window.

Next on our list of web queries is the video query. Click on the Video tab to display the list of related YouTube videos for the topic. Clicking on the View link (or the video’s thumbnail) will open a video player in a separate window for you to view the video.

After the video query, we will take a look at the images query. Click the Images tab to see the most relevant Flickr images for the topic. Clicking on a thumbnail will load the corresponding image in its original size in a separate window. You can view the previous and next image by clicking on the left and right arrows, respectively. You can also view a slideshow of all of the images, by clicking on the Play button at the top of the screen when viewing an image.

Finally, PerfectLearn also provides a web query for news stories. Click on the News tab to see a chronologically sorted list of news stories related to the current topic. Clicking on a link will open the corresponding news story in a new browser tab.

This concludes the first brief overview of PerfectLearn. Stay tuned for more tutorials and screencasts and sign up for the newsletter and get the latest in updates. Subscribe to the PerfectLearn newsletter.