Semantic web user interfaces - Do they have to be ugly?

Preview:

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, Zemantaandraz@zemanta.com

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, Zemantaandraz@zemanta.com

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

Recommended