Upload
andraz-tori
View
20.231
Download
0
Embed Size (px)
DESCRIPTION
Presentation at Semantic Tech Conference 2010 On lack of good frameworks, good UI libraries, etc.
Citation preview
User Interfaces for Semantic Web:
Do They Have to Be Ugly?
Andraz Tori, [email protected]
Twitter: @andraz
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 semantic web
• From perspective of a developer
So, do they have to be ugly?
No.
But often they still are...
… complicated, convoluted, ugly and sometimes useless
Right now, Smantic Web on the web is like an ugly duckling
Maybe one day, it's going to be a beautiful swan.
Unfortunately it won't happen by itself.
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
Before we start
What is a semantic web user interface?
4
Down the rabbit hole...
http://lod.openlinksw.com/
http://lod.openlinksw.com/
http://www.bbc.co.uk/sn/
ViewChange.org
Faviki
Freebase suggest
The pattern
• Some start with a problem and arrive to SemWeb technologies as one part of a solution
• Some start with semantic web solution and start to look for the problem
• Which ones do you like more?
• What goes wrong?
An example: Barack Obama
Born: August 4, 1961 (1961-08-04), age 48, Honolulu, Hawaii
Birth name:Barack Hussein Obama II
Nationality: American
Political party:Democratic
Spouse(s): Michelle Obama (m. 1992)
How SW engineer sees that?
Barack Obama
1961-08-04
Event object 321321
Birth event
Date
Honolulu, Hawaii Place
Sexmale
Marriage partner1Marriage Object 1231321
Michelle Obama Marriage partner2
Political party
portrait u
rl
http://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Official_portrait_of_Barack_Obama.jpg/225px-Official_portrait_of_Barack_Obama.jpg
This graph is fantastic!
• 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!
Barack Obama
1961-08-04
Event object 321321
Birth event
Date
Honolulu, Hawaii Place
Sexmale
Marriage partner1Marriage Object 1231321
Michelle Obama Marriage partner2
Political party
portrait u
rl
http://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Official_portrait_of_Barack_Obama.jpg/225px-Official_portrait_of_Barack_Obama.jpg
Except
• 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 well
a perfect abstraction
The semantic web is
From engineer's perspective
• Abstractions are great
• You can represent almost anything with a graph
• You can query for anything you want in the same way!
• You get all the cool things like validation, refactoring, reasoning.
• ....
• So you can treat all your data in the same way!
So you can treat all your data in the same way!
Until the user sees it or interacts with it !!!
Abstraction
• Is a blessing for an engineer
• But a curse for user interaction and user interfaces
• Semantic web technology tends to attract “architecture astronauts”
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
<
Let's not be architectural astronauts.
Let's solve one problem and solve it well
Rule number one
User experience
• We need to tailor the experience to specific use-cases
• Ignoring (powerful) underlying technology at first!
• 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!
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
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
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.
Web 2.0 developer's toolbox
Semantic Web developer's toolbox
Sparql
Freebase Acre
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 on interfaces
• So we need to have the 'framework' problem solved in order to have resources for UI/UX
SemWeb web development -missing parts
• Semantic ORM built deep into the framework
• Scaffolding admin, user management
• Javascript library capable of dealing with SPARQL on one side and HTML/CSS on the other
• Frameworks with preselected ontologies
• Easy installations of development environments (really, this matters!)
• Community?
SIOC
• Semantically-Interlinked Online Communities
• Arguably ontology that went furthest in gaining support
• But still no development frameworks
SIOC could be practical
Looking solely at UI side
• An UI toolset capable of dealing with specific ontologies
• 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 together.
Ideas: PlaceSemWebUI
• Assuming common geo ontologies
• Displaying the data using Google Maps or Cloudmade
• Allowing for 'smart' display of multiple entities, 'smart' selection, editing, route planning, overlaying with other data, etc.
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...
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)
Do you know how stupidly hard it is to display such a graph on the web?
Why are there no frameworks?
• Because they are hard
• Because there's no specification up front (Frenzel failed)
• No immediate benefits to authors, questionable demand
• 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??
So you want to be a hero?
• You might be the savior of SemWeb – making it appeal to wider web development community
• If you are Semantic Web backend provider, you can look at this as a complementary product which rises demand for your main one
• Since there is so little competition, you can take the world by storm
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
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!
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 'popular' objects
• Are FB apps based on this actually semantic apps already?
Is Facebook offering the best SemWeb UX/UI design, ever?
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 with:
Not constraining yourself to specific use-cases is the greatest design sin of Semantic Web, ever.
Conclusion
• 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
Killer app for semantic web?
First we need killer frameworks!
User Interfaces for Semantic Web:
Do They Have to Be Ugly?
Yes, … for now.
Andraz Tori, [email protected]
Twitter: @andraz
Images
• http://www.flickr.com/photos/pasma/485201047/
• http://www.flickr.com/photos/steffe/2457114284/
• http://www.flickr.com/photos/bradybd/2819339876/
• http://en.wikipedia.org/wiki/File:Alice_par_John_Tenniel_02.png
• NASA
• Wikipedia