Semantic web user interfaces - Do they have to be ugly?
1. User Interfaces for Semantic Web:
Do They Have to Be Ugly?
Andraz Tori, Zemanta
2. Talking about
• Topic: Semantic Web + World Wide Web
development & user interfaces
• Services based around data like Linking
Open Data or custom/proprietary graphs
• Talking about both Semantic Web and
• From perspective of a developer
8. Maybe one day, it's going to be
a beautiful swan.
Unfortunately it won't happen
9. Seen so far
• Both Semantic Web & semantic web
• Twine, Sindici, OpenLink faceted search,
Freebase, Freebase Autosuggest,
ViewChange player, rkbexplorer, Faviki,
Glue, Facebook open graph, Zemanta, BBC
(Nature, Music, Programme), Siri
• Let's look at them in random order
30. The pattern
• Some start with a problem and arrive to
SemWeb technologies as one part of a
• Some start with semantic web solution and start
to look for the problem
• Which ones do you like more?
• What goes wrong?
31. An example: Barack Obama
Born: August 4, 1961 (1961-08-04), age 48, Honolulu, Hawaii
Birth name:Barack Hussein Obama II
Spouse(s): Michelle Obama (m. 1992)
32. How SW engineer sees that?
Honolulu, Hawaii Place
Event object 321321
1961-08-04 t Sex
rt y Marria
c al pa ge partne
Marriage Object 1231321
aitu Michelle Obama Marriage partner2
33. Honolulu, Hawaii Place
Event object 321321
This graph is fantastic!
1961-08-04 t Sex
y Marri age
al part partner1
it u rl Marriage partner2
tr a Michelle Obama
• We can find people born on the same day!
• We can find who is in Democratic party!
• We can find the most similar people (not via
SPARQL, but still)
• We can exchange identifiers with everyone!
• We can display the results easily, no mess!
• The queries mentioned are mostly boring
• In reality the LOD data is too sparse for
'discover anything, ask anything'
• We usually want either a shallow search or
truly deep and comprehensive data
• Our app will have to do one thing and do it
36. From engineer's perspective
• Abstractions are great
• You can represent almost anything with a
• You can query for anything you want in the
• You get all the cool things like validation,
• So you can treat all your data in the same
37. So you can treat all your data
in the same way!
Until the user sees it
or interacts with it !!!
• Is a blessing for an engineer
• But a curse for user interaction and user
• Semantic web technology tends to attract
39. Architecture astronauts
The hallmark of an architecture astronaut is that
they don't solve an actual problem... they solve
something that appears to be the template of a
lot of problems. Or at least, they try.
– Joel Sposlky
40. Rule number one
Let's not be architectural astronauts.
Let's solve one problem and solve it well
41. User experience
• We need to tailor the experience to specific
• Ignoring (powerful) underlying technology at
• Spending more than just the last 10% of the
time figuring out how the software/data are
going to be used in practice
• User experience is not just graphics design!
42. User experience
• It might be advantageous to have an unified
data model on the backend
• But that doesn't matter on the frontend/UX
• Your software could theoretically offer
limitless flexibility.... but are you sure you
want to pay the price?
• The price is a software that can do everything
and is not good at anything in particular
43. Throw away a dream of unified
interfaces for data access
And start designing software that
concentrates on limited, but efficient
ways to deal with data in scope of a
specific task or a problem
44. So where are the tools?
• SemWeb is full of tools to manage
ontologies, to extract data and to query data
• But when it comes to interacting with data by
end users on the web, the tools (libraries,
frameworks) are missing
• It's even worse. Everything beyond the triple
store and SPARQL server is missing.
48. We don't have enough time
• Everyone needs to do visualizations,
interfaces, data interactions on his own
• But most of the time we're just
reimplementing bottom layers
• Thus there is no time to actually concentrate
• So we need to have the 'framework' problem
solved in order to have resources for UI/UX
49. SemWeb web development -
• Semantic ORM built deep into the framework
• Scaffolding admin, user management
SPARQL on one side and HTML/CSS on the
• Frameworks with preselected ontologies
• Easy installations of development
environments (really, this matters!)
52. Looking solely at UI side
• An UI toolset capable of dealing with specific
• For starters: a decent graph
presenting/manipulating JS library?
• When I deal with dates, people, places,
events, ... I want to 'outsource' design and
interaction to people more capable than
myself in bringing machines and computers
53. Ideas: PlaceSemWebUI
• Assuming common geo ontologies
• Displaying the data using Google Maps or
• Allowing for 'smart' display of multiple
entities, 'smart' selection, editing, route
planning, overlaying with other data, etc.
54. Ideas: PersonSemWebUI
• Understanding common person ontologies
• Understanding what type of things people
want to do with “Person” objects
• Offer different visualizations, listing friends,
contacts, relationships in different ways
• Mashing it up with Facebook, LinkedIn,
Twitter, Glue, etc...
55. Good tools to start with
• Sparta (ORM for Python, dead)
• ActiveRDF, HyperDE (ORM for Ruby)
• Simile MIT project (Timeline, Seek)
• Longwell (RDF faceted browser)
• Freebase Parallax (open sourced)
• Freebase Acre (Semantic PaaS)
56. Do you know how stupidly hard
it is to display such a graph on
57. Why are there no frameworks?
• Because they are hard
• Because there's no specification up front
• No immediate benefits to authors,
• It takes UI/UX designer, designer, semweb
expert, backend engineer and frontend
engineer (5 different people!)
• Or maybe I just don't know about them??
58. So you want to be a hero?
• You might be the savior of SemWeb –
making it appeal to wider web development
• If you are Semantic Web backend provider,
you can look at this as a complementary
product which rises demand for your main
• Since there is so little competition, you can
take the world by storm
59. And don't hesitate about
• Making politically incorrect requirements (“to
run this fast, please download whole
Freebase locally into MySQL database”)
• Building opinionated software (Apple...)
• Creating ontology specific solutions
• Releasing it as open source, even half baked
60. RDFa, Microdata?
• Browsers turned away from creating useful
default interactions for common data types
• Extensions like Mozilla Operator seem to be
a dead end (unfortunately)
• However new browser wars are coming!
• And that is a good thing for semantic web!
62. Facebook Open Graph
• Publishing stuff in Facebook-supported way
might become more important than anything
else regarding RDFa or microdata
• Useful for people dealing with social or
• Are FB apps based on this actually semantic
64. When to do what?
• Start with use-cases
• Involve user experience designers early on
• Exploration is overrated
• If there's one thought I want to leave you
Not constraining yourself to specific use-cases is
the greatest design sin of Semantic Web, ever.
• SemWeb on the web right now is mostly a
data interchange layer
• Creating web applications based solely on
SemWeb stack is for most advanterous
• We need more of a 'pull' projects, 'push' isn't
getting us anywhere