SlideShare una empresa de Scribd logo
1 de 47
SNAIL – quick accesstoSocial Networks in EmAIL Final Presentation
The Problem
TooMany Emails Hard tosearchthrough Hard toprioritize
The Goals
Find Emails faster!
Find Emails faster! Develop Contactoriented Email Sorting
Find Emails faster! Develop Contactoriented Email Sorting
Take Social Networksinto Account
Find Emails Faster DistinguishImportantfromUnimportant Mails
Our Plan Extractrawmetrics ,[object Object],Consolidate Email Messages ,[object Object]
Link threadedEmailsIntegrateintotheContext Framework ,[object Object]
Perform XML RPC Calls on Event,[object Object]
Hook on to EventsProvideConvenient Interface ,[object Object]
Contact List
Thread ViewSoftware Development Steps
Concept 			Design
Tools Of The Trade C#.Net ,[object Object]
Requiresthe .net frameworkVisual Studio Tools for Office (VSTO) ,[object Object]
Datatypes
Events
Methods,[object Object]
Whatwewant
Sidebar Here
But!
How do We achieve This?
VSTO providesform regionsfor Outlook, but no Sidebar feature HowTointegrate a Sidebar? Use Win32 methods ,[object Object]
Windows API,[object Object]
NewMail Event ,[object Object],ItemAdd / ItemRemove / ItemChange ,[object Object],ItemSend ,[object Object],HookingUp     Events
Gettingthe Data GenerateStatisticsfrom Outlook User Data ,[object Object]
Pull Information from Mail Item Object
Sender
Recipient
Subject
Create a Hashtablewhere Messages arestoredwithContactsas Keys,[object Object]
Contain all relevant Information forthe EmailContactItemobjectsrepresentContact Items ,[object Object],[object Object]
Gettingthe Mails In Outlook Mails aresortedcontained in folders Eachconfiguredprofileis a folderandhas subsequent subfolders Iteration over all Folders necessary
The Problem No simple waytoretrieve all MailItemsatonce ,[object Object]
Identify Folders andperformrecursiveiteration
Save all MailItems in a Dictionary,[object Object]
MapsTo Contains Class Relations
Pullinginformation From Mailitem MailItemprovidesuswith Subject Recipient Sender ConversationID Allowsustotrackconversationsandaggregatethreads
Adding Outlook Contacts CorrelationofgeneratedContactswith Outlook Contacts Find existing Outlook Contactsand link themwithgeneratedContacts Create new Outlook ContactsfromgeneratedContacts Development Get all Outlook ContactItemobjects RetrieveEntryID Save EntryID
Connecting With Facebook Contactscan also befound on socialnetworks Development Facebook SDK pullsinformationfromyourfacebookuserprofile
Serialization Outlook Items can not beserialized! But insteadtheEntryIDcanbestored Retrieve Outlook Items fromEntryID InvokeGetItemFromID(stringEntryID) Store onlytheEntryIDofthe Outlook Item .NET Serializationtakescareofautomaticsaving & loadingofdata
SortingTechniques Concept 1: Order By Unreadyes/no Score = 1−Sent+0,00001Received+0,00001+0,1Sent+0,00001 The smallerthebetter Concept 2: Order By Unreadyes/no Last Message received / sent Sent Mails  
Provide Property for Score calculation SortContactlistwith Lambda Expressions Sample Contacts = Contacts.OrderByDescending(x => x.UnreadMails).ThenBy(x => x.RatingsScore).ToList(); Developingit
Score samples

Más contenido relacionado

Similar a S N A I L Final Presentation

Managing Emails using MS Office Outlook
Managing Emails using MS Office Outlook Managing Emails using MS Office Outlook
Managing Emails using MS Office Outlook Jaiveer Singh
 
Building Email Apps
Building Email AppsBuilding Email Apps
Building Email AppsAndy Denmark
 
Email Is Dead... Long Live Email!
Email Is Dead... Long Live Email!Email Is Dead... Long Live Email!
Email Is Dead... Long Live Email!Wrike
 
Email and groupware
Email and groupwareEmail and groupware
Email and groupwareRoy Thomas
 
TomDavenportPoster (1)
TomDavenportPoster (1)TomDavenportPoster (1)
TomDavenportPoster (1)Tom Davenport
 
Web 2.0: Making Email a Useful Web App
Web 2.0: Making Email a Useful Web AppWeb 2.0: Making Email a Useful Web App
Web 2.0: Making Email a Useful Web AppAndy Denmark
 
Gabor Cselle - The Future of Email
Gabor Cselle - The Future of EmailGabor Cselle - The Future of Email
Gabor Cselle - The Future of Emailgaborcselle
 
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...Mithi SkyConnect
 
Visualizing the Path of InteropNet and Beyond
Visualizing the Path of InteropNet and BeyondVisualizing the Path of InteropNet and Beyond
Visualizing the Path of InteropNet and BeyondThousandEyes
 
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...stensul
 
Voice based email system for physically challenged
Voice based email system for physically challengedVoice based email system for physically challenged
Voice based email system for physically challengedIbrahim Khalil Shakik
 
miniproject.ppt.pptx
miniproject.ppt.pptxminiproject.ppt.pptx
miniproject.ppt.pptxAnush90
 
The Detection of Suspicious Email Based on Decision Tree ...
The Detection of Suspicious Email Based on Decision Tree                     ...The Detection of Suspicious Email Based on Decision Tree                     ...
The Detection of Suspicious Email Based on Decision Tree ...IRJET Journal
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowMassimiliano Di Penta
 
(Icmia 2013) personalized community detection using collaborative similarity ...
(Icmia 2013) personalized community detection using collaborative similarity ...(Icmia 2013) personalized community detection using collaborative similarity ...
(Icmia 2013) personalized community detection using collaborative similarity ...Waqas Nawaz
 
IRJET - Event Notifier on Scraped Mails using NLP
IRJET - Event Notifier on Scraped Mails using NLPIRJET - Event Notifier on Scraped Mails using NLP
IRJET - Event Notifier on Scraped Mails using NLPIRJET Journal
 
An analysis on Filter for Spam Mail
An analysis on Filter for Spam MailAn analysis on Filter for Spam Mail
An analysis on Filter for Spam MailAM Publications
 
IRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET Journal
 

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

Managing Emails using MS Office Outlook
Managing Emails using MS Office Outlook Managing Emails using MS Office Outlook
Managing Emails using MS Office Outlook
 
Building Email Apps
Building Email AppsBuilding Email Apps
Building Email Apps
 
Email Is Dead... Long Live Email!
Email Is Dead... Long Live Email!Email Is Dead... Long Live Email!
Email Is Dead... Long Live Email!
 
Email and groupware
Email and groupwareEmail and groupware
Email and groupware
 
TomDavenportPoster (1)
TomDavenportPoster (1)TomDavenportPoster (1)
TomDavenportPoster (1)
 
Web 2.0: Making Email a Useful Web App
Web 2.0: Making Email a Useful Web AppWeb 2.0: Making Email a Useful Web App
Web 2.0: Making Email a Useful Web App
 
Gabor Cselle - The Future of Email
Gabor Cselle - The Future of EmailGabor Cselle - The Future of Email
Gabor Cselle - The Future of Email
 
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
Webinar Mastery Series: Transform Teamwork Productivity with the new SkyConne...
 
SAS Text Mining
SAS Text MiningSAS Text Mining
SAS Text Mining
 
Visualizing the Path of InteropNet and Beyond
Visualizing the Path of InteropNet and BeyondVisualizing the Path of InteropNet and Beyond
Visualizing the Path of InteropNet and Beyond
 
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
Move Fast and (Don't) Break Things: How Big Brands Can Do Email Marketing at ...
 
Voice based email system for physically challenged
Voice based email system for physically challengedVoice based email system for physically challenged
Voice based email system for physically challenged
 
miniproject.ppt.pptx
miniproject.ppt.pptxminiproject.ppt.pptx
miniproject.ppt.pptx
 
The Detection of Suspicious Email Based on Decision Tree ...
The Detection of Suspicious Email Based on Decision Tree                     ...The Detection of Suspicious Email Based on Decision Tree                     ...
The Detection of Suspicious Email Based on Decision Tree ...
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
 
(Icmia 2013) personalized community detection using collaborative similarity ...
(Icmia 2013) personalized community detection using collaborative similarity ...(Icmia 2013) personalized community detection using collaborative similarity ...
(Icmia 2013) personalized community detection using collaborative similarity ...
 
IRJET - Event Notifier on Scraped Mails using NLP
IRJET - Event Notifier on Scraped Mails using NLPIRJET - Event Notifier on Scraped Mails using NLP
IRJET - Event Notifier on Scraped Mails using NLP
 
An analysis on Filter for Spam Mail
An analysis on Filter for Spam MailAn analysis on Filter for Spam Mail
An analysis on Filter for Spam Mail
 
Adapt proposed and developed-Email Management System
Adapt proposed and developed-Email Management System Adapt proposed and developed-Email Management System
Adapt proposed and developed-Email Management System
 
IRJET- Semantic Question Matching
IRJET- Semantic Question MatchingIRJET- Semantic Question Matching
IRJET- Semantic Question Matching
 

Más de Qiong Wu

node.js workshop- node.js databases
node.js workshop- node.js databasesnode.js workshop- node.js databases
node.js workshop- node.js databasesQiong Wu
 
node.js workshop- node.js unit testing
node.js workshop- node.js unit testingnode.js workshop- node.js unit testing
node.js workshop- node.js unit testingQiong Wu
 
node.js workshop- node.js middleware
node.js workshop- node.js middlewarenode.js workshop- node.js middleware
node.js workshop- node.js middlewareQiong Wu
 
node.js workshop- node.js basics
node.js workshop- node.js basicsnode.js workshop- node.js basics
node.js workshop- node.js basicsQiong Wu
 
node.js workshop- JavaScript Async
node.js workshop- JavaScript Asyncnode.js workshop- JavaScript Async
node.js workshop- JavaScript AsyncQiong Wu
 
node.js workshop- JavaScript Basics
node.js workshop- JavaScript Basicsnode.js workshop- JavaScript Basics
node.js workshop- JavaScript BasicsQiong Wu
 
Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Qiong Wu
 
3 Interop Part2
3 Interop Part23 Interop Part2
3 Interop Part2Qiong Wu
 
C# Workshop - File Operations
C# Workshop - File OperationsC# Workshop - File Operations
C# Workshop - File OperationsQiong Wu
 
C# Workshop - Networking
C# Workshop - NetworkingC# Workshop - Networking
C# Workshop - NetworkingQiong Wu
 
C# Workshop - Threading
C# Workshop - ThreadingC# Workshop - Threading
C# Workshop - ThreadingQiong Wu
 
Life In Power Point
Life In Power PointLife In Power Point
Life In Power PointQiong Wu
 

Más de Qiong Wu (14)

node.js workshop- node.js databases
node.js workshop- node.js databasesnode.js workshop- node.js databases
node.js workshop- node.js databases
 
node.js workshop- node.js unit testing
node.js workshop- node.js unit testingnode.js workshop- node.js unit testing
node.js workshop- node.js unit testing
 
node.js workshop- node.js middleware
node.js workshop- node.js middlewarenode.js workshop- node.js middleware
node.js workshop- node.js middleware
 
node.js workshop- node.js basics
node.js workshop- node.js basicsnode.js workshop- node.js basics
node.js workshop- node.js basics
 
node.js workshop- JavaScript Async
node.js workshop- JavaScript Asyncnode.js workshop- JavaScript Async
node.js workshop- JavaScript Async
 
node.js workshop- JavaScript Basics
node.js workshop- JavaScript Basicsnode.js workshop- JavaScript Basics
node.js workshop- JavaScript Basics
 
Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0Parallele Softwareentwicklung mit .NET 4.0
Parallele Softwareentwicklung mit .NET 4.0
 
3 Interop Part2
3 Interop Part23 Interop Part2
3 Interop Part2
 
Kickoff
KickoffKickoff
Kickoff
 
2 Interop
2 Interop2 Interop
2 Interop
 
C# Workshop - File Operations
C# Workshop - File OperationsC# Workshop - File Operations
C# Workshop - File Operations
 
C# Workshop - Networking
C# Workshop - NetworkingC# Workshop - Networking
C# Workshop - Networking
 
C# Workshop - Threading
C# Workshop - ThreadingC# Workshop - Threading
C# Workshop - Threading
 
Life In Power Point
Life In Power PointLife In Power Point
Life In Power Point
 

S N A I L Final Presentation