S N A I L Final Presentation

Post on 10-May-2015

303 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

KOM - Multimedia Communications LabProf. Dr.-Ing. Ralf Steinmetz (Director)

Dept. of Electrical Engineering and Information TechnologyDept. of Computer Science (adjunct Professor)

TUD – Technische Universität Darmstadt Rundeturmstr. 10, D-64283 Darmstadt, Germany

Tel.+49 6151 166150, Fax. +49 6151 166152 www.KOM.tu-darmstadt.de

© author(s) of these slides 2008 including research results of the research network KOM and TU Darmstadt otherwise as specified at the respective slide

Qiong Wu

qiong.wu@studentpartners.deBetreuer: Dipl.-Inform. Farid Zaid

11. April 2023

SNAIL – quick access to Social Networks in EmAIL

Final Presentation

KOM – Multimedia Communications Lab

THE PROBLEM

KOM – Multimedia Communications Lab

TOO MANYEMAILS

Hard to search through

Hard to prioritize

KOM – Multimedia Communications Lab

THE GOALS

KOM – Multimedia Communications Lab

FIND EMAILS FASTER!

KOM – Multimedia Communications Lab

DEVELOP CONTACT ORIENTEDEMAIL SORTING

FIND EMAILS FASTER!

KOM – Multimedia Communications Lab

FIND EMAILS FASTER!

DEVELOP CONTACT ORIENTEDEMAIL SORTING

KOM – Multimedia Communications Lab

TAKESOCIAL NETWORKS INTO ACCOUNT

KOM – Multimedia Communications Lab

FIND EMAILS FASTERDISTINGUISH IMPORTANT FROM UNIMPORTANT MAILS

KOM – Multimedia Communications Lab

OUR PLANExtract raw metrics

Gather data

Consolidate Email Messages Aggregate by Contacts Link threaded Emails

Integrate into the Context Framework Hook on to Email Events Perform XML RPC Calls on Event

KOM – Multimedia Communications Lab

SOFTWAREDEVELOPMENTSTEPS

Develop Outlook Plug-In Grab Mail Information Hook on to Events

Provide Convenient Interface Sidebar Style Contact List Thread View

KOM – Multimedia Communications Lab

Contact List

(1 unread) Contact1

Contact2

Contact3

Contact4

Contact5

Contact6

Contact7

Message History

Message1

Message2

Message3

Message4

Message5

Message6

CONCEPT DESIGN

KOM – Multimedia Communications Lab

C#.Net Modern object-oriented

programming language Requires the .net framework

Visual Studio Tools for Office (VSTO)

Provides Access to Microsoft Office

Datatypes Events Methods

KOM – Multimedia Communications Lab

USER INTERFACE

DESIGN

KOM – Multimedia Communications Lab

WHAT WE WANT

KOM – Multimedia Communications Lab

SIDEBARHERE

KOM – Multimedia Communications Lab

BUT!

KOM – Multimedia Communications Lab

HOW DOWE

ACHIEVETHIS?

KOM – Multimedia Communications Lab

VSTO provides form regions for Outlook, but no Sidebar feature

How To integrate a Sidebar?

Use Win32 methods P/Invoke Windows API

KOM – Multimedia Communications Lab

SIDEBARHERE

KOM – Multimedia Communications Lab

HOOKING UP

EVENTS

NewMail Event Triggers when a new Email is received

ItemAdd / ItemRemove / ItemChange Triggers when an Item is added to a

folder /removed from a folder / changed in a folder

ItemSend Triggers when an Item is sent

KOM – Multimedia Communications Lab

GETTING THE DATA

Generate Statistics from Outlook User Data Iterate over all folders to retrieve all

Mail items Pull Information from Mail Item Object

Sender Recipient Subject

Create a Hashtable where Messages are stored with Contacts as Keys

KOM – Multimedia Communications Lab

OUTLOOKFILE SYSTEM

Folders objects represent Outlook Folders

ContactItem objects represent Contact Items Are identified by their

unique EntryID

MailItem objects represent Email Items Are identified by

their unique EntryID

Contain all relevant Information for the Email

KOM – Multimedia Communications Lab

Item

MailItem• Mail

Information• Subject• Recipient• Sender

Folder• Contains Items

ContactItem

OUTLOOK OBJECT MODEL

KOM – Multimedia Communications Lab

In Outlook Mails are sorted contained in folders

Each configured profile is a folder and has subsequent subfolders

Iteration over all Folders necessary

GETTING THE MAILS

KOM – Multimedia Communications Lab

No simple way to retrieve all MailItems at once Iteration over all Items has to be done

Identify Folders and perform recursive iteration

Save all MailItems in a Dictionary

THEPROBLEM

KOM – Multimedia Communications Lab

Contact Class DisplayString ContactString

ContactMessages Class LastMessageReceived LastMessageSent LastMessegeReceived/Sent ToMessages FromMessages

ContactMessage Class EntryID MailDate

SAVING RAW METRICS

KOM – Multimedia Communications Lab

Maps To Contains

CLASSRELATIONS

KOM – Multimedia Communications Lab

MailItem provides us with Subject Recipient Sender ConversationID

Allows us to track conversations and aggregate threads

PULLING INFORMATIONFROMMAILITEM

KOM – Multimedia Communications Lab

Correlation of generated Contacts with Outlook Contacts Find existing Outlook Contacts and link them

with generated Contacts Create new Outlook Contacts from generated

Contacts

Development Get all Outlook ContactItem objects Retrieve EntryID Save EntryID

ADDING OUTLOOK

CONTACTS

KOM – Multimedia Communications Lab

Contacts can also be found on social networks

Development Facebook SDK pulls information from your

facebook user profile

CONNECTINGWITH

FACEBOOK

KOM – Multimedia Communications Lab

Outlook Items can not be serialized! But instead the EntryID can be stored

Retrieve Outlook Items from EntryID Invoke GetItemFromID(string EntryID)

Store only the EntryID of the Outlook Item

.NET Serialization takes care of automatic saving & loading of data

SERIALIZATION

KOM – Multimedia Communications Lab

Concept 1: Order By

Unread yes/no Score = The smaller the better

Concept 2: Order By

Unread yes/no Last Message received / sent Sent Mails

SORTING TECHNIQUES

KOM – Multimedia Communications Lab

Provide Property for Score calculation

Sort Contact list with Lambda Expressions Sample

Contacts = Contacts.OrderByDescending(x => x.UnreadMails).ThenBy(x => x.RatingsScore).ToList();

DEVELOPING IT

KOM – Multimedia Communications Lab

SCORE SAMPLES

Sent Received Interpolated Ratio Interpolated Deviation Average Score Real Ratio Real Deviation Real Deviation [%]123 145 0,848275873 0,251724127 134 0,002046537 0,848275862 0,151724138 15,17%

91 129 0,705426379 0,394573621 110 0,004335973 0,705426357 0,294573643 29,46%20 20 1 0,1 20 0,004999998 1 0 0,00%16 15 1,066666622 0,166666622 15,5 0,010416657 1,066666667 0,066666667 6,67%15 16 0,937500039 0,162499961 15,5 0,010833324 0,9375 0,0625 6,25%

3 3 1 0,1 3 0,033333222 1 0 0,00%345 23 14,99999391 14,09999391 184 0,040869546 15 14 1400,00%

23 345 0,066666694 1,033333306 184 0,044927516 0,066666667 0,933333333 93,33%15 200 0,075000046 1,024999954 107,5 0,068333285 0,075 0,925 92,50%

1 1 1 0,1 1 0,099999 1 0 0,00%2 3 0,666667778 0,433332222 2,5 0,216665028 0,666666667 0,333333333 33,33%2 1 1,99999 1,09999 1,5 0,54999225 2 1 100,00%1 1000 0,00100001 1,09899999 500,5 1,098989 0,001 0,999 99,90%1 0 100001 100000,1 0,5 99999,10001 #DIV/0! #DIV/0! #DIV/0!

67 0 6700001 6700000,1 33,5 99999,98657 #DIV/0! #DIV/0! #DIV/0!0 40 2,5E-07 1,09999975 20 109999,975 0 1 100,00%0 130 7,69231E-08 1,099999923 65 109999,9923 0 1 100,00%

KOM – Multimedia Communications Lab

EVALUATIONEvaluation of Concepts yielded the following Results

Concept 1 very efficient at finding organic contacts (contacts that are perceived as

important) But does not take time into account, e.g. an old friend with tons of old emails

can only slowly be topped by a new organic contact Concept 2

Not very efficient at finding organic contacts (irrelevant contacts can be on the top of the list, only due to lastmessage)

Concept 1 is more efficient than Concept 2 (Relevance estimation is more accurate)

A mixture of Concept 1 & Concept 2 is even more efficient Determine Score on the basis of all sent/received mails in a certain timespan

KOM – Multimedia Communications Lab

Outlook 2007 Plugin – Main Window

KOM – Multimedia Communications Lab

Outlook 2007 Plugin – Thread View

KOM – Multimedia Communications Lab

CONCLUSION&

TEST RESULTSSNAIL has been able to improve email usage

by making Emails faster to find Frequently contacted people easier to find Handle incoming mails by contact priority Showing Social graphing Connecting social networks to email

Users testing SNAIL have said That the contact rating is surprisingly accurate That it provides an interesting new concept of

writing & finding mails They like it because it integrates seamlessly into

their existing Outlook Clients

KOM – Multimedia Communications Lab

OUTLOOK

Evaluation of alternative sorting mechanisms may be done, considering Taking social contacts into account when calculating

score Manual biasing of score by the user (vote system)

KOM – Multimedia Communications Lab

GRAPH VISUALIZATIONShow Contact

relationships with an Interface

Use NodeXL for Visualization of Social Connections

Use ConnectedContact Property as Data

KOM – Multimedia Communications Lab

CONNECTING TOTHE CONTEXT FRAMEWORK

KOM – Multimedia Communications Lab

THE CONTEXT FRAMEWORK

Tracks a user’s activities

Gets informations from various sensors

Is accessed via XML RPC

KOM – Multimedia Communications Lab

XMLRPC

Requirement to interact with the context Framework

Consumption of XMLRPC services via C# Use XMLRPC.NET library

Create a proxy and define functions

Wire up to Outlook events and trigger XMLRPC calls

KOM – Multimedia Communications Lab

Microsoft‘s Sourceforge (mostly .NET stuff)

SNAIL is hosted on

http://snail.codeplex.com/

CODEPLEX

KOM – Multimedia Communications Lab

KOM – Multimedia Communications Lab

Qiong Wu

qiong.wu@studentpartners.de

+49-152-29845748

QUESTIONSANYONE?

top related