User-stories
From IKS Project
Compiling a list of simple user stories, which describe how users [1] work and interact with a semantically enhanced CMS, will help a lot in:
- Benchmarking, by more precisely specifying what is to be implemented.
- Understanding and communicating what IKS is about. What is a semantically enhanced CMS? It is one that allows those stories to be implemented out of the box or with reasonable effort.
- Measuring progress, by counting how many of those stories can be easily implemented using today's CMSes.
- Involving the community, by defining or refining the list of stories on the public IKS mailing list.
How many stories?
A few dozens would be good. Stories should be simple in their description, but not necessarily simple to implement today. CMS users should understand them, and CMS architects should be able to discover semantic-related needs from the stories. How to suggest additional stories?
How to contribute ?
Add them as directly to this page (requires registration), or subscribe to the community mailing list and send them there with a [STORY] marker in the subject line.
What should happen next?
Once we have a draft list of stories, we (the IKS community mailing list subscribers) will vote on the most relevant ones, to create the "official" list. Each story will get a unique ID that we can refer to in future work. Your turn!
Let's put the collective neurons of the CMS community to work on this, looking forward to your contributions!
[1] "Users" is meant in the broad sense: content authors, website visitors, programmers who write code or scripts to render content, etc.
Suggested user stories
Short stories that describe how a user interacts with a semantically enhanced CMS:
Story 01: Search and Disambiguation in Docs
I have a collection of 30'000 documents, and want to find the five documents that talk about or was edited by John Smith. Problem is, there are three John Smiths in my company, and the two others appear in lots of documents.
Story 02: Presenting Complex Product Configurations as Content
I'm a PC vendor and I want to implement a PC configuration page that guides the user in an intelligent way to avoid impossible combinations of components. The possible combinations are defined declaratively, I don't want to write code to describe them.
Story 03: Similarity-based Image Search
A user (Creator) working with a digital asset management system wants to find images that are similar to the one he is looking at, either in terms of the real-world objects that the images represent, or in terms or graphical similarity (colors, shapes, etc.)
Story 04: Spatio-temporal Content Queries in near-natural Language
When visiting a house rental website, I can formulate queries like “recent pages that talk about houses to rent in the french part of Switzerland” and the website search engine understands them.
Story 05: Assistance with Semantic Tagging
As a consumer, I want to create content in my CMS by simply typing plain text. The system then shall offer a list of tags that describe my content, and a list of links to entities (people, companies, etc.) that my text talks about. I want to be able to interactively refine those lists of tags and links, afterwards.
Story 06: Context-aware Content Delivery
I'm a hotel manager and I'm adding info about a music show that takes place in my hotel next Friday. Internet users should be able to find this info using queries like "events that take place at the end of next week within 10km of where I am now", without having to know about my website.
Story 07: Knowledge-based Content Adaptation
The creator of a web page has included the address of a company in one of her web pages. If this address changes, she wants to get a notification so that she can update the content of that page. The system will suggest the new data and she will just have to accept or reject the proposed changes.
Story 08: The Semantic Event Recorder
I am running a workshop with 60 people contributing and we use a couple of wireless microphones. I want each statement recorded and tagged as being spoken by that person. I want the statements transcribed automatically and later summarized by human editing. Then I want to add images of notes and diagrams from flipcharts. All of the items should be accessible by speaker, topic, setting (the workshop) and should be clustered using time information (e.g. "notes taken when we discussed semantic search"). The system should create a swimline chart of the themes, with contributors as the swimlines ("Joe Doe said X about search and Y about the Stack"). The content thus created should be semantically indexed so that other semantic systems can also make use of it.
Story 09: Similarity based document search
A user (Creator/consumer) creates a new document in the CMS by typing in a HTML edit form or by uploading a document with textual content (PDF, office file, XML file, ...). The user interface shows the list of the 5 most similar documents already in the CMS based on the meaning of the terms occuring in those documents, without the user having tagged the documents at creation time.
Story 10: Automated document categorization
I create new document in my CMS by typing in a HTML edit form or by uploading a document with textual content (PDF, office file, XML file, ...). I wan the CMS to suggest me a list of maximum 3 controled properties such as subljects/topics or geographical coverage out of list of standardised options (IPTC subjects or world countries), based on the text content I gave.
Story 11: Experts network analysis
I receive a document/email from a customer about technical problem I know nothing about. I want the CMS to suggest me who in my organization would be the most competent person able to help me address my customer needs based on a semantic analysis of the content of documents authored in the CMS, the personal public communications (e.g. twitter, corporate blogs) or emails logs on the message server.
Story 12: Conversational document retrieval
1- User launch iphone / android application with speech to text conversational access to the corporate intranet.
2- User press speech button and says "Show me invoices for company ACME" => The application lists the first 10 documents summaries out of 5000 documents ordered by descending dates
3- User press speech button and says "Restrict to january and february 2009" => The application refines the list of results down to 10 hits
4- User press speech button and says "Restrict to amount larger than 50000 euros" => The application displays the single matching invoice.
Story 13: shopping on a bank holiday
Today is a bank holiday, most stores are closed but not all. How does Joe Shopping Addict find out which stores are open within an hour's travel from his place? Travel can be by train, bicycle, car, depending on what's more efficient.
Story 14 : POI : Points Of Interest
- User read a text on the CMS and see some words / expression / paragraph that particularly interested him.
- User highlight theses terms and with a right click add them into his "POI box"
- User continue the reading and system propose to him some CMS/intranet/internet content related to his POIs.
- Up to (say, five) categories of POIs are possible. When highlighting, the user uses different colours of the highlight-pen
- On request the system displays highlit POIs by category (colour)
- Possible use of categories: red - I am not sure of usage (if my text) / don't know the word, need to look it up (if not my text); blue - these POIs will become a summary of the text; green - reference needed (if my text) / I want to remember this POI for other texts
Story 15 : Auto-prio mailboxe
I received 200 mails a day. I want the my mailbox defines for me the priority based on my past use of my emails.
- ie : usually I answer first the mail received from my boss, I read when possible some updates/newsletter.
- ie : based on due date, the priority should be higher.
- ie : if usually I forward mails from company X to Internal employees Y/Z, I want it to be forwarded directly.
Story 16 : Decision helping
I am a Trader I read a lot of Financial and Non-Financial information. I need to anticipate the trends and understand some patterns.
I want that the tool read for me articles (ie BP oil disaster) and propose possible action on sell/buy on Oil company and currency) based on past recognized patterns or discovered (causes/consequences)
Story 17 : Ontology Navigator
- I have many documents in my cms
- I want to navigate through them with my domains ontologies
Story 18 : Auto support
- I received mail and chat from my clients
- I would like that system be able to answer client chat/mail based on past answers given by mail/chat and documentation in intranet.
- System don't answer when don't know.
Story 19 : Enriching content with information retrieved from internal sources
A journalist (Creator) is working on an article about a famous football player. He remembers that comparable articles have already been written by his colleagues using the same CMS. In order to enrich his own content, existing information from other internal source are retrieved by the system.
Story 20 : Personalized Search
The father of a family (Consumer) is searching for an appropriate holiday house for a trip. After registering as a user, he can define a profile with personal information like relationship status, number of children etc.. He starts the search for holiday houses and querying a simple search string like “Holiday houses, Italy”. According to his specific needs the search results focus on criteria like children rooms, childcare, non-smoking rooms, etc..
Story 21 : Entity extractor support in editors
An author (consumer) is writing a text about capital cities in europe and writes the word "London". The system suggests the "city" entity which can be choosen or alternatively the author (creator) is able to manually tag the content through the enriched content editor.
Story 22 : Extraction of information from texts
A sport journalist (consumer) who writes an article about a football game needs to add information about the match that he/she followed. The CMS should provide services to collect information relating to the examined text. The IKS should be able to extract specific entities (e.g. names of persons, companies, location ,…) from texts.
Story 23 : Enriching content with information retrieved from external sources
When a user (Creator) creates or adds new content, related content from outside the CMS, e.g. web pages and linked data, is suggested for enriching the current content. The user has he option to add links to this additional content or integrate it in the article he is working on.
Story 24 : Multi-device publishing
A content author (creator) wants to create different versions of the same content for different devices (e.g.: Desktop-based Browser, Mobile Phone). After creating the content, she specifies the different platforms for which the content should be provided. This information will be used by the system for producing the appropriate content representations that will be presented to consumers when they use the respective platforms.
Story 25 : Quality ensurance and semantic enrichment of content
A travel agency wants to provide additional information about products (e.g. hotels, trips, etc.) or travel areas the user is browsing, it should be possible to automatically enrich these information. Additional information, like events, activities or historical facts should be provided depending on the content the user is browsing. While enriching existing content with additional information, data from corrupted sources are retrieved. Furthermore no security protocols have been followed. Thereby even the existing content in the CMS can be corrupted permanently. In order to ensure, a high level of quality and security regarding the content presented to the end-user, only verified or certified content sources are used for the retrieval of content.
Story 26 : Natural language search
The consumer just specifies his query in natural language (e.g.: “I would like to enjoy my holidays with my family in a spacious holiday apartment”). According to this query a list of search results is presented to the user.
Story 27 : Define custom facets for faceted browsing
The consumer wants to browse all hairdressers in Berlin. In a first step he searches for "hairdresser berlin" and gets 50,000 hits. The consumer wants to browse the hairdressers by districts of Berlin. So he creates a new browsing view that uses the district information (concept) of all 50,000 hits and classifies each hit by its district. Now the consumer classifies the results of district "Prenzlauer Berg" by creating a search query that uses the concept "business hours" as a further facet. The point is that the browse by district and browse by business hours views did not exist be-fore. Browsing views can be dynamically created by consumer defined classification criteria applied to the search result.
Story 28 : Semi-automatic assignment to existing clusters
As a requirements engineer (consumer), I document elicited requirements in my software engineering CMS. For every newly added requirement, I want the system to propose a set of adequate clusters of existing requirements with respect to the requirement's content in order to be able to assign the new requirement to an existing cluster.
Story 29 : Enriching content with information retrieved from external sources
A sports journalist (consumer) identifies a player on a photo or a video about a football game using automatic extraction. Using the extracted information, additional information is gathered from external sources enriching the existing content in the CMS.
Story 30: Provide feedback on results
IKS services will need feedback information from the CMS that tells the IKS service how the CMS user liked the results that were generated by an IKS service in response to a request. This provides IKS services the opportunity to learn from the feedback. Feedback can be given for each pair of request and response. IKS services will track the feedbacks of users and enhance their approaches by taking these feedbacks into consideration.
Story 31: Parallel batch processing for semantic lifting
When something is changed to the algorithms or configuration of the semantic lifting engines or similar technologies, one might want to re-process all their content to benefit from these enhancements. If this could be done by distributed processing such as e.g. provided by the MapReduce programming model, such processing would be able to finish much faster.
Story 32: Autolink company names
The Semantic_Editor should automatically detect company names or person names, written by the author, and hyperlink the company name, to the company website.
By connecting FISE and the Semantic_Editor, this could be done on a hackathon in a near future.
Insert New Story Here
(or use comments)

