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
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