Final Presentation
Daniel Hartl, Kevin Probst, Oskar Hargedahl, Tim Ordenewitz
The fundament of the public sphere is cracking
People believe media is
complicated.
People increasingly view
traditional media as biased.
Media is experiencing
lowering trust-levels.
Young individuals are looking for alternatives
They want access to
alternative views.
They want easy, accessible
explanations.
They largely turn to social
media.
Daniel Hartl, Kevin Probst, Oskar Hargedahl, Tim Ordenewitz
Perspective.
Summarized articles
YoutubeReddit
Supportive content
Build your own opinion by looking at a topic from different perspectives!
Opposing content
Twitter
International
Background information
MVP: Implemented Value Proposition
Perspective 3
Your
opinion
Build your own opinion by looking at a topic from different perspectives!
Perspective 2
Perspective 1 Perspective 4
Perspective 5
Perspective 6
MVP: Implemented Value Proposition
Build your own opinion by looking at a topic from different perspectives!
Your
opinion
Our Value proposition
Broaden young citizens‘ horizon by
giving them access to easy
understandable news that can be
observed from different perspectives.
Project
Overview
Close up: Timeframe, Architecture and
internal Organization
- Introduction: Problem - Solution
- Value Proposition
Technological Concepts: Perspective
- Timeframe
- Internal Organization
Project Overview
- Sprint 1
- Sprint 2
- Midterm Presentation
- Sprint 3
- Sprint 4
Development Progress
Product Demo
- Limitations
- Future Steps
- Team
Conclusion
Our Team Structure
Scrum Master
Product Owner
The scrum master connects the product owner with the development team
Developer Developer Developer
Workflow with Product Owner
Scrum Master
Developer Developer Developer
● Continuous Communication over Slack
● Bi-weekly meetings to give updates and
talk about recent advancements &
challenges
● Expectation Management
Product Owner -
Christopher
Henkel
● Support in questions regarding
infrastructure & technical feasibility
● Time estimates
● No pressure and freedom to work
independent
Continuous communication between the involved parties supports project success
Product DemoLive Demonstration and Flow of Action
Development
Progress
Tasks, Challenges, Solutions and Key
Learnings from the sprints
Timeline Growing
12 Weeks
● Infrastructure
Setup
Sprint 1 Sprint 2 Sprint 3 Sprint 4Midterm
● Adding
perspectives
● Backend
communication
● Research
● Improve the
degree of
automatizati
on and
innovation
● Continue
work from
sprint 3
● Improve
design and
navigation
Each of the four sprints comprises a different focus for the project
Sprint 1
Scrum Master
Product Owner
As the scrum master, Tim takes the lead of coordinating the first sprint
Developer Developer Developer
Sprint 1: Tasks
The focus of sprint 1 was to set up the whole project as well as the infrastructure.
Define Architecture
Model
Deploy Architecture
Create the News
Dashboard
Get to know Tool Stack and
deploy if needed
Create User
Survey
Create News
Detail Page
#
Tasks Challenges LearningsImplementations
Sprint 1: Communication & Documentation
We use Atlassian JIRA for our SCRUM
Management, we created and managed
issues, sprints and requirements there.
We use Slack for all project related
communication and also for the
communication with our product owner.
We use Atlassian Confluence for all
documentation purposes, we collect
requirements, discuss them or visualize
our architecture.
Atlassian JIRA Atlassian Confluence Slack
The tools we use.
Tasks Challenges LearningsImplementations
Sprint 1: Implementation of Development Tool Stack
The tools and frameworks we use.
Tasks Challenges LearningsImplementations
Sprint 1: Implementation of Architecture
The Architecture of our App
Tasks Challenges LearningsImplementations
Sprint 1: Implementation of Architecture
The Architecture of our App and how it developed.
Tasks Challenges LearningsImplementations
Changes in the Architecture
● We added additional services
as Youtube and Reddit
● The backend now performs web
scraping and summary
generation when called from the
app
● The GDELT API is now the
source for alternative sources on
a given topic
Sprint 1: Implementation of News Dashboard
How we implemented our News Dashboard.
News Dashboard
● The News dashboard is the home of all our
current news
● We retrieve imageURL, headline and teaser
text from our CMS (Contentful)
● Each Article and Image is clickable and
navigates the user to a Detail Page of that
article
● We implemented this using Ionic Pages and
Angular2 and a HTML Template
● Furthermore we retrieve the source of the
article
Tasks Challenges LearningsImplementations
Sprint 1: Implementation of News Dashboard
How we implemented our News Dashboard.
News Dashboard
● The News dashboard is the home of all our
current news
● We retrieve imageURL, headline and teaser
text from our CMS (Contentful)
● Each Article and Image is clickable and
navigates the user to a Detail Page of that
article
● We implemented this using Ionic Pages and
Angular2 and a HTML Template
● Furthermore we retrieve the source of the
article
Tasks Challenges LearningsImplementations
Sprint 1: Implementation of the Detail Page
How we implemented our Detail Page
Detail Page
● Perspectives Detail Page consists of a title image, a
summary we created and further additional
Perspectives to broaden the user’s horizon on that
specific topic.
● The summary is made up of a scraped news article
we selected and then used for a summary generation
● The source article of the summary can also be
visited
● Further Perspectives are gathered from different API’s
and get presented to the users below the summary.
Tasks Challenges LearningsImplementations
Sprint 1: Implementation of the Detail Page
How we implemented our Detail Page
Detail Page
● Perspectives Detail Page consists of a title image, a
summary we created and further additional
Perspectives to broaden the user’s horizon on that
specific topic.
● The summary is made up of a scraped news article
we selected and then used for a summary generation
● The source article of the summary can also be
visited
● Further Perspectives are gathered from different API’s
and get presented to the users below the summary.
Tasks Challenges LearningsImplementations
Sprint 1: Challenges - Solutions
Challenges we faced in Sprint 1 and how we overcame them.
Due to the different backgrounds of our
previous studies we had some
differences in experience. We started
with Workshops on best practices and
how to use tools and frameworks.
We had to come up with a technology stack
that fits the purpose of the product as well
as the experiences of the developers. We
chose to develop a Cross Platform App
using the Ionic Framework.
Since the LMU had no servers available
for us to deploy our communication tools
as well as our backend we had to come
up with a own solution. We chose
Amazon Web Services (AWS).
Different Levels of
Experience
No Infrastructure provided Agreeing on technology
stack
Tasks Challenges LearningsImplementations
Sprint 1: Key Learnings
Coding Skills
● Ionic Framework
● Angular 2
● Git-SourceTree
Task Specific Skills
● Contentful CMS
Integration
● Object Modelling
Teamwork
● Setting up
Jira/Confluence
● Enterprise
Communication
Software
● Scrum Process
Tasks Challenges LearningsImplementations
Getting to know the Framework and architecture setup as the greatest learnings of sprint 1
Sprint 2
Scrum Master
Product Owner
Developer Developer Developer
As the scrum master, Kevin takes the lead of coordinating the second sprint
Sprint 2: Tasks
Facebook Login
In-App-Browser
Build Express Server Backend
Research & Survey
Finalize Twitter
Implementation
Finalize wikipedia extract
implementation
Tasks Challenges LearningsImplementations
The focus of sprint 2 aimed at enabling backend communication, adding perspectives and research
What do you like about
news apps?
Sprint 2: Implementation - Survey
n=54
What features improve a
news app further?
What do you dislike about
current news apps?
● Userfriendly UI
● Personalized content
● Internationality, variety of
news
● Up to date news
● Different content formats
● Being in a filter bubble of my
prefered news content
● Advertisements
● One-sided opinions
● Background information
● Short summaries with additional
sources
● Get in touch with other opinions
● Interactive features
● Video
Tasks Challenges LearningsImplementations
Evaluating the online survey of 54 probands gave room for new ideas and confirmed existing route
Sprint 2: Implementation - Facebook Login
How we implemented the facebook login
Tasks Challenges LearningsImplementations
Facebook login
● We use the native facebook login
● Connecting a Cordova plugin to the native Facebook
SDK
● When clicking the Facebook Login Button, users get
directed into the Facebook App if it’s installed on their
device.
● App checks for logged in user, if not logged in it
pushes the login page
● This feature was deactivated later since we didn’t
implement any functionalities that require a login
● But the Login can easily be reactivated for further
development
Sprint 2: Implementation - Facebook Login
How we implemented the facebook login
Tasks Challenges LearningsImplementations
Facebook login
● We use the native facebook login
● Connecting a Cordova plugin to the native Facebook
SDK
● When clicking the Facebook Login Button, users get
directed into the Facebook App if it’s installed on their
device.
● App checks for logged in user, if not logged in it
pushes the login page
● This feature was deactivated later since we didn’t
implement any functionalities that require a login
● But the Login can easily be reactivated for further
development
Sprint 2: Implementation - In-App-Browser
How we implemented the In-App-Browser
In-App Browser
● In order to provide a good User Experience and to
keep users within the App we decided to implement
an In-App browsing functionality.
● We use Cordova that wraps our HTML/JavaScript
app into a native container which can access the
device functions of iOS, Android and Windows
Phone.
● Cordova provides the best User Experience since it
uses the platform’s native browsing engine
● We also had to add a fallback to be able to develop
and test in a non-mobile browser
Tasks Challenges LearningsImplementations
Sprint 2: Implementation - Wikipedia
How we implemented the wikipedia widget
Tasks Challenges LearningsImplementations
Wikipedia Widget
● We use the Wikipedia Public API
● By using the Angular http module, we perform GET-
Requests to the API.
● We search Wikipedia for a specific search term
linked to the article and display the heading, an image
and a teaser text.
● If a user clicks on the text or image he is redirected
to the wikipedia page of the article.
Sprint 2: Implementation - Backend Server
How we enabled the backend server communication
Backend Server
● We used the express framework (node.js) to build our
basic backend server
● Within the express server, we implemented several
routes to provide different services
● summary generation is done on our server
● The summary generation only needs an URL as input,
the content is then scraped and summarized
automatically
● Our backend also handles the Twitter Feed within the
Detail Page
Tasks Challenges LearningsImplementations
Sprint 2: Implementation - Twitter
How implemented the implemented the twitter widget
Tasks Challenges LearningsImplementations
Twitter Service
● We display the 3 most popular tweets on the
given topic
● Therefore we call the Twitter API, authenticate
the app and then retrieve the tweets as a
response
● Users can view the tweets and all the
comments in the app when clicking on Visit
Tweet
Sprint 2: Challenges - Solutions
By introducing own proxy servers and putting in configuration effort all challenges were solved
We faced problems with Cross-Origin
Resource Sharing (CORS) while
developing the Wikipedia extension.
We introduced a proxy server handle the
requests.
Integrating Bitbucket Pipelines, Amazon
CodeDeploy, Amazon S3 and the
Amazon EC2 instance (our backend)
required a lot of configuration.
Twitter requires all app’s that seek to use
its API to be authenticated. Since there
is no Twitter framework to use with Ionic,
we decided to move it into our backend
and to provide our own ‘proxy’ service.
CORS Headers Twitter Authentication CI Build SetUp
Tasks Challenges LearningsImplementations
Sprint 2: Key Learnings
Coding Skills
● Proxies for ionic
● Node.js
● API call
Task Specific Skills
● Twitter API
● AWS/ CI setup
Teamwork
● Focus more on
communications
● Keep fixed meetings
● Put more effort on
mutual updates
Tasks Challenges LearningsImplementations
Familiarizing with widget APIs and improving internal communication as the greatest learnings of sprint 2
Midterm Presentation Feedback
Neglecting design and focus on automating technologies that serve our Value Proposition
● Changed the order of tasks in
the Product Backlog, so that
the Social Functionalities and
Design have less priority.
● Main focus of sprint 3 will be
on automating the summary
generation of articles
● Looking for solutions that
work around webscraping the
whole web and ease tone
detection
● Discussions about the real
Value Proposition
● Focus on GDELT
● Decided on features
● Outsourcing web
scraping and analyzing
articles of the whole web
● Focus on web scraping
and summary generation
● Focus: Either Web
Scraping or Tone
Detection
● More automation: Article
and summary generation
● Focus on backend rather
than on frontend
● Be clear on Value
Proposition
● Decide for features that
support your Value
Proposition
Main Feedback What did it trigger? Implementation
Sprint 3
Scrum Master
Product Owner
Developer Developer Developer
As the scrum master, Daniel takes the lead of coordinating the third sprint
Sprint 3: Tasks
The focus of sprint 3 was the automatization of our features
Implement summary
generation
Implement a web scraping
service
Implement a tone detection
service
Research: How to find
trending hashtags
Implement Reddit
Implement video content
#
Tasks Challenges LearningsImplementations
Sprint 3: Implementation - Summary Generation
We use two Node Modules for the scraping and a Python library for the summary generation.
Summary Generation
● We use a Python library
called Sumy for the summary
generation and
a npm module called
PythonShell to be able to
call the Python Script from
our express server
● For the summary extraction
we decided to use Sumy’s
summarization method
Latent Semantic Analysis
Web Scraping
● We developed a web scraping
service that e.g. used two Node
Modules called Request and
Cheerio.
● Request is used to perform a web-
request to the given URL and to
return the whole html body of the
page
● The html body is then load into
cheerio which enables us to perform
jQuery-style queries on the html
body
● We then export the article body of
the page, remove all the
unnecessary <div> sections and
return only the written article on the
page.
Tasks Challenges LearningsImplementations
Sprint 3: Implementation - GDELT Project
GDELT and Google BigQuery - Understanding the World
● Use of 2 methods:
○ Getting an article with a positive/negative tone
regarding one keyword-specified topic
○ Getting an article with an international, country
specific view on one topic
→ keywords, number of results, tones and source
country can be specified in the contentful server
● Matching Header and URL that gets delivered by an API
call, with Regular Expression
● Return and display of matched headers and URL in the
html template
Tasks Challenges LearningsImplementations
Gdelt API query
Sprint 3: Implementation - GDELT Project
GDELT and Google BigQuery - Understanding the World
GDELT identifies a
multitude of factors, driving
our global society and
creates a free open platform
for computing the entire
world
GDELT includes several
measures of article tone:
● reporting scores of
positive and negative
word use
● polarity
● emotionalityThe GDELT Project
monitors news from all
over the world in more
than 100 languages
Topic
Tone Detection
range: -10 to 10
- 4 + 2 + 8
By means of the
GDELT Project we
are able to use an
API that allows us
easily to examine
a certain topic
from different
point of view, in
especially with a
different ‘tone’
about the topic
Tasks Challenges LearningsImplementations
Sprint 3: Implementation - Reddit
We implement Reddit to supplement the background information from Wikipedia
Tasks Challenges LearningsImplementations
Reddit Widget
● To implement the reddit service we used the Angular
http module to perform GET requests to the Reddit
API
● We use Regular Expressions to filter relevant
keywords from the summary for dynamic keyword
search in Reddit
● Displays two most relevant Reddit threads, with
number of upvotes and comments
Sprint 3: Challenges and solutions
Several challenges needed to be solved of which only the youtube widget couldn’t be fixed yet
We tried out different web scraping
frameworks, but decided to build our
own, because no other framework
worked for specific newspapers
The vague documentation of the API
resulted in a lots of trial and error until we
found the desired solution
We could not figure out how to manage,
that the YouTube player shows a
relevant video based on inputted
keywords
Web Scraping GDELTYoutube
Tasks Challenges LearningsImplementations
Sprint 3: Key Learnings
Coding Skills
● Connecting Node.js
and Python for
summary
generation
Task Specific Skills
● Reddit API usage
● Using GET request
against GDELT API
● YouTube API usage
● Try out different
web scraping
frameworks
● Build own web
scraping service
Teamwork
● Deal with conflicting
opinions
Tasks Challenges LearningsImplementations
Task specific learnings stood out in sprint 3
Sprint 4
Scrum Master
Product Owner
Developer Developer Developer
As the scrum master, Oskar takes the lead of coordinating the fourth and last sprint
Sprint 4: Tasks
The main focus of Sprint 4 was to connect the dots and finalize the product
Debug features
UX
Design
Create presentations
Finalize video content
User testing
Finalize backend
Finalize Gdelt
Tasks Challenges LearningsImplementations
Sprint 4: Implementation - User testing
50
n=6
Content
● More international news
● Video is more important than
Reddit
● Summary was too long
● Even more imaged based
● Summary was hard to read
(line height)
● Easier navigation (Navigation bar)
● Highlight “positive” and “negative”
more
● In-app browsing is good
UIUX
Tasks Challenges LearningsImplementations
The last round of user feedback helped to get clear on final changes
Sprint 4: Implementation - Design walkthrough
51
Tasks Challenges LearningsImplementations
General thoughts Detail view
Feedback from User testing and Product Owner triggered another Design walkthrough
Sprint 4: Implementation - Finalize GDELT
The gdelt international query delivers a new perspective from another country
Tasks Challenges LearningsImplementations
GDELT API international
query
● Implemented a new method and query
to get an international news article
from GDELT
● Source country of the international
article is dynamic per article and can
be specified in the CMS
● Source language is specified in
english
● Again, the international article can be
visited using the in app browser
Sprint 4: Implementation - Finalize video content
How we implemented the youtube widget
Tasks Challenges LearningsImplementations
Youtube Widget
● In order to provide more information on
a certain topic, we implemented the
youtube widget
● videos that explain the topic in more
depth or provide additional information
will be shown
● We use a static iFrame to insert the
youtube player template and change the
video-id dynamically per article
Sprint 4: Implementation - UX and Design
Integrating user feedback led to design adjustments and a user navigation tool
Tasks Challenges LearningsImplementations
UX and UI Improvements
● Implemented Navigation icon in detail
page
● Easy navigation that scrolls you to the
desired widget
● We used an Ionic Fab to build the
navigation
● Directly from user feedback
● Furthermore, we changed the line height
and other typography issues to provide a
clean and easy to read user interface
Sprint 4: Implementation - UX and Design
Integrating user feedback led to design adjustments and a user navigation tool
Tasks Challenges LearningsImplementations
UX and UI Improvements
● Implemented Navigation icon in detail
page
● Easy navigation that scrolls you to the
desired widget
● We used an Ionic Fab to build the
navigation
● Directly from user feedback
● Furthermore, we changed the line height
and other typography issues to provide a
clean and easy to read user interface
Sprint 4: Challenges and solutions
Using Regular Expressions and installing missing dependencies could solve all issues of sprint 4
Missing dependencies on our AWS
backend server as well as conflicting
python versions required a lot of work
on the terminal.
Matched Header and URL in Response
Object using RegEx to be able to extract
the needed information for our widget.
Analyzed the summary for the most
important and most frequent keyword.
Then we used this keyword to build a
query to the Reddit API.
Deploy Summary-
Generation to Backend
Automated Keywords
Extract Information from
GDELT Response
Tasks Challenges LearningsImplementations
Sprint 4: Key Learnings
Coding Skills
● First glimpse of
Regular
Expressions
● iOS and Android
Deployment of Ionic
Apps
Task Specific Skills
● Do user testing
● Explored new
GDELT API
Teamwork
● Optimizing
documentation
workflow
Tasks Challenges LearningsImplementations
Coding related learnings stood out in sprint 4
ConclusionMVP: where to go from here?
Limitations
Limitations we acknowledged and plans to overcome them
Status Quo of Summary Generation
requires further manual editing,
otherwise not compliant with
“Leistungsschutzrecht”.
Improve GDELT responses as
sometimes not the most
trustworthy sources are returned
as alternative perspectives.
NLP technology is constantly
refined and improved. If we are not
coming up ourselves with an
algorithm that reduces manual editing
effort, time will do the work.
GDELT’s documentation is really
vague. After devotion for a longer
period to the whole database and
query documentation, this issue
should be easily realizable.
The Reddit Service is taking the
most frequent word as a keyword
to search for posts. These can
differ from the actual topic of the
detail page.
Improve the algorithm so it matches
the keywords from the news header.
Timeline Growing
2017
The next steps we want to take
A way to personalize
content and also to
nudge people out of
their filter bubble
2017 2017 2017 2017
The GDELT foundation
just announced the
release of their new API
Doc 2.0 with new
possibilities. Google
BigQuery also opens
up new potentials for
using the database
Helps to understand
the topic and its
development in more
detail. Important for
building an opinion
Further
improvements on all
other features
Upload to Apple
TestFlight and do
user testing with a
huge user base
User Profile Exploit GDELT
potential
Storyline Apple Testflight Feature
Refinement
61
Free Version
User gets
● Summaries
● Different perspective features
We get money
through
● All basic features
● Can read any article he gets
directed to, without being
stopped by paywall
Premium Version
● Advertisement ● Monthly subscription fee
Business Model Structure
Perspective is built as a Freemium service
Now
First prototype
Q4 2017
Entry to German market
3% pay
for
online
news
14M
between
15 and 30
in
Germany
€8.99 /
Month 2019
International Expansion
Switzerland
Austria
Italy
€~4M /
Month
France
Nordics
Thank you for
your
attention.
Oskar
Hargedahl
Daniel
Hartl
Tim
Ordenewitz
Kevin
Probst
65
Free Version
User gets
● Summaries
● Different perspective features
We get money
through
● All basic features
● Can read any article he gets
directed to, without being
stopped by paywall
Premium Version
● Advertisement ● Monthly subscription fee
Business Model Structure
Perspective is built as a Freemium service
Legal Aspects
Current state of the law surrounding aggregation of news is reviewed in a
white paper by the Citizen Media Law Project
‘Leistungsschutzgesetz’ in Germany:
● allows an adoption of headlines provided the source and link presented
→ By just extracting the facts and rearranging them in our own language
no copyrights are infringed
Proof of concept
Summary principle for news is highly successful
● Summly had 200k downloads in 3 months
● Omni has about 2,5m visits/month)
Data suggests that the smartphone will become the defining
device for digital news with a big impact on consumption,
formats, and business models.
Blendle already managed to establish collaborations with news
outlets in order to skip payment walls
The Idea of Perspective: Target Group
Although we’re not specifically targeting
people that like to read very opinionated
news, we give them an incentive through
convenience.
Therefore Perspective’s main target group
consists of:
● Young people, who are still in the phase of
building their opinion about the world.
● Everyone who is dissatisfied with the
current media coverage and
its`bottlenecks
Perspective’s goal is to give young people easy access to news and support them building their own
opinion by providing multiple Perspectives
WTP for online news
% willing to pay for subscriptions:
Rest of Europe:
“Access news from
smartphone or tablet”
Top reasons to pay:
“Consume news from a
range of sources”
3%
5%
Individuals that are paying for
video content are more likely
to pay for news
Demographics and trends:
Young people are already more
willing to pay and the trend is
growing
Paying for quality news in an era of
biased politics
Germany:
GDELT and Google BigQuery
GDELT identifies a
multitude of factors, driving
our global society and
creates a free open platform
for computing the entire
world
GDELT includes several
measures of article tone:
● reporting scores of
positive and negative
word use
● polarity
● emotionalityThe GDELT Project
monitors news from all
over the world in more
than 100 languages
Topic
Tone Detection
range: -10 to 10
- 4 + 2 + 8
By means of the
GDELT Project we
are able to use an
API that allows us
easily to examine
a certain topic
from different
point of view, in
especially with a
different ‘tone’
about the topic
GDELT tone detection
71
The standard GDELT Tone score is a rough approximation of the "positive"/"negative" sentiment of document that
is reasonably robust across the languages that GDELT monitors.
To explore more complex emotional landscapes you can chose from the entire library of thousands of emotions
assessed by the 24 tonal packages used by GDELT GCAM
Find an emotional dimension of interest from the GCAM Master Codebook
● In order to use LIWC's "Anxiety" score (variable "c5.33") --> specify "GCAMVAR=c5.33"
● To use RID's "EMOTIONS/AGGRESSION" score (variable "c8.2"), specify
"GCAMVAR=c8.2"
Example
Sources
Population statistics:
http://stats.oecd.org/index.aspx?DataSetCode=RPOP#
Percentage of individuals paying for news:
Reuters Institute Digital News Report 2017. Oxford University: Reuters Institute for the Study of Journalism.
Legality of summary generation:
Isbell, K. (2010, September 13). What’s the law around aggregating news online? A Harvard law report on the risks and the best practices.
Retrieved February 28, 2017, from http://www.niemanlab.org/2010/09/whats-the-law-aroundaggregating-news-online-a-harvard-law-report-on-
the-risks-and-the-bestpractices/
Now
First prototype
Q4 2017
Entry to German market
3% pay
for
online
news
14M
between
15 and 30
in
Germany
€8.99 /
Month 2019
International Expansion
Switzerland
Austria
Italy
€4M /
Month
France
Nordics
MMT Team
Oskar
Hargedahl
B.Sc. Finance & Computer
Science
Uppsala University
Technology Management
CDTM
Tim
Ordenewitz
B.Sc. Media Informatics
LMU Munich
Daniel
Hartl
B.Sc. Business
Administration & Minor in
Psychology
LMU Munich
Kevin
Probst
B.Sc. Business
Administration
LMU Munich
Technology Management
CDTM
Technologies we use
Perspective consists of three core pillars.
We use Natural Language Processing
to generate summaries from articles we
scraped. Therefore we developed our own
webservice that provides the app with a
summary.
We present several additional
perspectives to the user. Wikipedia,
Twitter, Reddit, Youtube and links to
articles with different view on the same
topic are available.
We developed a Cross Platform App
using the Ionic Framework. Ionic enables
us to develop the app using JavaScript
style languages but deploy the app as
native iOS, Android and Windows
Phone App.
Summary Generation Cross Platform App Perspectives
Technologies and Applications for Media
Develop a working
technological prototype
Scope of 12 weeks
4 sprints with fixed
product owner
Perspective

Perspective presentation

  • 1.
    Final Presentation Daniel Hartl,Kevin Probst, Oskar Hargedahl, Tim Ordenewitz
  • 2.
    The fundament ofthe public sphere is cracking People believe media is complicated. People increasingly view traditional media as biased. Media is experiencing lowering trust-levels.
  • 3.
    Young individuals arelooking for alternatives They want access to alternative views. They want easy, accessible explanations. They largely turn to social media.
  • 4.
    Daniel Hartl, KevinProbst, Oskar Hargedahl, Tim Ordenewitz
  • 5.
    Perspective. Summarized articles YoutubeReddit Supportive content Buildyour own opinion by looking at a topic from different perspectives! Opposing content Twitter International Background information
  • 6.
    MVP: Implemented ValueProposition Perspective 3 Your opinion Build your own opinion by looking at a topic from different perspectives! Perspective 2 Perspective 1 Perspective 4 Perspective 5 Perspective 6
  • 7.
    MVP: Implemented ValueProposition Build your own opinion by looking at a topic from different perspectives! Your opinion
  • 8.
    Our Value proposition Broadenyoung citizens‘ horizon by giving them access to easy understandable news that can be observed from different perspectives.
  • 9.
    Project Overview Close up: Timeframe,Architecture and internal Organization
  • 10.
    - Introduction: Problem- Solution - Value Proposition Technological Concepts: Perspective - Timeframe - Internal Organization Project Overview - Sprint 1 - Sprint 2 - Midterm Presentation - Sprint 3 - Sprint 4 Development Progress Product Demo - Limitations - Future Steps - Team Conclusion
  • 11.
    Our Team Structure ScrumMaster Product Owner The scrum master connects the product owner with the development team Developer Developer Developer
  • 12.
    Workflow with ProductOwner Scrum Master Developer Developer Developer ● Continuous Communication over Slack ● Bi-weekly meetings to give updates and talk about recent advancements & challenges ● Expectation Management Product Owner - Christopher Henkel ● Support in questions regarding infrastructure & technical feasibility ● Time estimates ● No pressure and freedom to work independent Continuous communication between the involved parties supports project success
  • 13.
  • 14.
    Development Progress Tasks, Challenges, Solutionsand Key Learnings from the sprints
  • 15.
    Timeline Growing 12 Weeks ●Infrastructure Setup Sprint 1 Sprint 2 Sprint 3 Sprint 4Midterm ● Adding perspectives ● Backend communication ● Research ● Improve the degree of automatizati on and innovation ● Continue work from sprint 3 ● Improve design and navigation Each of the four sprints comprises a different focus for the project
  • 16.
    Sprint 1 Scrum Master ProductOwner As the scrum master, Tim takes the lead of coordinating the first sprint Developer Developer Developer
  • 17.
    Sprint 1: Tasks Thefocus of sprint 1 was to set up the whole project as well as the infrastructure. Define Architecture Model Deploy Architecture Create the News Dashboard Get to know Tool Stack and deploy if needed Create User Survey Create News Detail Page # Tasks Challenges LearningsImplementations
  • 18.
    Sprint 1: Communication& Documentation We use Atlassian JIRA for our SCRUM Management, we created and managed issues, sprints and requirements there. We use Slack for all project related communication and also for the communication with our product owner. We use Atlassian Confluence for all documentation purposes, we collect requirements, discuss them or visualize our architecture. Atlassian JIRA Atlassian Confluence Slack The tools we use. Tasks Challenges LearningsImplementations
  • 19.
    Sprint 1: Implementationof Development Tool Stack The tools and frameworks we use. Tasks Challenges LearningsImplementations
  • 20.
    Sprint 1: Implementationof Architecture The Architecture of our App Tasks Challenges LearningsImplementations
  • 21.
    Sprint 1: Implementationof Architecture The Architecture of our App and how it developed. Tasks Challenges LearningsImplementations Changes in the Architecture ● We added additional services as Youtube and Reddit ● The backend now performs web scraping and summary generation when called from the app ● The GDELT API is now the source for alternative sources on a given topic
  • 22.
    Sprint 1: Implementationof News Dashboard How we implemented our News Dashboard. News Dashboard ● The News dashboard is the home of all our current news ● We retrieve imageURL, headline and teaser text from our CMS (Contentful) ● Each Article and Image is clickable and navigates the user to a Detail Page of that article ● We implemented this using Ionic Pages and Angular2 and a HTML Template ● Furthermore we retrieve the source of the article Tasks Challenges LearningsImplementations
  • 23.
    Sprint 1: Implementationof News Dashboard How we implemented our News Dashboard. News Dashboard ● The News dashboard is the home of all our current news ● We retrieve imageURL, headline and teaser text from our CMS (Contentful) ● Each Article and Image is clickable and navigates the user to a Detail Page of that article ● We implemented this using Ionic Pages and Angular2 and a HTML Template ● Furthermore we retrieve the source of the article Tasks Challenges LearningsImplementations
  • 24.
    Sprint 1: Implementationof the Detail Page How we implemented our Detail Page Detail Page ● Perspectives Detail Page consists of a title image, a summary we created and further additional Perspectives to broaden the user’s horizon on that specific topic. ● The summary is made up of a scraped news article we selected and then used for a summary generation ● The source article of the summary can also be visited ● Further Perspectives are gathered from different API’s and get presented to the users below the summary. Tasks Challenges LearningsImplementations
  • 25.
    Sprint 1: Implementationof the Detail Page How we implemented our Detail Page Detail Page ● Perspectives Detail Page consists of a title image, a summary we created and further additional Perspectives to broaden the user’s horizon on that specific topic. ● The summary is made up of a scraped news article we selected and then used for a summary generation ● The source article of the summary can also be visited ● Further Perspectives are gathered from different API’s and get presented to the users below the summary. Tasks Challenges LearningsImplementations
  • 26.
    Sprint 1: Challenges- Solutions Challenges we faced in Sprint 1 and how we overcame them. Due to the different backgrounds of our previous studies we had some differences in experience. We started with Workshops on best practices and how to use tools and frameworks. We had to come up with a technology stack that fits the purpose of the product as well as the experiences of the developers. We chose to develop a Cross Platform App using the Ionic Framework. Since the LMU had no servers available for us to deploy our communication tools as well as our backend we had to come up with a own solution. We chose Amazon Web Services (AWS). Different Levels of Experience No Infrastructure provided Agreeing on technology stack Tasks Challenges LearningsImplementations
  • 27.
    Sprint 1: KeyLearnings Coding Skills ● Ionic Framework ● Angular 2 ● Git-SourceTree Task Specific Skills ● Contentful CMS Integration ● Object Modelling Teamwork ● Setting up Jira/Confluence ● Enterprise Communication Software ● Scrum Process Tasks Challenges LearningsImplementations Getting to know the Framework and architecture setup as the greatest learnings of sprint 1
  • 28.
    Sprint 2 Scrum Master ProductOwner Developer Developer Developer As the scrum master, Kevin takes the lead of coordinating the second sprint
  • 29.
    Sprint 2: Tasks FacebookLogin In-App-Browser Build Express Server Backend Research & Survey Finalize Twitter Implementation Finalize wikipedia extract implementation Tasks Challenges LearningsImplementations The focus of sprint 2 aimed at enabling backend communication, adding perspectives and research
  • 30.
    What do youlike about news apps? Sprint 2: Implementation - Survey n=54 What features improve a news app further? What do you dislike about current news apps? ● Userfriendly UI ● Personalized content ● Internationality, variety of news ● Up to date news ● Different content formats ● Being in a filter bubble of my prefered news content ● Advertisements ● One-sided opinions ● Background information ● Short summaries with additional sources ● Get in touch with other opinions ● Interactive features ● Video Tasks Challenges LearningsImplementations Evaluating the online survey of 54 probands gave room for new ideas and confirmed existing route
  • 31.
    Sprint 2: Implementation- Facebook Login How we implemented the facebook login Tasks Challenges LearningsImplementations Facebook login ● We use the native facebook login ● Connecting a Cordova plugin to the native Facebook SDK ● When clicking the Facebook Login Button, users get directed into the Facebook App if it’s installed on their device. ● App checks for logged in user, if not logged in it pushes the login page ● This feature was deactivated later since we didn’t implement any functionalities that require a login ● But the Login can easily be reactivated for further development
  • 32.
    Sprint 2: Implementation- Facebook Login How we implemented the facebook login Tasks Challenges LearningsImplementations Facebook login ● We use the native facebook login ● Connecting a Cordova plugin to the native Facebook SDK ● When clicking the Facebook Login Button, users get directed into the Facebook App if it’s installed on their device. ● App checks for logged in user, if not logged in it pushes the login page ● This feature was deactivated later since we didn’t implement any functionalities that require a login ● But the Login can easily be reactivated for further development
  • 33.
    Sprint 2: Implementation- In-App-Browser How we implemented the In-App-Browser In-App Browser ● In order to provide a good User Experience and to keep users within the App we decided to implement an In-App browsing functionality. ● We use Cordova that wraps our HTML/JavaScript app into a native container which can access the device functions of iOS, Android and Windows Phone. ● Cordova provides the best User Experience since it uses the platform’s native browsing engine ● We also had to add a fallback to be able to develop and test in a non-mobile browser Tasks Challenges LearningsImplementations
  • 34.
    Sprint 2: Implementation- Wikipedia How we implemented the wikipedia widget Tasks Challenges LearningsImplementations Wikipedia Widget ● We use the Wikipedia Public API ● By using the Angular http module, we perform GET- Requests to the API. ● We search Wikipedia for a specific search term linked to the article and display the heading, an image and a teaser text. ● If a user clicks on the text or image he is redirected to the wikipedia page of the article.
  • 35.
    Sprint 2: Implementation- Backend Server How we enabled the backend server communication Backend Server ● We used the express framework (node.js) to build our basic backend server ● Within the express server, we implemented several routes to provide different services ● summary generation is done on our server ● The summary generation only needs an URL as input, the content is then scraped and summarized automatically ● Our backend also handles the Twitter Feed within the Detail Page Tasks Challenges LearningsImplementations
  • 36.
    Sprint 2: Implementation- Twitter How implemented the implemented the twitter widget Tasks Challenges LearningsImplementations Twitter Service ● We display the 3 most popular tweets on the given topic ● Therefore we call the Twitter API, authenticate the app and then retrieve the tweets as a response ● Users can view the tweets and all the comments in the app when clicking on Visit Tweet
  • 37.
    Sprint 2: Challenges- Solutions By introducing own proxy servers and putting in configuration effort all challenges were solved We faced problems with Cross-Origin Resource Sharing (CORS) while developing the Wikipedia extension. We introduced a proxy server handle the requests. Integrating Bitbucket Pipelines, Amazon CodeDeploy, Amazon S3 and the Amazon EC2 instance (our backend) required a lot of configuration. Twitter requires all app’s that seek to use its API to be authenticated. Since there is no Twitter framework to use with Ionic, we decided to move it into our backend and to provide our own ‘proxy’ service. CORS Headers Twitter Authentication CI Build SetUp Tasks Challenges LearningsImplementations
  • 38.
    Sprint 2: KeyLearnings Coding Skills ● Proxies for ionic ● Node.js ● API call Task Specific Skills ● Twitter API ● AWS/ CI setup Teamwork ● Focus more on communications ● Keep fixed meetings ● Put more effort on mutual updates Tasks Challenges LearningsImplementations Familiarizing with widget APIs and improving internal communication as the greatest learnings of sprint 2
  • 39.
    Midterm Presentation Feedback Neglectingdesign and focus on automating technologies that serve our Value Proposition ● Changed the order of tasks in the Product Backlog, so that the Social Functionalities and Design have less priority. ● Main focus of sprint 3 will be on automating the summary generation of articles ● Looking for solutions that work around webscraping the whole web and ease tone detection ● Discussions about the real Value Proposition ● Focus on GDELT ● Decided on features ● Outsourcing web scraping and analyzing articles of the whole web ● Focus on web scraping and summary generation ● Focus: Either Web Scraping or Tone Detection ● More automation: Article and summary generation ● Focus on backend rather than on frontend ● Be clear on Value Proposition ● Decide for features that support your Value Proposition Main Feedback What did it trigger? Implementation
  • 40.
    Sprint 3 Scrum Master ProductOwner Developer Developer Developer As the scrum master, Daniel takes the lead of coordinating the third sprint
  • 41.
    Sprint 3: Tasks Thefocus of sprint 3 was the automatization of our features Implement summary generation Implement a web scraping service Implement a tone detection service Research: How to find trending hashtags Implement Reddit Implement video content # Tasks Challenges LearningsImplementations
  • 42.
    Sprint 3: Implementation- Summary Generation We use two Node Modules for the scraping and a Python library for the summary generation. Summary Generation ● We use a Python library called Sumy for the summary generation and a npm module called PythonShell to be able to call the Python Script from our express server ● For the summary extraction we decided to use Sumy’s summarization method Latent Semantic Analysis Web Scraping ● We developed a web scraping service that e.g. used two Node Modules called Request and Cheerio. ● Request is used to perform a web- request to the given URL and to return the whole html body of the page ● The html body is then load into cheerio which enables us to perform jQuery-style queries on the html body ● We then export the article body of the page, remove all the unnecessary <div> sections and return only the written article on the page. Tasks Challenges LearningsImplementations
  • 43.
    Sprint 3: Implementation- GDELT Project GDELT and Google BigQuery - Understanding the World ● Use of 2 methods: ○ Getting an article with a positive/negative tone regarding one keyword-specified topic ○ Getting an article with an international, country specific view on one topic → keywords, number of results, tones and source country can be specified in the contentful server ● Matching Header and URL that gets delivered by an API call, with Regular Expression ● Return and display of matched headers and URL in the html template Tasks Challenges LearningsImplementations Gdelt API query
  • 44.
    Sprint 3: Implementation- GDELT Project GDELT and Google BigQuery - Understanding the World GDELT identifies a multitude of factors, driving our global society and creates a free open platform for computing the entire world GDELT includes several measures of article tone: ● reporting scores of positive and negative word use ● polarity ● emotionalityThe GDELT Project monitors news from all over the world in more than 100 languages Topic Tone Detection range: -10 to 10 - 4 + 2 + 8 By means of the GDELT Project we are able to use an API that allows us easily to examine a certain topic from different point of view, in especially with a different ‘tone’ about the topic Tasks Challenges LearningsImplementations
  • 45.
    Sprint 3: Implementation- Reddit We implement Reddit to supplement the background information from Wikipedia Tasks Challenges LearningsImplementations Reddit Widget ● To implement the reddit service we used the Angular http module to perform GET requests to the Reddit API ● We use Regular Expressions to filter relevant keywords from the summary for dynamic keyword search in Reddit ● Displays two most relevant Reddit threads, with number of upvotes and comments
  • 46.
    Sprint 3: Challengesand solutions Several challenges needed to be solved of which only the youtube widget couldn’t be fixed yet We tried out different web scraping frameworks, but decided to build our own, because no other framework worked for specific newspapers The vague documentation of the API resulted in a lots of trial and error until we found the desired solution We could not figure out how to manage, that the YouTube player shows a relevant video based on inputted keywords Web Scraping GDELTYoutube Tasks Challenges LearningsImplementations
  • 47.
    Sprint 3: KeyLearnings Coding Skills ● Connecting Node.js and Python for summary generation Task Specific Skills ● Reddit API usage ● Using GET request against GDELT API ● YouTube API usage ● Try out different web scraping frameworks ● Build own web scraping service Teamwork ● Deal with conflicting opinions Tasks Challenges LearningsImplementations Task specific learnings stood out in sprint 3
  • 48.
    Sprint 4 Scrum Master ProductOwner Developer Developer Developer As the scrum master, Oskar takes the lead of coordinating the fourth and last sprint
  • 49.
    Sprint 4: Tasks Themain focus of Sprint 4 was to connect the dots and finalize the product Debug features UX Design Create presentations Finalize video content User testing Finalize backend Finalize Gdelt Tasks Challenges LearningsImplementations
  • 50.
    Sprint 4: Implementation- User testing 50 n=6 Content ● More international news ● Video is more important than Reddit ● Summary was too long ● Even more imaged based ● Summary was hard to read (line height) ● Easier navigation (Navigation bar) ● Highlight “positive” and “negative” more ● In-app browsing is good UIUX Tasks Challenges LearningsImplementations The last round of user feedback helped to get clear on final changes
  • 51.
    Sprint 4: Implementation- Design walkthrough 51 Tasks Challenges LearningsImplementations General thoughts Detail view Feedback from User testing and Product Owner triggered another Design walkthrough
  • 52.
    Sprint 4: Implementation- Finalize GDELT The gdelt international query delivers a new perspective from another country Tasks Challenges LearningsImplementations GDELT API international query ● Implemented a new method and query to get an international news article from GDELT ● Source country of the international article is dynamic per article and can be specified in the CMS ● Source language is specified in english ● Again, the international article can be visited using the in app browser
  • 53.
    Sprint 4: Implementation- Finalize video content How we implemented the youtube widget Tasks Challenges LearningsImplementations Youtube Widget ● In order to provide more information on a certain topic, we implemented the youtube widget ● videos that explain the topic in more depth or provide additional information will be shown ● We use a static iFrame to insert the youtube player template and change the video-id dynamically per article
  • 54.
    Sprint 4: Implementation- UX and Design Integrating user feedback led to design adjustments and a user navigation tool Tasks Challenges LearningsImplementations UX and UI Improvements ● Implemented Navigation icon in detail page ● Easy navigation that scrolls you to the desired widget ● We used an Ionic Fab to build the navigation ● Directly from user feedback ● Furthermore, we changed the line height and other typography issues to provide a clean and easy to read user interface
  • 55.
    Sprint 4: Implementation- UX and Design Integrating user feedback led to design adjustments and a user navigation tool Tasks Challenges LearningsImplementations UX and UI Improvements ● Implemented Navigation icon in detail page ● Easy navigation that scrolls you to the desired widget ● We used an Ionic Fab to build the navigation ● Directly from user feedback ● Furthermore, we changed the line height and other typography issues to provide a clean and easy to read user interface
  • 56.
    Sprint 4: Challengesand solutions Using Regular Expressions and installing missing dependencies could solve all issues of sprint 4 Missing dependencies on our AWS backend server as well as conflicting python versions required a lot of work on the terminal. Matched Header and URL in Response Object using RegEx to be able to extract the needed information for our widget. Analyzed the summary for the most important and most frequent keyword. Then we used this keyword to build a query to the Reddit API. Deploy Summary- Generation to Backend Automated Keywords Extract Information from GDELT Response Tasks Challenges LearningsImplementations
  • 57.
    Sprint 4: KeyLearnings Coding Skills ● First glimpse of Regular Expressions ● iOS and Android Deployment of Ionic Apps Task Specific Skills ● Do user testing ● Explored new GDELT API Teamwork ● Optimizing documentation workflow Tasks Challenges LearningsImplementations Coding related learnings stood out in sprint 4
  • 58.
  • 59.
    Limitations Limitations we acknowledgedand plans to overcome them Status Quo of Summary Generation requires further manual editing, otherwise not compliant with “Leistungsschutzrecht”. Improve GDELT responses as sometimes not the most trustworthy sources are returned as alternative perspectives. NLP technology is constantly refined and improved. If we are not coming up ourselves with an algorithm that reduces manual editing effort, time will do the work. GDELT’s documentation is really vague. After devotion for a longer period to the whole database and query documentation, this issue should be easily realizable. The Reddit Service is taking the most frequent word as a keyword to search for posts. These can differ from the actual topic of the detail page. Improve the algorithm so it matches the keywords from the news header.
  • 60.
    Timeline Growing 2017 The nextsteps we want to take A way to personalize content and also to nudge people out of their filter bubble 2017 2017 2017 2017 The GDELT foundation just announced the release of their new API Doc 2.0 with new possibilities. Google BigQuery also opens up new potentials for using the database Helps to understand the topic and its development in more detail. Important for building an opinion Further improvements on all other features Upload to Apple TestFlight and do user testing with a huge user base User Profile Exploit GDELT potential Storyline Apple Testflight Feature Refinement
  • 61.
    61 Free Version User gets ●Summaries ● Different perspective features We get money through ● All basic features ● Can read any article he gets directed to, without being stopped by paywall Premium Version ● Advertisement ● Monthly subscription fee Business Model Structure Perspective is built as a Freemium service
  • 62.
    Now First prototype Q4 2017 Entryto German market 3% pay for online news 14M between 15 and 30 in Germany €8.99 / Month 2019 International Expansion Switzerland Austria Italy €~4M / Month France Nordics
  • 63.
  • 64.
  • 65.
    65 Free Version User gets ●Summaries ● Different perspective features We get money through ● All basic features ● Can read any article he gets directed to, without being stopped by paywall Premium Version ● Advertisement ● Monthly subscription fee Business Model Structure Perspective is built as a Freemium service
  • 66.
    Legal Aspects Current stateof the law surrounding aggregation of news is reviewed in a white paper by the Citizen Media Law Project ‘Leistungsschutzgesetz’ in Germany: ● allows an adoption of headlines provided the source and link presented → By just extracting the facts and rearranging them in our own language no copyrights are infringed
  • 67.
    Proof of concept Summaryprinciple for news is highly successful ● Summly had 200k downloads in 3 months ● Omni has about 2,5m visits/month) Data suggests that the smartphone will become the defining device for digital news with a big impact on consumption, formats, and business models. Blendle already managed to establish collaborations with news outlets in order to skip payment walls
  • 68.
    The Idea ofPerspective: Target Group Although we’re not specifically targeting people that like to read very opinionated news, we give them an incentive through convenience. Therefore Perspective’s main target group consists of: ● Young people, who are still in the phase of building their opinion about the world. ● Everyone who is dissatisfied with the current media coverage and its`bottlenecks Perspective’s goal is to give young people easy access to news and support them building their own opinion by providing multiple Perspectives
  • 69.
    WTP for onlinenews % willing to pay for subscriptions: Rest of Europe: “Access news from smartphone or tablet” Top reasons to pay: “Consume news from a range of sources” 3% 5% Individuals that are paying for video content are more likely to pay for news Demographics and trends: Young people are already more willing to pay and the trend is growing Paying for quality news in an era of biased politics Germany:
  • 70.
    GDELT and GoogleBigQuery GDELT identifies a multitude of factors, driving our global society and creates a free open platform for computing the entire world GDELT includes several measures of article tone: ● reporting scores of positive and negative word use ● polarity ● emotionalityThe GDELT Project monitors news from all over the world in more than 100 languages Topic Tone Detection range: -10 to 10 - 4 + 2 + 8 By means of the GDELT Project we are able to use an API that allows us easily to examine a certain topic from different point of view, in especially with a different ‘tone’ about the topic
  • 71.
    GDELT tone detection 71 Thestandard GDELT Tone score is a rough approximation of the "positive"/"negative" sentiment of document that is reasonably robust across the languages that GDELT monitors. To explore more complex emotional landscapes you can chose from the entire library of thousands of emotions assessed by the 24 tonal packages used by GDELT GCAM Find an emotional dimension of interest from the GCAM Master Codebook ● In order to use LIWC's "Anxiety" score (variable "c5.33") --> specify "GCAMVAR=c5.33" ● To use RID's "EMOTIONS/AGGRESSION" score (variable "c8.2"), specify "GCAMVAR=c8.2" Example
  • 72.
    Sources Population statistics: http://stats.oecd.org/index.aspx?DataSetCode=RPOP# Percentage ofindividuals paying for news: Reuters Institute Digital News Report 2017. Oxford University: Reuters Institute for the Study of Journalism. Legality of summary generation: Isbell, K. (2010, September 13). What’s the law around aggregating news online? A Harvard law report on the risks and the best practices. Retrieved February 28, 2017, from http://www.niemanlab.org/2010/09/whats-the-law-aroundaggregating-news-online-a-harvard-law-report-on- the-risks-and-the-bestpractices/
  • 73.
    Now First prototype Q4 2017 Entryto German market 3% pay for online news 14M between 15 and 30 in Germany €8.99 / Month 2019 International Expansion Switzerland Austria Italy €4M / Month France Nordics
  • 74.
    MMT Team Oskar Hargedahl B.Sc. Finance& Computer Science Uppsala University Technology Management CDTM Tim Ordenewitz B.Sc. Media Informatics LMU Munich Daniel Hartl B.Sc. Business Administration & Minor in Psychology LMU Munich Kevin Probst B.Sc. Business Administration LMU Munich Technology Management CDTM
  • 75.
    Technologies we use Perspectiveconsists of three core pillars. We use Natural Language Processing to generate summaries from articles we scraped. Therefore we developed our own webservice that provides the app with a summary. We present several additional perspectives to the user. Wikipedia, Twitter, Reddit, Youtube and links to articles with different view on the same topic are available. We developed a Cross Platform App using the Ionic Framework. Ionic enables us to develop the app using JavaScript style languages but deploy the app as native iOS, Android and Windows Phone App. Summary Generation Cross Platform App Perspectives
  • 76.
    Technologies and Applicationsfor Media Develop a working technological prototype Scope of 12 weeks 4 sprints with fixed product owner Perspective

Editor's Notes

  • #11 https://pixabay.com/en/chairs-conference-room-long-table-1840377
  • #30 Push-Mechanism for Contentful NLP Design
  • #44 “Supported by Google Jigsaw, the GDELT Project monitors the world's broad-cast, print, and web news from nearly every corner of every country in over 100 languages and identifies the people, locations, organizations, counts, themes, sources, emotions, counts, quotes, images and events driving our global society every second of every day, creating a free open platform for computing on the entire world”. GDELT Tone score: rough approximation of the "positive"/"negative" sentiment of document that is reasonably robust across the languages that GDELT monitors
  • #45 “Supported by Google Jigsaw, the GDELT Project monitors the world's broad-cast, print, and web news from nearly every corner of every country in over 100 languages and identifies the people, locations, organizations, counts, themes, sources, emotions, counts, quotes, images and events driving our global society every second of every day, creating a free open platform for computing on the entire world”. GDELT Tone score: rough approximation of the "positive"/"negative" sentiment of document that is reasonably robust across the languages that GDELT monitors
  • #61 Hey you read x liberal articles (PUSH notification) When you have a profile we know what your reading and we can provide you with new content
  • #71 “Supported by Google Jigsaw, the GDELT Project monitors the world's broad-cast, print, and web news from nearly every corner of every country in over 100 languages and identifies the people, locations, organizations, counts, themes, sources, emotions, counts, quotes, images and events driving our global society every second of every day, creating a free open platform for computing on the entire world”. GDELT Tone score: rough approximation of the "positive"/"negative" sentiment of document that is reasonably robust across the languages that GDELT monitors
  • #72 Once you have established a certain opinion for a longer period it is really difficult to change that. Therefore Perspective’s target group consists of young people, who are still in the phase of building their opinion about the world. Here we see the greatest lever of educating the population of tomorrow that nothing is plain black and white, but rather has to be observed from multiple Perspectives before deciding for an opinion. We try to give a first glimps of how one could realize that by building the news app “Perspective” Perspective’s goal is to give young people the chance to build their own opinion, by providing