This is a rediscovery of "Accessibility" in the world of touch-screens and other natural interfaces. With new technology innovation the lines between accessibility technology and Technology for Mass are getting blurred. What used to be a special need is becoming a general need for mass use.Situational Disabilities Use-cases are defining the new age devices, wearable & smart interfaces. High time we need to rediscover on "accessibility" what we think we have already discovered!

Rediscovering Accessibility for Future Tech!

This is a rediscovery of “Accessibility” in the world of touch-screens and other natural interfaces. With new technology innovation the lines between accessibility technology and Technology for Mass are getting blurred. What used to be a special need is becoming a general need for mass use.Situational Disabilities Use-cases are defining the new age devices, wearable & smart interfaces.

High time we need to rediscover on “accessibility” what we think we have already discovered!

make

Lean UX : Another Agile UX?

Agile is the most popular and successful SDLC model as of today as it allows better scope in providing continuous and iterative refinement to the product. Historically when developers out of their frustrations with waterfall model turned to the growing Agile Movement to regain their control over the process, they found that “like its ancestors, Agile also didn’t take UX into account. Several of the Agile methods, such as Scrum and XP, recommended users sitting with the team during the development process, but that isn’t the same as design. Everyone who figured out how to get what they wanted from plugging UX into a phased waterfall approach was now struggling to work inside the Agile methods. The Agile principles, that focus more on communication and less on contracts, didn’t fit the status quo UX processes”.So efforts were made again to implement UX into Agile methods just like the way it was implemented into waterfall model . But it was not easy as , in waterfall model there are 2 things which helped implemented UX :

 

  1. The objectives of the project stays same from kickoff to the point where the finished product is launched.
  2. The designers created the set of design specifications as a contract which the developers had to implement into the final product.

 

And above two cannot be expected from Agile model as it is based on iterations and gradual exploration of what is best fit for the final product . On ejust simply cannot predict the final design from the start of the project. So many attempts were made to get the best agile SDLC practices that can incorporate the UX , before “Lean UX” was born.

 

As the above figure shows the documentation and guidelines are stripped to their bare minimum components, providing the minimum amount of information necessary to get started on implementation. Also Long detailed design cycles are discarded in favor of very short, iterative, low-fidelity cycles, with feedback coming from all members of the implementation team early and often.

 

 

Challenges with Agile model of SDLC to implement UX

There are several challenges in implementing UX in Agile model effectively and these challenges include:

  • Different approaches. Usability methodologies are centered on the user and holistic view of the user needs whereas agile methodologies take a broader view and focus on the stakeholder. Agile methods primarily focus on delivering working software early.

  • Different goals: Software engineers focus on the technical design, implementation the system where as UX practitioners focus on “developing systems so end-users can use them effectively”.
  • Organizational challenges: The agile methodologies focus on strategy where teams are self-organizing whereas UX focuses on a centralized UX groups within some organizations so that the needed practices, tools, and standards can be provided.
  • UX practitioners struggle to be heard: Many UX practitioners often complain that the results of their work are not considered in the design decisions and even if it is heard, there seems to be focus more on engineering decisions over the usability decisions.

Lean UX and Agile Model

 

Many of UX practitioners see “Lean UX” as the answers to the challenge we see in implementing UX into an Agile SDLC where it uses “taking the best parts of our current UX practices and redesigning them specifically for use in an agile world”. Lean UX, is about reducing waste in a process by removing it from the value chain of the usability process..

The proactive measures for border engagement in Agile model has paved path to a new and more practical implementation of UX discipline and methods called “Lean UX” Lean UX once blended with any exiting Agile SDLC, helps to “create a more productive team and a more collaborative process” .

 

The basic principles Lean UX uses to provide positive refinements to SDLC are through the following 3 foundation stones for it:

 

  1. Design Thinking:This foundation upholds the concept that “every aspect of a business can be approached with design methods” and gives “designers permission and precedent to work beyond their typical boundaries”.

  2. Agile Software Development: Core values of Agile are the key to Lean UX.
  3. Lean Startup method:Lean Startup uses a feedback loop called “build-measure-learn” to minimize project risk and gets teams building quickly and learning quickly

 

Lean UX and UX in Agile SDLC

 

“Lean UX” is seen as the answers to the challenge we see in implementing UX into an Agile SDLC. As discussed in the earlier chapters, Lean UX principles use “taking the best parts of our current UX practices and redesigning them specifically for use in an agile world”.

Lean UX solved many issues were even there with the practices and usability process used in waterfall and different derivative iterative models. In Lean UX practices, there is no more requirements for the “objectives will stay the same and that you can design for a single solution throughout the project”. Also there no more need for the designers to create bulky guidelines and documentations for the developers to be used as a contract. Rather the Lean UX practice upholding agile approach, only focuses on each independent design iteration as a “hypothesis” which has to be validated from a “customer perspective” and from a “business perspective” . The beauty here is because of the Agile process being followed, fast iterations can happen to quickly test hypotheses and get to a great design in the end of the project.

In context of a real world situation the Lean UX is something like:

“The traditional paper work is discarded, while the focus is turned to making sketches of the idea. Then the sketch is presented and discussed with the team. The initial prototype effort is very small comparing to detailed documents, so it’s easy to make changes. After it’s agreed internally, rough prototype is made and tested with users. The learning from users help refine the idea and iteration starts over again”

And this makes case for “collaboration with the entire team” as it becomes critical to the success of the product and the whole project.

 

The Beauty of Lean UX: Everything is familiar

No practice used in Lean UX is something new. Rather it is “built from well-understood UX practices”. Many of the techniques used over the time in various UX process and have the practical usability even today, have been packaged properly in Lean UX.

 

Lean UX is not Same as Agile UX

Lean UX is a totally different term than Agile UX.Lean UX details methods and their practical application in dynamic environment of a Lean StartupIt is the converging point for product development and business, through constant measurement and so called “learning loops” (build – measure – learn).

Agile UX defines update of Agile Software Methodology with UX Design methods. It aims to unify developers and designers in the Agile process of product development.

However Lean UX uses Agile UX methodologies, tools to coordinate their software development.

Foundation Stones of Lean UX:

The key ingredients of Lean UX which act as foundation stones for it are:

 

  1. Design Thinking:
    This foundation upholds the concept that “every aspect of a business can be approached with design methods” and gives “designers permission and precedent to work beyond their typical boundaries”.

  2. Agile Software Development
    Core values of Agile are the key to Lean UX. It forces on 4 major principles of Agile development to product design:
    • Individuals and interactions over processes and tools: This principle louds the concept of exchange of ideas freely and frequently in a team. “The constraints of current processes and production tools are eschewed in favor of conversation with colleagues”

    • Working Software over Documentation:This focuses on bringing out solution quickly so that it can be “accessed for market and viability”.
    • Customer Collaboration over Contract Negotiation:Collaboration with teammates and customers builds consensus behind decisions which results in faster iterations and lessens heavy documentations.
    • Responding to change over following a plan: “The assumption in Lean UX is that the initial product designs will be wrong, so the goal should be to find out what’s wrong with them as soon as possible” and this helps in finding the right direction quickly.
  3. Lean Startup method: 
    Lean Startup uses a feedback loop called “build-measure-learn” to minimize project risk and gets teams building quickly and learning quickly. Typically startups are “free to build products in a manner which differentiate on quality”. Also startups can focus on “intrinsic value and usefulness of the product, rather than on a long list of mostly irrelevant features”. Startups have a distinguishable feature of reducing long product cycles into smaller, shorter chunks and validating these iterations with people that will use the products, actually opens the gate for important information needed to avoid expensive development cycles that come withsome kind of risk. ”The secret sauce of lean startup people is that they advocate for user experience research and design as one of the primary solutions to their business problems, and they do it using plain language”.

 

 

Lean Startup method: The concept of “Build-Measure-Learn”

The fundamental activity of a startup is to “turn ideas into products” at the first step. Next it has the aim to measure how customers respond and then to learn whether to pivot or persevere. So basically a startup’s success depends on this feedback loop. To be successful a startup has to accelerate that feedback loop. The feedback loop being employed here includes three primary activities: build the product, measure data and learn new ideas.

However the Lean Startup method employed in Lean UX , is slightly different – it’s basically about “Think-Make-Check”. The difference lies in the fact that in latter case the “feedback loop incorporates your own thoughts as a designer, not just ideas learned through measurement”.

 

Minimum Viable Product (MVP) – Prototyping at it’s best in Lean Startup Method

Minimum viable product is a version of the product that enables a full turn of the Build-Measure-Learn loop with a minimum amount of effort and the least amount of development time. The MVP is, in fact, an early prototype that serves as a tool to learn and test the team’s assumptions.

 

 

Lean UX is where prototyping is best promoted, focusing the prototype on major components of the experience. Once created, it will be immediately testable by any and all users to start the feedback loop. In most of the case the fidelity of the prototype is not a road block, rather the only mission is to get a quick prototype that can be tested quickly. However where the need for better visualization has priority, the best practices and tools are used to develop high fidelity prototypes in shortest time possible.

 

Principles of Lean UX

There are some guiding principles behind Lean UX which can be used to make sure the methodologies used in a Lean process is on track.

 

  1. Cross-Functional Teams: Specialists from various disciplines come together to form a cross functional team to create the product. Such a team typically consists of Software engineering, product management, interaction design, visual design, content strategy, marketing, and quality assurance (QA).

  2. Small, Dedicated, Collocated: Keep your teams small—no more than 10 total core people as keeping small team has the benefit of small teams comes down to three words: communication,focus, and camaraderie. It is easier to manage smaller team as keeping track of status report , change management and learning.
  3. Progress = Outcomes, Not Output: The focus should be on business goals which are typically are the “outcomes”, rather than the output product/system or service.
  4. Problem-Focused Teams:“A problem-focused team is one that has been assigned a business problem to solve, as opposed to a set of features to implement”.
  5. Removing Waste: This is one of the key ingredients of Lean UX which is focused on “removal of anything that doesn’t lead to the ultimate goal” so that the team resource can be utilized properly.
  6. Small Batch Size: Lean UX focuses on “notion to keep inventory low and quality high”.
  7. Continuous Discovery: “Regular customer conversations provide frequent opportunities for validating new product ideas”
  8. GOOB: The New User-Centricity: GOOB stands for “getting out of the building” — meeting-room debates about user needs won’t be settled conclusively within your office. Instead, the answers lie out in the marketplace, outside of your building.
  9. Shared Understanding: The more a team collectively understands what it’s doing and why, the less it has to depend on secondhand reports and detailed documents to continue its work.
  10. Anti-Pattern: Rock-stars, Gurus, and Ninjas:Team cohesion breaks down when you add individuals with large egos who are determined to stand out and be stars. So more efforts should on team collaboration.
  11. Externalizing Your Work:“Externalizing gets ideas out of teammates’ heads and on to the wall, allowing everyone to see where the team stands”.
  12. Making over Analysis: “There is more value in creating the first version of an idea than spending half a day debating its merits in a conference room”.
  13. Learning over Growth: “Lean UX favors a focus on learning first and scaling second”.
  14. Permission to Fail: “Lean UX teams need to experiment with ideas. Most of these ideas will fail.The team must be safe to fail if they are to be successful”.
  15. Getting Out of the Deliverables Business: “The team’s focus should be on learning which features have the biggest impact on the their customers. The artifacts the team uses to gain that knowledge are irrelevant.”

 

 

 

 

 

 

(c)2013-14, Samir Dash

waterfallmodel_UXphases

How UX Fits in Different Models of SDLC?

In my last post “Challenges in UX integration with different SDLC models” we explored about the challenges of fitting UX into different SDLC models. I would like to extend that discussion in the current post.

 

he pre-agile era saw many attempts of UX getting fitted into the waterfall and it’s derivative models of SDLCs. Such attempts by the many developers were natural outcome of the post-projects disasters, where ‘design’ was never the personality of “software product engineering” and the lack of usability doomed the products even after the initial set of requirements check list was fulfilled.

More demands for Graphic User Interfaces (GUI) in software application (due to GUI’s power to offer better visibility and power to the end users) tempted the developers to follow emerging UX practices which included a task to add “design phase” to existing SDLCs. Waterfall model was good enough to accommodate a notion of design in its phases and become popular despite its limitations (which later pave paths for Agile era). Most of the design approaches and techniques created during this era were having mostly a goal “to eliminate any deviation during the development process, by telling the developers exactly what we expect of them”.

Let’s see how different models of SDLC accommodated UX differently in the following:

 

Waterfall model

In this process the developers follow the different phases described in the previous section in order.


 

 

 

UCD components in Waterfall model:

Historically the waterfall model of SDLC can use the UCD components in its engineering process and the product to translate the “set of requirements into something beautiful”. It is relatively simpler and easy to spot the to spot the areas within different phases where UX can be easily fits in as each phases are clearly

 

 

 

 

 

 

 

 

 

 

 

 

 

In this model once one phase is finished, it proceeds to the next one. Reviews may occur before moving to the next phase which allows for the possibility of changes. Reviews may also be employed to ensure that the phase is indeed complete; the phase completion criteria are often referred to as a “gate” that the project must pass through to move to the next phase. Waterfall discourages revisiting and revising any prior phase once it’s complete.

 

Spiral model:

In this model deliberate iterative risk analysis, particularly suited to large-scale complex systems happens at a predefined frequency. It emphasizes risk analysis, and thereby requires customers to accept this analysis and act on it. So the developers typically spend more to fix the issues and are therefore often used for large-scale internal software development.

The Spiral is visualized as a process passing through some number of iterations, with the four quadrant diagram representative of the following activities:

  1. Formulate plans to: identify software targets, implement the program, clarify the project development restrictions
  2. Risk analysis: an analytical assessment of selected programs, to consider how to identify and eliminate risk
  3. Implementation of the project: the implementation of software development and verification

 

 

 

Because of frequent risk analysis and more effort spent by the developer to analyze the risks accurately, the cost factor goes up in the project.

 

UCD components in Spiral model:

In Spiral model, the UCD design can work across different quadrants of activities. The first quadrant where the objectives are determined, the usability and user research can happen as this is where requirements are planned. In the second quadrant the activities involving risk identification can best use UX activities involving IA and prototyping. The third quadrant of development and testing can utilize consultation and usability testing. The final fourth quadrant of activities can be used for feasibility evaluation and setting up usability metrics and bench marking for the next release.

..

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Iterative development model

This method helps to develop a system through repeated cycles and in smaller chunks at a time, allowing software developers to take advantage of what was learned during development of earlier parts or versions of the system.

Incremental development divides the system functionality into increments (portions). In each increment, a portion of functionality is delivered through cross-discipline work, from the requirements to the deployment. The unified process groups increments/iterations into phases: inception, elaboration, construction, and transition. It identifies scope, functional and non-functional requirements and risks at a high level which can be estimated. 

Applying this model to multidisciplinary complex project with large volume can come with a risk as inability in the developers part to uncover important issues early before problems can spoil the project.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

UCD components in Iterative development model

In this model each iteration cycle can be divided into different activities phases to incorporate UCD methodologies for UX integration. Each iteration activities block that are mostly split across concept, design, build and test phases can be used for different UCD activities.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Agile development

This is perhaps today’s the most widely used SDLC model. It uses iterative development as a basis ,but uses people-centric viewpoint through user feedbacks rather than planning as the primary control mechanism. The feedback is driven by regular tests and releases of the evolving software.

There are many variations of agile processes “:

  1. Agile Data (AD)
  2. Agile Microsoft Solutions Framework (MSF)
  3. Agile Modeling (AM)
  4. Agile Unified Process (AUP)
  5. Dynamic System Development Method (DSDM)
  6. Extreme Programming (XP)
  7. Feature Driven Development (FDD)
  8. Scrum
  9. Usage-Centered Design (UCD)

 

 

UCD components in Agile development

This is the most popular and successful SDLC model as of today as it allows better scope in providing continuous and iterative refinement to the product.

 

Historically when developers out of their frustrations with waterfall model turned to the growing Agile Movement to regain their control over the process, they found that “like its ancestors, Agile also didn’t take UX into account. Several of the Agile methods, such as Scrum and XP, recommended users sitting with the team during the development process, but that isn’t the same as design. Everyone who figured out how to get what they wanted from plugging UX into a phased waterfall approach was now struggling to work inside the Agile methods. The Agile principles, that focus more on communication and less on contracts, didn’t fit the status quo UX processes”. So efforts were made again to implement UX into Agile methods just like the way it was implemented into waterfall model . But it was not easy as , in waterfall model there are 2 things which helped implemented UX :

 

  1. The objectives of the project stays same from kickoff to the point where the finished product is launched.
  2. The designers created the set of design specifications as a contract which the developers had to implement into the final product.

 

And above two cannot be expected from Agile model as it is based on iterations and gradual exploration of what is best fit for the final product . On ejust simply cannot predict the final design from the start of the project. So many attempts were made to get the best agile SDLC practices that can incorporate the UX , before “Lean UX” was born.

 

As the above figure shows the documentation and guidelines are stripped to their bare minimum components, providing the minimum amount of information necessary to get started on implementation. Also Long detailed design cycles are discarded in favor of very short, iterative, low-fidelity cycles, with feedback coming from all members of the implementation team early and often.

(c) 2013-14, Samir Dash

ux-process-vs-sdlciterative

Challenges in UX integration with different SDLC models

There are several challenges in integrating UX design and related activities into a typical agile software development life cycle process. The most common problem is typically “ finding a balance between up-front interaction design and integrating interaction design with iterative coding with the aim of delivering working software instead of early design concepts”. This happens mostly because typical pure SDLC approaches primarily aim at “efficient coding tactics together with project management and team organization instead of usability engineering”.As Agile is more “a way of thinking about creating software products’ rather than being a specific process or methodology hints at the challenges of UX integration into it as  integrating user research and UX design with agile, is itself an “agile antipattern”.The very idea of SDLC being a process for developing software , traditionally never kept the “user” into a focus, or event kept any scope for methedologies that try to bring any component that is not considered as native ingredient of the process of creating a software product. The focus was always the “cost, scope, and schedule” that drive any traditional SDLC models including Agile. And sure enough this typically gives rise to the challenges for UX integration into any SDLC as project managers never try to upset the balance of these three by reducing costs, tightening deadlines, and adding features in the specification.

However even though there are many challenges in integrating UX design with agile practices, some researchers see “agile software development practices” as enablers for bringing UX design closer to software engineering and enhancing interaction between these two disciplines.

In Current State of Agile User-Centered Design: A Survey. HCI and Usability for e-Inclusion. Lecture Notes in Computer Science, (by Hussain, Z., Slany, W., and Holzinger, 2009), a survey of the integration of usability and UCD practices with agile methods reported that “the majority of the respondents found that usability and user-centered design practices had brought added value through improvements in the usability and quality of the end product. Development teams often report that they are better able to respond to the needs of the customer with agile methods, and their measured or perceived productivity has been reported to be better than development teams using traditional methods”.

 

Agile development

This is perhaps today’s the most widely used SDLC model. It uses iterative development as a basis ,but uses people-centric viewpoint through user feedbacks rather than planning as the primary control mechanism. The feedback is driven by regular tests and releases of the evolving software.

 

 Fig. 1

 

There are many variations of agile processes “:

  1. Agile Data (AD)
  2. Agile Microsoft Solutions Framework (MSF)
  3. Agile Modeling (AM)
  4. Agile Unified Process (AUP)
  5. Dynamic System Development Method (DSDM)
  6. Extreme Programming (XP)
  7. Feature Driven Development (FDD)
  8. Scrum
  9. Usage-Centered Design (UCD)

 

 

Challenges with Agile model of SDLC to implement UX

There are several challenges in implementing UX in Agile model effectively and these challenges include:

  • Different approaches. Usability methodologies are centered on the user and holistic view of the user needs whereas agile methodologies take a broader view and focus on the stakeholder. Agile methods primarily focus on delivering working software early. 
  • Different goals: Software engineers focus on the technical design, implementation the system where as UX practitioners focus on “developing systems so end-users can use them effectively”.
  • Organizational challenges: The agile methodologies focus on strategy where teams are self-organizing whereas UX focuses on a centralized UX groups within some organizations so that the needed practices, tools, and standards can be provided.
  • UX practitioners struggle to be heard: Many UX practitioners often complain that the results of their work are not considered in the design decisions and even if it is heard, there seems to be focus more on engineering decisions over the usability decisions.

Usability Designing Process

While exploring through available scopes in different SDLC models, we can notice a set of common activities which can be combined together to form a generic Usability Designing Process. Basically there are four phases of the whole set of activities which can be tagged separately as follows:

 

1. Plan: This phase involves the following major activities:

  • i. Developing a Plan
  • ii. Assembling a project team
  • iii. Kicking of the project

2. Analyze: This can have the following activities:

  • i. Evaluation of scope
  • ii. Evaluation of existing product (if enhancements are planned)
  • iii. User Research
  • iv. Task Analysis
  • v. Persona Development
  • vi. Scenarios evaluation and prescription
  • vii. Define measurable goals

3. Design: This is phase where some out puts related to the actual product are generated:

  • i. Product/ Site requirement analysis
  • ii. Conducting a content inventory
  • iii. Performing card sorting
  • iv. Information Architecture (IA) formation
  • v. Writing for web
  • vi. Parallel design
  • vii. Wire framing and prototyping
  • viii. Usability Consultations to programming team

4. Test and refinement: This is a phase that can be applied to multiple phases of SDLC as it is mostly about usability testing :

  • i. Usability Testing
  • ii. Heuristic Evaluations
  • iii. Implementation and retest

 

Note that the above phases are not the phases we discussed regarding different SDLC processes. Rather these are the phases that can paired with different phases of SDLC processes depending on the SDLC model used. Typically Usability Designing Process is led by the “usability designer” with the team of field study specialists, user research specialists, usability evaluation specialists, prototype developers, interface designers and graphic designers along with other specialists from related disciplines that varies from project to project.

 

How Usability Design Process Fits in Different Phases of SDLC?

The different blocks of usability design process can be mapped to different process blocks of any SDLC model. The following diagram shows a generic model for typical process blocks for the typical iterative SDLC model.

 

 Fig: 2

 One thing to keep in mind is that process is not a complete product development process as it does not out put the final product at the end of the process cycle. Rather Usability process supplements to any software development life cycle at various stages.

Plan or Ideationand Requirement Analysis Phase: In this phase while the technical feasibility is being evaluated, UCD contributors can assist product management by conducting user research with people in the target market to evaluate target user goals, tasks, and workflow. Requirement analysis phase is also aided by the UCD experts in careful review of the gathered data and preparing metrics that can be used in the development phase.

Design Phase: UCD contributors who are skilled at interaction design, visual design, and information design create mockups or prototypes of portions of the system, and contributors who are trained in usability evaluation assess the designs by subjecting them to usability testing.

Build or Development Phase: UCD contributors are usually called upon in a consultative or interpretive role, meeting with the developers responsible for actual implementation of the product, and providing guidance for underspecified areas of the product. In this phase the UCD contributor’s role is to remain the consistent user advocate throughout the project. When negotiations must happen during design and development of a feature, the UCD contributor reminds the team of the design persona (the “design target”, or user group at which the feature is aimed), helps the product manager identify and weigh the risks of leaving off certain areas of functionality, etc.

Integration and Testing/ Verification Phase:UCD experts help in benchmarking usability tests popularly known as “summative evaluations” that evaluates performance of the system /product developed on several grounds. The metrics of this test is typically based on the “error rate for users as they use the system”, the “time it takes to attain proficiency performing a task”, and the “time it takes to perform a task once proficiency has been attained”.

 

 

(c)2013-14, Samir Dash

CUPID : Common Unified Programs for Instruction Delivery

CUPID :

Common Unified Programs for Instruction Delivery

(Project for Venture-Lab Class: “Designing a New Learning Environment” by Professor Paul Kim, Stanford University)

alt text

Project Team:

CUPID http://venture-lab.org/education/teams/17372

Project Team Members:

Samir Dash (Team Lead)
Maryam Seyedjavadi
Opemipo Adebanjo
Saurabh Kale
Manoj Mahali
Sangeeta Dash

Stanford University

2012


Project team URL:

http://venture-lab.org/education/teams/17372

Public site of the project:

http://cupid.mobilewish.com/

GIT Repository address:

https://github.com/mobilewish/CUPID


Background

CUPID (Common Unified Programs for Instruction Delivery) framework stands for a framework for a new way of instruction delivery for self-paced learning modules/courses.

The importance of “self paced learning ” even in today’s new age of MOOCs and social networking based “learning for life ” concepts, is still applicable. “In remote areas and villages, the self paced learning is the standard when it comes to digital delivery of content. Mostly CBTs (Computer Based Training), downloadable learning materials on CDs/DVDs get most attention. We can’t expect good bandwidth in such a places where the user can take part in online interactive classes. So
after ILTs, the next nig thing is self paced learning through books, magazines, newspapers etc. When it comes to digital part
of such an approach, downloadable standalone digital learning materials win the case.So the fact is “self-paced learning” is a reality even in the age of social networking based MOOCs.” So one of the focus area of CUPID team is explore possibilities in the education sectors in developing countries, through exploration of new ways to improve the “self paced learning” domain.

And this is one of many reasons why CUPID focuses on “self paced learning”. In addition to that the focus areas in finding new ways to provide richer “meaningful experience” is what differentiates CUPID from existing approaches through conventional CBTs/WBTs.

We are not talking about replacing CBTs/WBTs with something new, rather improving the existing “self paced learning” approaches with new ways to improve user engagement and bring some reliability to it so that it can open new possibilities for certification courses to include “self paced learning” as a part of their certifications.

So it’s all about the “new and meaningful experience” that we are planning to bring into “self paced learning” through CUPID.

alt text

alt text

alt text

alt text


Overview

The proposed learning environment/framework has the major goals such as :

New ways to improve the self learning experience.
Explore the possibility to get the user engaged with the course in the self paced learning in a way so that the training

experience is not just a one way learning. And of course we need to think beyond the basic interactivity that typical CBT/WBT

courses provide though multiple choice or drag and drop quizzes.
Find a solution to make a self assessment certificates reliable source to meet some organisational goal (where the

organisation has directed the employee to take the self paced learning to improve some skill sets. ).
The basic aspects of CUPID is given below:

alt text

alt text

alt text

**For a clear view of the mind map please follow this link :

https://dl.dropbox.com/u/23073902/images_files/image006.png**

The Concept

The aim of this project CUPID is to conceptualize a new framework-cum-instructional design approach to define the best

possible solution for self paced e-learning experience.

The major goals of the framework are:

    1. To find new ways to improve the self learning experience.
    1. Add built in navigational components to support for physically challenged / disabled persons.
    1. Explore the possibility to get the user engaged with the course in the self paced learning in a way so that the training experience is not just a one way learning. And of course we need to think beyond the basic interactivity that typical CBT/WBT courses provide though multiple choice or drag and drop quizzes.
    1. Find a solution to make a self assessment certificates reliable source to meet some organisational goal (where the organisation has directed the employee to take the self paced learning to improve some skill sets.)

Based on the above said goals , there are 14 focus points which makes CUPID framework unique and helps in defining the

components of it. These focuses are defined in the section in the following.

Major Focus Points that makes CUPID unique

The proposed learning environment/framework focuses on:

Focus #1.Improving usability of the content and the interaction delivered through it.

Focus #2.Add built in navigational components to support for physically challenged / disabled persons.

Focus #3.Provide the user the ability to go through the course in both online and offline modes so that “any where any time learning” and be made possible to achieve.

Focus #4.Provide DRM to the course content so that it can be used for Intellectual Property (IP) protection and can be useful in commercial e-learning channels and related business models.

Focus #5.Provide features to make the two – way communication happen between the course and the user even in off-line mode.

Focus #6.Add a reliable way to make sure that the user has actually gone through the course.

Focus #7.Add a reliable simple certificate generator that will print the certificate to make the off line certification related course possible.

Focus #8.Make sure the content is compatible with well know e-learning specifications like SCORM / AICC etc.

Focus #9.Optional support for delivery of well known content package formats such as ePub, pdf, SCROM packages.

Focus #10. Support custom Markup language/ XML with custom DTD for building of content.

Focus #11.Provide components that can support the course content compatibility with Bloom’s taxonomy.

Focus #12.Introduce new age assessment engine that will help the user self assess and review the level of skill he has obtained.

Focus #13.Provide easy interaction between the course and the user for other features like bookmarking, highlighting, annotation, free hand annotations, text size and font type customization based on the user preferences.

Focus #14. Component based framework so different components/sub-components can be plug and play mode or can be enabled/disabled.

alt text

alt text


The Design

The basic design of the CUPID framework is based on component architecture. Different functionalities of the frameworks comes

from it’s different components. New feature can be introduced through extending the framework by creating a new plug-in and

adding that to the framework.

So basically the different plugins function in sync and provide the whole user experience and features.

These details are discussed in the next section while detailing the innovative framework components.

alt text


Framework Components

To fulfil this focus the concept learning framework has been designed in a component driven architecture.

alt text

alt text

The different components of the framework (based on the functionalities/feature) are:

Human Approach for Device Specific Navigation Approaches (HADSNA):

alt text

alt text
This is in line with Focus #1 we have discussed. The purpose of HADSNA component is to provide user friendly and simple

approach to course/content level navigation and interaction maps. For different devices, the device specific gesture s for

multi-touch support for touch enabled devices and mouse driven UI level approaches for PCs and desktops.

The unique features which give CUPID navigational system a fresh approach are :

    1. Automatic event binding depending on the environment:
      alt text
      All inbuilt components of the framework uses common event driven APIs for navigation and UI level interaction. e.g. content author can add simple API call such as onClick() and CUPID will ato matically sniff the environment to assign the correct event handler such as Mouse.click() or Touch events such as onTouchstart() and onTouchend()
    1. Multiple ways to trigger the same navigational event: The navigation of the UI is super simple and can be addressed using TAB Indexing g based navigation in an environment supporting only keyboard. Where as in the multi-touch gestured environments basic gestures will be used for navigation of the same content. Mouse driven environments anyway will support UI buttons and links for such needs. Example is shown in the diagram below:

alt text

    1. Contextual help: Contextual help will be available in each state/page and sections of different UI of the content displayed in CUPID which can be accessed through single gesture, mouse click or key hit. The contextual help will provide context specific information along with what is applicable in general including the hint on the navigational options available . This will help even the first-timers to find their position in the whole system.
    1. Built in navigational feature for visually challenged and persons having hard of hearing: Another most important aspect of the CUPID’s navigational system is the built in Offline Text to Speech Engine (OTTSE) along with Media Caption Manager (MCM). These help the disabled persons easily navigate through the content of the learning material. More information on this has been provided in the next focus point related solution in the following section.
    1. Built in Pseudo Inference Engine (PIE): This is another innovative approach through which the course interacts with the user to hep him set his learning path and based on which the navigation happens in the course. In simple words PIE acts as a guide for the user who helps in deciding which chapter of the course or content section to move next and which media to play in order to quickly meet the learning objectives and complete the learning path successfully . More details of this has been detailed in the coming section dedicated to the solution prescribed for Focus#5.

Built in Offline Text to Speech Engine (OTTSE) along with Media Caption Manager (MCM):

alt text

This is in line with Focus #2 we have discussed These components will allow built in audio captions displays for media elements like video, audio, Podcast and Flash items.

The basic flow for enabling features for disabled learners are given below:

alt text

The basic structure of this component is shown below:

alt text

The Offline Text To Speech Engine (OTTSE) will be helpful for the person having visual disabilities. Whenever the learner tries to run the course on a system that does not have the screen readers installed or enabled, he can easily use this OTTSE feature to navigate through the course as well as can listen to the TTS generated voice-overs to the provided text materials.

The OTTSE has 2 subcomponents:

    1. Offline real time text to speech generator for the navigational needs along with predefined audio clips. These will help in providing navigational hints to the end user on mouse clicks or tab key press, and multi touch gestures on tablets or mobile devices.
    1. Offline real time text to speech generator for course content having text . In case of any interactive media components like interactive Flash/HTML5 simulation, game or interactive, it will extract the text content from labels and process them for text audio generation.

The Media Caption Manager (MCM) has two sub components –
1. Authoring side sub-component: This will allow content authors to add textual captions for their media elements. Plus it will have an optional component for auto generation of caption from interactive Flash files, video and audio components.
2. User facing sub-component and rendering engine: this will be part of different media players in the framework such as video , flash items, HTML5 interactive objects, audio & podcast players.

The MCM will be helpful for the person having hearing disabilities. While they can watch the video , they can at the same time read the captions. Similarly, in case of the audio and podcasts , they can read the caption when they run those media components.

Offline Content Sync Manager (OCSM):

alt text

This is in line with Focus #3 we have discussed. This will have sub-components like

    1. Content Downloader & Reader and
    1. Content Sync Manager.

This will help the content to sync the online store and catalogue of the courses and sync the titles available for the user as per their profile level access. Thecontent downloader component will download the offline content or course packages from the store and copy it to the local drive of the user’s machine. The reader sub-component will allow the content to render on the screen and provide the content level navigation. When the user becomes online, thecontent sync manager will check if any update is available and will sync the local storage/drive of the user with the user’s profile assigned online content store/catalogue. The first time content is accessed is used online; it will be automatically cached and will be used for future offline access.

alt text

DRM Manager:

alt text

This is in line with Focus #4 we have discussed. Digital Rights Management (DRM) is one of the important aspect of the

framework. The DRM Manager component will ensure the proper encryption and decryption of the content at the both server and client level. The component will also take care of prevention of unauthorized copying or printing of the content. It will also provide the content level control for limited printing and copying of the course content.

There are various stages where the content is protected through different DRM methodologies:

    1. At the point of downloading content: the user when downloads the CUPID course the course content are downloaded separately into it from the server in an AES encrypted form. That content is decrypted on demand when the user wants to run the course and wishes to go through any lesson.
    1. At the point of user interaction with the content: the user can not copy paste the content from the course , neither he can not print the content except for those lessons or sections that the content author has enabled for copying and printing. Along with this the user will not be able to view every options such as “view source” etc. as the right click will be disabled.
    1. Course life time: Course content can be made to expire based on some time stamp and or number of uses.

Pseudo Inference Engine (PIE):

alt text

This is in line with Focus #5 we have discussed. The purpose of PIE component is to provide interaction based navigation, content searching and learning path decision making. This will be the component that will work on both offline and online mode. In the former mode, it will depend on a XML tree structured interaction map, to determine what kind of response it will give to the end-user to continue the two way interaction between the user and the course.

In the UI PIE is represented as a simple terminal like BOT or a guide or an assistant to help the user. Also it is more like an wizard type component that can show textual information, links, can trigger other CUPID components and events and do the search the content and enable or disable course settings for the user depending on the interaction.

PIE is actually one of the most innovative and unique component that is shipped with CUPID through which the course interacts with the user to help him set his learning path and based on which the navigation happens in the course. In simple words PIE acts as a guide for the user who helps in deciding which chapter of the course or content section to move next and which media to play in order to quickly meet the learning objectives and complete the learning path successfully.

An example interaction detailing the user interaction with PIE in a cooking related course developed in CUPID:

 CUPID PIE (Asks questions and infers)  : Hi How can I help you?

User (Gives Answers and gets help and info):Not sure which lesson to start with.

CUPID PIE (Asks questions and infers) : Ok. Are you looking for a quick solution for any particular problem or are you looking for understanding the whole concept and get a certificate?

User (Gives Answers and gets help and info):Quick solution only

CUPID PIE (Asks questions and infers) : Hmm.. please type your problem

User (Gives Answers and gets help and info):Really?

CUPID PIE (Asks questions and infers) : Yes. Please type your problem

User (Gives Answers and gets help and info): Hmm..ok. I want to know how to create a cake for my cooking class.Searching…please wait.

CUPID PIE (Asks questions and infers) : Found 2 results ..please see if you got the answer..I am waiting ..will try to help you if you are not satisfied…Search results: Link 1: Make plum cake..Link 2: Make chocolate cake

User (Gives Answers and gets help and info):** No I want vanilla cake recipe

CUPID PIE (Asks questions and infers) : Searching for Vanilla related recipe …it seems there is some some video you might be interested. Video1: How to add Vanilla to your cakes? .. Video2: Without vanilla make pies…Video3: Indian Vanilla flavors. Seems like video 2 is more similar .

User (Gives Answers and gets help and info): Hmm..right thank you. Please play this.

CUPID PIE (Asks questions and infers) : Sure. [PLAYS the video]

This is just a very basic simple interaction shown in the example. PIE can gather learner’s history and this personal details

to understand what can be most probable need of the user and based on that can determine the sequence of results/options it shows to him .

Creating PIE for the very basic and focused needs can be developed with the XML tree structured interaction map so that the

offline version can work without the need the user to be connected to the net. A sample XML based interaction map can be as follows:

<cupid-xml-pie>    

<welcome>    

<q=”hi”/>    

< q=”good morning[USERNAME]”/>    

< q=”hi [USERNAME]”/>    

</welcome>    

<post-welcome>    

< q=”how can I help you?” />    

< q=”You need some help?” />    

< q=”Welcome back!” />    

</post-welcome>    

<cupid-xml-pie>    

The interaction maps can be developed uing CUPID authoring modules.

Learning Path Status (LPS) and Progress Indicator (PI):

alt text
This is in line with Focus #6 we have discussed. This component will provide reliable ways to ensure the actual progress of

the user in his learning path

LPS is made as an important feature of CUPID, looking at varying scenario of the user’s learning needs. Typically some users

just want to refer the course. Some just want to study the theory part to attend some exam. Some may want to have in-depth

study and generate a certificate. As all of these needs are different a single predefined sequence of lesson is not useful in

all these different scenarios. In such cases LPS actually helps in finding out what learning path is best fit for the user.

It will track how much the user has actually gone through both static as well as interactive and media contents. Based on the

progress of the user the component will ask in-between-questions to the user to keep the user engaged. This will also provide

optional controls and APIs to the content authors to determine if progress status based navigation locking will be enabled

for the target content in any course.

Learning Paths are one of the most important aspect of CUPID. The “learning path” is actually is the sequence of lessons or

sections the user needs to go through from any CUPID enabled course that is most effective for his needs/learning

requirements.
LPS actually is the component that interacts with the user (on his first run of the course by default and on subsequent run

of the course on demand) to help him determine the best fit “learning path” for his requirement. It helps customising the way

contents are to be presented to him.

Typically the PI will be having some pre defined instruction/criteria to determine the progress of the user in each type of

the course content/sections/media etc. For example one sample instruction can be if the user has at least viewed the 80% of

the video and has spent playing the video more than 5 minutes (dynamically calculated based on the video length), then it

should be marked as “complete” status. This kind of instructions help PI to determine intellectually if the user has really

viewed the video .

Now for the above example if the user has completed 80% of the viedo but has really spent 2 minutes in watching it then CUPID

can know that the user has actually skipped the video and can post some alert through PI and mark that video as “incomplete”

plus this information can be used in the learning path to give the score or points to the user based on some calculation,

where the time spent by user are taken into account. Even some assessment section can be disabled till the user completely

watches the videos , textual or any interactive content.

This way PI will actually help in :

    1. improving the reliability of the self –learning modules in e-learning domain – so that in organisations self learnimng

modules can be trusted for providing trainings.

    1. makes sure that the user actually go through each and every recommended lessons of the course before taking the self

assessment and generate the certificate.

There will be some additional sub components such as a face tracking camera which can be enabled (if available in user’s

system as a web cam ) that will keep an eye on the user to check if he is actually present to view the running course content

media/video. If the user is not present while a media / video is running, it can pause it and stop all activities of the

course in progress till the user returns to his seat and take some action to resume the course.

However this special sub component should be made mandatory only in case the user needs a certification from the current self

learning course. More details of this aspect is discussed in the next section.

Offline Self-certification Manager (OSM):

alt text

This is in line with Focus #7 we have discussed. This component will have 2 subcomponents.

a. Self-certificate Assessment Mode Manager: The course will have a “Self Certificate Assessment Mode” which will

enable the learner to take the self assessment for generating a certificate from the learning framework for a target score.

By using this mode the user has to use a minimum set of pre-defined hardware such as a webcam , etc. This sub-component will

monitor all activities and user interaction of the user with the course and will take random photographs when needed to make

sure that the user has actually gone through the course and has himself attended the assessment.
b. Certificate Key Encryption: This component will take care of generating reliable “self learning completion”

certificates from the offline /online course. This component uses well known encryption alogorithms like SHA, Blowfish etc.

to encrypt the data to generate certificate information string and print in the certificate document, which the learner can

use as a reliable certificate of his learning status.
c. Online central Certificate Tracking : Whenever the user comes online, the certificate data is synced to a central

server of the home server of the framework and a key is assigned so that at any point of time the certificate can be tracked

.

Inbuilt SCORM/AICC Content Package Reader Components (CPRC):

alt text

This is in line with Focus #8 we have discussed. To make sure that Make sure the content is compatible with well know e-

learning specifications like SCORM / AICC etc. the framework will have reader components which will allow to run SCORM 1.2

/2004 and AICC packages in offline mode. These components will provide related adaptors and APIs to track the user scores ,

learning status from the target learning framework.

There are 2 ways of implementation , depending on the need:

Make SCORM / AICC packages compatible with CUPID to run them as a standalone offline course in offline.
alt text

Package CUPID packages as SCORM/ AICC packages so that they can be run in side an LMS compatible with SCORM / AICC

alt text

The CPRC component helps in communicating with the CUPID reader APIs through a wrapper layer that helps integrating the SCORM

component with the framework so that other non-SCORM features of CUPID are also available in the same course.

The CPRC also uses SCORM/AICC APIs to track all the user features and saves them locally so that if needed at a later point

of time those data can be exported to other standard LMS which are compatible with SCORM / AICC.

e-Pub and PDF Reader components:

alt text

This is in line with Focus #9 we have discussed. These will allow rendering of well know content package and file formats

such as ePub (2 and 3) and PDFs. The offline player will extract the epubs etc and by validating it’s spine will render the

pages. Similarly, the course will have independent PDF reader to render the PDF documents and integrate them to the whole

learning framework system. This will allow easy import/ migration of such content to this framework and will be a boon for

the content authors.

alt text

Custom Course Authoring Markup Language Rendering Engine:

alt text

This is in line with Focus #10 we have discussed. Apart from the importing content course from PDFs, EPubs, the framework supports a custom markup language named as “Cupid ML” ( with a file extension“.cml”) . Using this the authors can easily create content poages with built in features such as video players, media renderers, too tips, assessments, tabbed and simple pages etc. The CML language tags are self explanatory and content-author’s friendly to allow them to master it with in a few hours effort . By using the language the authors do not need to learn complex Java Script and/or any other programming skills to enable complex interactivity within the course. At a later point of time the course authoring tools can be developed that
will use this language to develop the courses. The CupidML markup language tags are simple meaning ful for content authors.

alt text

The .cml document starts and ends with the and inside this node the cml specific tags meant for pages, tabs, menus, media components etc. are added to easily create the new pages, chapters, sections in the course and add centralized event listeners without the content authors requiring the knowledge of complex programming languages. The only thing the content author needs to know is which tag is needed for what kind of element of the course. There is a tag for everything the

content author needs.

For example the individual pages can be created with a just adding simple tag like

Now to add a heading in the page
To add complex items like a podcast 1 will add a full fledged podcast component with all the

captioning etc. and “1” represents the URL index number in the podcast array defined in the data file / configuration file.

A typical page in .cml will be much simple than the actual code that is generated in the runtime by CUPID to make things happen and provide qall the interaction and event propagations and API calls.

Instructional Design Compatible Components (IDCC):

alt text

alt text
This is in line with Focus #11 we have discussed. There will be built in components that can support the course content compatibility with Bloom’s taxonomy. For example there will be default learning path creation components which will allow content authors to add “surprise” elements, in-between questions and “case studies” and scenario based task. The content authors can select predefined “Instructional Design” templates and then can fill up the place holders to quickly create the courses which will be compatible with Bloom’s taxonomy.

Different Instructional models fulfilling “creation”,” discovery”, “analysis”, “remembering”, “understanding” and “applying” phases in various degrees.

IDCC provides options for :

Scenario based training: where different scenarios are combined together with the assessment, guided tasks to the user, so that the user can actually.

Case studies : In this model the sample case is presented through real life scenes, and based on that case, related video, audio, interactive, media along with assessments can be grouped together.
Guided Tasks: In a guided task, the major focus is on providing the user a task to complete where the user assisted by some character/bot /or simple alert based instructions. Whenever the user makes any mistakes the system alerts the user and provides hints on how to solve or proceed with the task.

Now combining these sub-types, most of the course can be built to fit the need of any type of self learning modules including soft skills training, software simulation trainings to educational course materials.

So all lessons in side the course is grouped into 2 categories:

Textual Study Mode: In this mode the content types like text, hyperlinks, internal anchors, popup tool tips, quiz, assessments etc. will be available for the target course.

Interactive Media Mode: In this mode the content types like video, audio, podcasts, animations, interactive , game, simulation, guided task etc. will be available for the target course.

These two modes are inter switchable and the user can toggle between any these modes at any point of time of his learning. For any particular section/lesson these two modes will be available to the user so that user can him self decide which one he

needs to use for his learning at any point of the time.

alt text

Innovative Assessment Engines (IAE):

alt text

This is in line with Focus #12 we have discussed. The aim of this new age assessment engine is to help the user self assess

and review the level of skill he has obtained. This will include new kinds of interactive assessment types along with the

typically used “multiple choice”, “true-false”, “drag-n-drop” and “hot-spot” ones. The new kinds will include

(1) Guided tasks
(2) Interactive Scenario based question sets
(3) Basic simulators for software related trainings
(4) The “in-between” hit and click type question with special scoring.

The Guided Task is a kind of assessment, where the user can self assess if needed in a BOT/Wizard assisted simulated environment. This kind gives the hands on kind of experience when combined with simulation. Basically there will be a wizard or guide or assistant who will first assign a task to the learner based on the things he has learned and then help him on the way to complete his task by providing hints and task related tips to the users.

The Interactive Scenario based question sets are provided as a part of any lesson / logical learning chunk where the user is provided with a case scenario through a interactive/video/animation/slides. Then the user is asked to view some screen-cast or interactive simulated environments and then is provided with some interactive questions.

The Basic simulators for software related trainings are the sets where the user faces some software training related UI screens / simulated environment to hit and click different UI elements and provide input to complete the tasks. This will help the user in giving a first hand kind of feel of the target software on which he is getting his training.

The “in-between” hit and click type question with special scoring is a kind where the user is asked with some questions in random in the middle of any lesson. And these questions are related to the lesson the learner is going through. This makes sure that the user is actually going through the lesson with attention. Plus as these questions are having special scoring which will be calculated and be added to the final certification generated, this makes sure that the user can not ignore

these.

User Frequent Course Interaction Manager (UFCIM):

alt text

This is in line with Focus #13 where the user needs to make bookmark any point of the course (a page or a tab), make some content selection and highlighting it in addition to adding a note or annotations. Plus free hand whiteboard type annotation of the course and customization of font size, font type and theme are taken care of by this component.

User is provided with standard UI with controls in the lesson area so that the user can avail any these functionalities with in single clicks.

alt text

Component Based Architecture and Plug n’ Play Rendering Engine (PnPRE):

alt text

This is in line with Focus #14 we have discussed. This is related to the technical aspect of the framework. The whole framework is a combination of multiple “Plug n’ Play” capable components. This component is responsible of allowing integration of new components with the core framework engine. This is also responsible for opening APIs that can be used by the developers to create and add new Plug an Play components for the framework.

alt text

The diagram above, clearly details the process flow and how the core APIs are related to the different plugin or extension components. Any code chunk or package that is compiled as a component or plugin of the CUPID framework is consumed by PnPRE and then it process that code of the component to add that to the core CUPID framework in real time to provide the new plugin related functionalities /feature. This makes easy for any developer to extend the CUPID framework and / or customise it.

The Usability and UI Aspect

The CUPID framework basically targets all the standard digital devices from personal computers, desktops to net-books, small screen mobile devices and stand multi-touch tablets and the related hybrids.

That is the reason, the usability focus is always on device specific and based on the context and environment the user is interacting.

The major flow that the CUPID follows to determine the kind of usability experience to provide are:

    1. Determine the host environment through browser and OS sniffing.Also sniffing made for available real eastet on the screen and resolution, color depth etc. to provide suitable UI layout.
    1. Also sniff for available hardwares like camera, speaker, mic etc. in the device so that the usability aspect can be determined.
    1. Sniff for input devices like multi-touch screen or mouse or keyboards, so that the user interaction types can be determined.
    1. Determine if the user/learner needs special assistance due to any visual or hearing disabilities. This will help in deciding if the built in offline voice-over features enabled or the captioning system to be enabled.

Depending on the above factors suitable user navigation, context menus, navigational links, meida types, layouts and the

customisation thresholds are determined and the best possible experience is delivered to the learner.


The Technology Used

The technology stack used in CUPID are based mostly on open technologies so that the framework can be easily maintained using open source (MIT licensed only) code , plugins.
will be economical /cheap to develop and maintain and extend in future
will be easy and economical to get the support on open technologies related online communities/ forums.
Will be low on budget
get more contributors from the community.

Based on these the key technology stack used in CUPID are:

Client Side:
Flash Action Script (Using Flasm/Ming/and Free Adobe Flash Builder SDK which is free)
HTML5 / CSS3/ JavaScript Frameworks – includes open source frameworks like jQuery, Dojo, YUI, Twitter Boot starp, Adobe’s
Edge Runtime (it’s free unlike the builder), Sencha SDK , Coffee Script, JSON
HTML4/CSS2 – for older browsers and low end systems
XML, XSLT – data and style rendering.
Java Script – Also CoffeeScript

Host browser specific (e.g. Safari specific, or google Play widget specific, Windows 8 app specific)
Platform /native specific: Objective C, Android, C, C++, Phonegap SDK, Sencha SDKs etc.

Server Side:
PHP (Scripting)
MySQL (Database)
XML and JSON (API format)

Specifications :
SCORM API
AICC API
TinCan API

Video Demos

LINKS TO BE ADDED


License and Business Models

The decision on the business model of CUPID has been taken into account the following goals:

The project should sustain in the currently competing commercial and open source worlds.The framework should available FREE of cost to the content authors from the under privileged or having financial challenges.

It should be available as an open source initiative while at the same time it should allow scope of the framework to be used commercially.
Any commercial firm can use the framework for custom development to develop or enhance it for commercial purpose by paying some licensing fees.

To make sure that all of the above applies to CUPID project, the project licensing is decided as follows:

The project will be MIT licensed so that the commercial versions are not bound to open source any modifications made on the framework unlike the GPL one. Any company/organisation can pay a license fee based on the volume of usage their commercial version will have, in order to develop/extend it for a commercial version.The content authors/teachers/developers/organisations/NGOs doing social service on education and would like to extend and use the framework non-commercially are free to do so without paying any fees. And their extensions will not be open sources if they wish.

For getting support on technical or behavioral aspect of CUPID, there will be an annual support fee to be paid, which needs to be renewed each year till the time the support is needed.


How this framework “re-innovates” the Self Learning e-learning domain

alt text

CUPID is the framework that actually attempts to rediscover in the “self-learning” domain of e-learning , which we think we have already discovered! CUPID, implements some fresh concepts and unique ways to improve the learning experience for the user and at the same time makes it easy for the content authors to quickly develop and deliver highly interactive and rich content without the content author to be worried about the technicalities.

CUPID also address the needs of the continuously changing world which is on a fast track pace in moving through the digital revolutions e.g from PC to laptops to mobiles and tablets. It provides unique way to create once and deploy in many platform.

Also CUPID goes beyond the standard limits of the Instructional Designs and provide new blends that can provide fresh way to keep user engaged with the course.

CUPID also mends the gaps between the MOOC based elearning trend and the “self paced ones” by adding ground breaking “course-user interactions” through the assistants, BOTS and the PIE component, so that always the user will feel like the being assisted and guided through his learning curve.

CUPID helps the user in finding the correct learning path to make his learning curve more effective and short.

Last but not te least, CUPID has built in features that supports visually challenged and persons with the challenges in hard of hearing by providing feature that work even in a case of screen reader is not present. Also it provides unique way of voice assisting navigation plus caption based (interactive text labels ) navigation and content media guidance for people with hard of hearing.

In a single line CUPID is all about re-innovating the “self-learning modules” for the next decade.

How CUPID can change the world

The approach of CUPID follows a vision that focuses on every aspect that a learning environment depends on.

It focuses on:

    • User, his taste, his learning requirements and assists him in all though the way of his learning curve for the self learning period on the topic from the target module.
    • Author and his needs on making it easy for integrating content, providing support for quick super-easy way to add content media, making content compatible with standard Instructional Design needs (The Bloom Factors), Also helps in protecting content (e.g. DRM)
      Certification needs: so that the user can go through self –learning and at the same time generate the certificate which is reliable and meaningful for authorities/organisation requiring certificates from the learner (an employee).
    • Commercial aspect/developers: provides options for extending the learning framework for a successful commercial product as well as for content producer companies who can reliably protect their premium content on the self learning modules through DRM feature implemented.
    • Open source communities: CUPID is a great contribution to the open source communities, as it SDK is MIT licensed. Plus it
      uses open technologies to support the “open source movement”
      Financially backward sections in the world: CUPID is FREE for financially backward sections/organisations/authors to develop and extend it for their use non-commercially.
    • Free Institutions: All NGOs, educational institutions, universities, non-profit institutions are free to extend it and allowed for keeping their extensions non-open sourced if they want . So that they can use it in exam needs etc. as long as they are not using it for commercial purpose, they can enjoy this freedom.
    • Physically challenged: Visually challenged and persons with hard of hearing can use CUPID without any extra screen reader or hardware/ software installed in their system.

References

The MIT License (MIT)
http://mit-license.org/

Wikipedia entry on MIT license
http://en.wikipedia.org/wiki/MIT_License

Trends of Innovation in Education :

Technology, Content, Pedagogy, and Value


Appendix

Video URL :http://youtu.be/LfjlUX_lLUA
Slides URLhttp://www.slideshare.net/MobileWish/cupid-common-unified-programs-for-instruction-delivery


Project Presentation

Check out my article “WebKit touch events: background and terms for Edge users” at Adobe Developer Connection

Check out my article “WebKit touch events: background and terms for Edge users” at Adobe Developer Connection at
It’s also featured at
This article explores the concepts of touch events and gestures in reference to normal HTML and JavaScript rendered in the iPhone, iPad, or Android browsers.
Image
Image

Special Kindle Edition at Amazon.com : Quick and Dirty Guide for Designers: Adobe Edge Preview 3 in 4 Hours (Quick and Dirty Guide in 4 Hours) by Samir

Image

Quick and Dirty Guide for Designers: Adobe Edge Preview 3 in 4 Hours (Quick and Dirty Guide in 4 Hours) by Samir Dash (Dec 17, 2011) – Kindle eBook

  • Format: Kindle Edition
  • File Size: 2212 KB
  • Publisher: patternGraphic Digibooks; 2 edition (December 17, 2011)
  • Sold by: Amazon Digital Services
  • Language: English
  • ASIN: B006NFFQ4Q

Special Kindle Edition at Amazon.com : Quick and Dirty Guide for Developers: Adobe Edge Preview 3 in 4 Hours (Quick and Dirty Guide in 4 Hours) by Samir

http://www.amazon.com/Quick-Dirty-Guide-Developers-ebook/dp/B006NFHVS0/ref=sr_1_2?s=books&ie=UTF8&qid=1324260399&sr=1-2Image

Special Kindle Edition.Quick and Dirty Guide for Developers: Adobe Edge Preview 3 in 4 Hours (Quick and Dirty Guide in 4 Hours) by Samir

  • Format: Kindle Edition
  • File Size: 2048 KB
  • Publisher: patternGraphic Digibooks; 2 edition (December 17, 2011)
  • Sold by: Amazon Digital Services
  • Language: English
  • ASIN: B006NFHVS0

Quick and Dirty Guides for Designers and Developers : Adobe Edge Preview 3

“Quick and Dirty Guide for Designers: Adobe Edge Preview 3 in 4 Hours”

Ebook By Samir Dash
Published By patternGraphic DigiBooks
Rating: Not yet rated.
Published: Dec. 15, 2011
Category: Non-Fiction » Computers and Internet » Programming
Category: Non-Fiction » Computers and Internet » Graphics and design
Words: 9365 (approximate)
Language: English

ISBN: 978-1-4658-4425-5

PG2011B3

Here is a discount coupon you can use to get 20% OFF :

Original Price: $4.00

Promotional price: $3.20
Coupon Code: MT66A
Expires: February 15, 2012

https://www.smashwords.com/books/view/114683?ref=patternGraphic

Quick and Dirty Guide for Developers: Adobe Edge Preview 3 in 4 Hours

Ebook By Samir Dash
Published By patternGraphic DigiBooks 

Published: Dec. 16, 2011
Category: Non-Fiction » Computers and Internet » Programming
Category: Non-Fiction » Computers and Internet » Graphics and design
Words: 14341 (approximate)
Language: English

ISBN: 978-1-4660-7972-4

PG2011B4

Here is a discount coupon you can use to get 20% OFF :

Original Price: $4.00

Promotional price: $3.20
Coupon Code: LN68F
Expires: February 15, 2012

Available in following formats: Epub (Apple iPad/iBooks, Nook, Sony Reader, Kobo, and most e-reading apps including Stanza, Aldiko, Adobe Digital Editions, others), PDF, Mobi(kindle), and LRF.

https://www.smashwords.com/books/view/115038?ref=patternGraphic

A quick 4 hours guide for developers, web designer and those having basic knowledge in HTML, CSS, Java Script and jQuery to learn using Adobe Edge Preview 3 to develop web interactive and web applications.
The book covers the following topics:

Quick and Dirty Guide for Developers: Adobe Edge Preview 3 in 4 Hours

Quick and Dirty Guide for Developers: Adobe Edge Preview 3 in 4 Hours

Ebook By Samir Dash
Published By patternGraphic DigiBooks 

Published: Dec. 16, 2011
Category: Non-Fiction » Computers and Internet » Programming
Category: Non-Fiction » Computers and Internet » Graphics and design
Words: 14341 (approximate)
Language: English

ISBN: 978-1-4660-7972-4

PG2011B4

Here is a discount coupon you can use to get 20% OFF :

Original Price: $4.00

Promotional price: $3.20
Coupon Code: LN68F
Expires: February 15, 2012

Available in following formats: Epub (Apple iPad/iBooks, Nook, Sony Reader, Kobo, and most e-reading apps including Stanza, Aldiko, Adobe Digital Editions, others), PDF, Mobi(kindle), and LRF.

https://www.smashwords.com/books/view/115038?ref=patternGraphic

A quick 4 hours guide for developers, web designer and those having basic knowledge in HTML, CSS, Java Script and jQuery to learn using Adobe Edge Preview 3 to develop web interactive and web applications.
The book covers the following topics:
Before We Start!

  • What is Adobe Edge?
  • What to Expect from this Book

Hour 1: Overview of Edge Runtime

  • Edge Composition
  • Edge Symbol
  • Edge Action
  • Events
  • HTML page DOM specific Events
  • Edge Elements DOM specific Events
  • Element level Touch Interaction specific
  • Triggers

Hour 2: Adding Basic Actions to Your Animation – Playing with Triggers

  • Where to Add Triggers in the Edge IDE ?
  • Different Type of Triggers
  • “Earth” – An Example for Basic Playback Control
  • “Day and Night” – An Example for Changing the content of an Element in Runtime
  • Where all Triggers are Saved When We Type into the Edge Code Editor?
  • Reference to different Elements and their properties while writing Triggers
  • Using Lookup Elements (Lookup Selectors) and jQuery API
  • Using Some Other Useful Edge Runtime APIs
  • “Progress Bar” Example – Using what we have learned about referencing Elements

Hour 3: Edge Touch API and Gestures for iPhones, iPads and Android devices – Thinking Beyond Desktop & Mouse

  • Touch Events supported on iPhones, iPads and Android devices
  • Difference Between Touch and Mouse Events
  • The WebKit Event Object for touch events
  • Note: Setup Environment to Test HTML Pages on Your Devices
  • Gestures
  • Adobe Edge and jQuery Mobile Events
  • Using Touch Events in Edge Compositions
  • Adding Touch Events to Edge Element’s Action
  • Adding Touch Events to the DOM Elements Associated with Edge Element
  • Adding Gesture Events to Compositions in Edge IDE
  • Making Edge Compositions Compatible for Both Mouse and Touch Events
  • Example: Cross-platform Slider
  • Prevent scrolling
  • Prevent Default HTML Resize

Hour 4: Complex Interactions between Multiple Compositions and Development and Usage of Reusable Compositions

  • Wheel: Example of a nested Element Animation
  • Adding Interaction to Control the Animation of the Nested Element
  • Benefits of Nested Animation
  • Reusability Approach of Development in Edge
  • Example: Building a Reusable Slider Component
  • Example: Product Selector – How to Use of the Reusable Edge Composition Multiple Times in another Edge Composition with Different Configurations

Going Forward

  • Next Steps

Source Files for this Book

This is a quick guide that will help you feel comfortable using the Adobe Edge Preview 3 in context of designing and animation.

If you are looking for the designing and animation using Adobe Edge instead of programming check “ Quick and Dirty Guide for Designers: Adobe Edge Preview 3 in 4 Hours” …that is available at https://www.smashwords.com/books/view/114683?ref=patternGraphic

 

 

Videos related to the book:

In hour 4 section of this book you will learn how to create reusable compositions which can be used in other Edge composition through configurable parameters. For source files and details check the book

This sample shown in this video is explained in the current book. In the video you can see there are 3 different Edge compositions the first one is a simple background, the second one is a rotating wheel and the third one is the combination of the two to render the final interactive. For source files refer to the book.

Here is an experiment from the current book, showing how a product selector can be built with Flash like user experience using HTML5, jQuery, CSS3 and of course Adobe Edge Preview 3 runtime. For source code refer to the book.