SlideShare a Scribd company logo
SNAIL – quick accesstoSocial Networks in EmAILFinal Presentation
The Problem
TooManyEmailsHard tosearchthroughHard toprioritize
The Goals
Find Emails faster!
Find Emails faster!DevelopContactorientedEmail Sorting
Find Emails faster!DevelopContactorientedEmail Sorting
TakeSocial Networksinto Account
Find Emails FasterDistinguishImportantfromUnimportant Mails
Our PlanExtractrawmetricsGatherdataConsolidate Email MessagesAggregate byContacts
Link threadedEmailsIntegrateintotheContext FrameworkHook on to Email Events
Perform XML RPC Calls on EventDevelop Outlook Plug-InGrab Mail Information
Hook on to EventsProvideConvenient InterfaceSidebar Style
Contact List
Thread ViewSoftwareDevelopmentSteps
Concept			Design
Tools OfThe TradeC#.NetModern object-orientedprogramminglanguage
Requiresthe .net frameworkVisual Studio Tools for Office (VSTO)Provides Access to Microsoft Office
Datatypes
Events
MethodsUser Interface Design
Whatwewant
SidebarHere
But!
How doWeachieveThis?
VSTO providesform regionsfor Outlook, but no Sidebar featureHowTointegrate a Sidebar?Use Win32 methodsP/Invoke
Windows APISidebarHere
NewMail EventTriggers when a new Email isreceivedItemAdd / ItemRemove / ItemChangeTriggers whenan Item isaddedto a folder /removedfrom a folder / changed in a folderItemSendTriggers when an Item issentHookingUp    Events
Gettingthe DataGenerateStatisticsfrom Outlook User DataIterateover all folderstoretrieve all Mail items
Pull Information from Mail Item Object
Sender
Recipient
Subject
Create a Hashtablewhere Messages arestoredwithContactsas KeysOutlookFile SystemFolders objectsrepresent Outlook FoldersMailItemobjectsrepresent Email ItemsAre identifiedbytheiruniqueEntryID
Contain all relevant Information forthe EmailContactItemobjectsrepresentContact ItemsAre identifiedbytheiruniqueEntryIDOutlook Object Model
Gettingthe MailsIn Outlook Mails aresortedcontained in foldersEachconfiguredprofileis a folderandhas subsequent subfoldersIteration over all Folders necessary
TheProblemNo simple waytoretrieve all MailItemsatonceIteration over all Items hastobedone
Identify Folders andperformrecursiveiteration
Save all MailItems in a DictionaryContact ClassDisplayStringContactStringContactMessages ClassLastMessageReceivedLastMessageSentLastMessegeReceived/SentToMessagesFromMessagesContactMessage ClassEntryIDMailDateSavingrawmetrics
MapsToContainsClassRelations
PullinginformationFromMailitemMailItemprovidesuswithSubjectRecipientSenderConversationIDAllowsustotrackconversationsandaggregatethreads
Adding Outlook ContactsCorrelationofgeneratedContactswith Outlook ContactsFind existing Outlook Contactsand link themwithgeneratedContactsCreate new Outlook ContactsfromgeneratedContactsDevelopmentGet all Outlook ContactItemobjectsRetrieveEntryIDSave EntryID
ConnectingWithFacebookContactscan also befound on socialnetworksDevelopmentFacebook SDK pullsinformationfromyourfacebookuserprofile
SerializationOutlook Items can not beserialized!But insteadtheEntryIDcanbestoredRetrieve Outlook Items fromEntryIDInvokeGetItemFromID(stringEntryID)Store onlytheEntryIDofthe Outlook Item.NET Serializationtakescareofautomaticsaving & loadingofdata
SortingTechniquesConcept 1:Order ByUnreadyes/noScore = 1−Sent+0,00001Received+0,00001+0,1Sent+0,00001 The smallerthebetterConcept 2:Order ByUnreadyes/noLast Message received / sentSent Mails 
Provide Property for Score calculationSortContactlistwith Lambda ExpressionsSampleContacts = Contacts.OrderByDescending(x => x.UnreadMails).ThenBy(x => x.RatingsScore).ToList();Developingit
Score samples

More Related Content

PDF
IRJET- Quantify Mutually Dependent Privacy Risks with Locality Data
PPTX
Lightstep webinar jan 30, 2019
PPTX
snail Presentation
PDF
517 snail farming in west africa a practical guide (1)
PPT
Speeding Up The Snail
PPTX
Snail house
PDF
Snail farming
IRJET- Quantify Mutually Dependent Privacy Risks with Locality Data
Lightstep webinar jan 30, 2019
snail Presentation
517 snail farming in west africa a practical guide (1)
Speeding Up The Snail
Snail house
Snail farming

Similar to S N A I L Final Presentation (20)

PPTX
DSA-Project-Final PPT.pptxxxxxxxxxxxxxxxxxxx
PPTX
Managing Emails using MS Office Outlook
PPT
Building Email Apps
PPTX
Email Is Dead... Long Live Email!
PPTX
Email and groupware
PPTX
TomDavenportPoster (1)
PPT
Web 2.0: Making Email a Useful Web App
PPT
Gabor Cselle - The Future of Email
PDF
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
PDF
SAS Text Mining
PDF
Visualizing the Path of InteropNet and Beyond
PDF
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
PPTX
Voice based email system for physically challenged
PPTX
miniproject.ppt.pptx
PDF
The Detection of Suspicious Email Based on Decision Tree ...
PDF
Put Your Hands in the Mud: What Technique, Why, and How
PPTX
(Icmia 2013) personalized community detection using collaborative similarity ...
PDF
IRJET - Event Notifier on Scraped Mails using NLP
PDF
ppt 2 digital empowerment and about uses
PDF
An analysis on Filter for Spam Mail
DSA-Project-Final PPT.pptxxxxxxxxxxxxxxxxxxx
Managing Emails using MS Office Outlook
Building Email Apps
Email Is Dead... Long Live Email!
Email and groupware
TomDavenportPoster (1)
Web 2.0: Making Email a Useful Web App
Gabor Cselle - The Future of Email
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
SAS Text Mining
Visualizing the Path of InteropNet and Beyond
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
Voice based email system for physically challenged
miniproject.ppt.pptx
The Detection of Suspicious Email Based on Decision Tree ...
Put Your Hands in the Mud: What Technique, Why, and How
(Icmia 2013) personalized community detection using collaborative similarity ...
IRJET - Event Notifier on Scraped Mails using NLP
ppt 2 digital empowerment and about uses
An analysis on Filter for Spam Mail
Ad

More from Qiong Wu (14)

PPTX
node.js workshop- node.js databases
PPTX
node.js workshop- node.js unit testing
PPTX
node.js workshop- node.js middleware
PPTX
node.js workshop- node.js basics
PPTX
node.js workshop- JavaScript Async
PPTX
node.js workshop- JavaScript Basics
PPTX
Parallele Softwareentwicklung mit .NET 4.0
PPTX
3 Interop Part2
PPTX
Kickoff
PPTX
2 Interop
PPTX
C# Workshop - File Operations
PPTX
C# Workshop - Networking
PPTX
C# Workshop - Threading
PPTX
Life In Power Point
node.js workshop- node.js databases
node.js workshop- node.js unit testing
node.js workshop- node.js middleware
node.js workshop- node.js basics
node.js workshop- JavaScript Async
node.js workshop- JavaScript Basics
Parallele Softwareentwicklung mit .NET 4.0
3 Interop Part2
Kickoff
2 Interop
C# Workshop - File Operations
C# Workshop - Networking
C# Workshop - Threading
Life In Power Point
Ad

S N A I L Final Presentation