diff --git a/typescript/src/determineActivity.ts b/typescript/src/determineActivity.ts index 95c23a7..1c2a099 100644 --- a/typescript/src/determineActivity.ts +++ b/typescript/src/determineActivity.ts @@ -99,9 +99,18 @@ export default function determineActivity( if (isActivity(Activity.ReadWriteDocument, windowTitle, process)) return Activity.ReadWriteDocument; + if (isActivity(Activity.Design, windowTitle, process)) + return Activity.Design; + + if (isActivity(Activity.GenerativeAI, windowTitle, process)) + return Activity.GenerativeAI; + if (isActivity(Activity.InstantMessaging, windowTitle, process)) return Activity.InstantMessaging; + if (isActivity(Activity.SocialMedia, windowTitle, process)) + return Activity.SocialMedia; + if (isBrowser(process)) { if (isWebsiteWorkRelated(windowTitle)) return Activity.WorkRelatedBrowsing; @@ -118,9 +127,6 @@ export default function determineActivity( if (isActivity(Activity.OtherRdp, windowTitle, process)) return Activity.OtherRdp; - if (isActivity(Activity.Gaming, windowTitle, process)) - return Activity.Gaming; - if (isActivity(Activity.Other, windowTitle, process)) return Activity.Other; // if nothing matched, return Unknown diff --git a/typescript/src/mappings/activityMappings.ts b/typescript/src/mappings/activityMappings.ts index f3e758e..b709c38 100644 --- a/typescript/src/mappings/activityMappings.ts +++ b/typescript/src/mappings/activityMappings.ts @@ -4,11 +4,42 @@ const activityMappings = { [Activity.DevCode]: [ "rstudio", "sdv", + "nodejs", + "s3", + "twilio", + "ecs", + "docker", + "tableau", + "circleci", + "sendgrid", "webplatforminstaller", "xts", "build", "cleardescribe", "clearfindco", + "jupyter", + "collab", + "mariadb", + "mongodb", + "stripe", + "vercel", + "azure", + "aws", + "google cloud", + "electron", + "angular", + "react", + "travis", + "newrelic", + "db2", + "redis", + "elasticsearch", + "cassandra", + "orientdb", + "neo4j", + "dynamodb", + "reviewboard", + "codespace", "alm-client", "ildasm", "ssms", @@ -38,19 +69,29 @@ const activityMappings = { "devenv", "visual studio", "code", + "mono", // includes mono develop "vs_enterprise", "vs2013", - "microsoftazuretools", "webstorm", "phpstorm", "source insight", "zend", "console", + "bash", // includes git bash "powershell", "shell", "cmd", + "komodo", + "aptana", + "visual expert", + "jcreator", + "drjava", + "zend studio", + "coda 2", + "eric python", "tasktop", "android studio", + "pycharm", "ide", "filezilla", "flashfxp", @@ -58,6 +99,7 @@ const activityMappings = { "delphi32", "modelbrowser", "ibq", + "qt", // includes Qt creato "pyscripter", "winmergeu", "python", @@ -65,6 +107,7 @@ const activityMappings = { "studio64", "unity", "matlab", + "xcode" ], [Activity.DevDebug]: [ "vshost", @@ -80,6 +123,7 @@ const activityMappings = { "snoop", "bushound", "hyjalmercurydiag", + "localhost" ], [Activity.DevReview]: [ "codeflow", @@ -93,6 +137,7 @@ const activityMappings = { "phabricator", ], [Activity.DevVc]: [ + "git", // includes github, gitlab "diff", "repository", "cleardiffbl", @@ -108,15 +153,37 @@ const activityMappings = { "push", "pull", "commit", - "git", "bitbucket", "visual studio online", "thgw", "thg", ], - [Activity.Email]: ["mail", "outlook", "thunderbird", "outlook.com"], + [Activity.Email]: [ + "mail", // includes gmail, proton mail, apple mail, canary mail, mailsprint, mailbird, edison mail + "outlook", // includes outlook.com + "thunderbird", + "gmail", + "hey", + "superhuman", + "spark", + "postbox", + "kiwi" + ], [Activity.Planning]: [ "backlog", + "atlassian", + "ical", + "calendly", + "hakuna", + "clocker", + "linear", + "getplan", + "airtable", + "omnifocus", + "tickctick", + "mattermost", + "airtable", + "productboard", "winproj", "trello", "wunderlist", @@ -136,7 +203,8 @@ const activityMappings = { "kalender", "sprint", "user story", - "plan", + "plan", // includes Microsoft Planner + "project", // includes Microsoft Project "microsoft to-do", "to-do", "todo", @@ -145,6 +213,8 @@ const activityMappings = { "vorgangsliste", "work item", "xmind", + "monday.com", + "clickup", "flowteams", ], [Activity.ReadWriteDocument]: [ @@ -152,18 +222,27 @@ const activityMappings = { "insight3", "snagiteditor", "confluence", - "picasa", + "form", // includes typeform, microsoft forms, google forms + "survey", // includes surveymonkey, surveyplanet + "jotform", + "qualtrics", + "mailchimp", + "grammarly", + "hubspot", + "autocad", "quora", - "windows photo viewer", "visio", "flashmedialiveencoder", - "photofiltre", "jmp", "treepad", "winword", "word", "leo", + "dictionary", "translate", + "deepl", + "translator", + "dict.cc", "übersetzer", "wordpress", "mspub", @@ -176,6 +255,8 @@ const activityMappings = { "excel", "powerpnt", "powerpoint", + "pages", + "keynote", "onenote", "evernote", "audacity", @@ -194,17 +275,17 @@ const activityMappings = { "docs", "maxqda", "office", - "paint", - "gimp", - "photoshop", - "lightroom", "miktex", "texmaker", "latex", + "goodnotes", + "ulysses", + "textedit", + "obsidian", + "overleaf", "texstudio", "latech studio", "photo", - "creative cloud", "foto", "picpick", "greenshot", @@ -212,30 +293,93 @@ const activityMappings = { "mendeley", "zotero", ], + [Activity.Design]: [ + "invisionapp.com", + "unsplash.com", + "readymag.com", + "jam.dev", + "canva.com", + "sketch", + "creative cloud", + "figma", + "zeplin", + "adobe illustrator", + "photoshop", + "adobe xd", + "indesign", + "picasa", + "illustrator", + "sketchUp", + "paint", + "windows photo viewer", + "photofiltre", + "gimp", + ], + [Activity.SocialMedia]: [ + "instagram", + "flickr", + "facebook", + "reddit", + "twitter", // we cannot match X since there will be many false-positives + "tumblr", + "threads", + "youtube", + "tiktok", + "snapchat", + "pinterest", + ], + [Activity.GenerativeAI]: [ + "openai", + "chatgpt", + "gpt", + "copilot", + "gemini", + "bard", + "claude", + "cohere", + "synthesia", + "dall-e", + "midjourney", + "generative", + "codewhisperer", + "tabnine", + "codewp", + "codesquire" + ], [Activity.InstantMessaging]: [ + "chat", // includes wechat, chatter "slack", "skype", "lync", - "wechat", - "sip", + "discord", + "sip", // includes MicroSIP + "mqtt", "g2mlauncher", - "ciscowebexstart", "nbrplay", "g2mui", - "chatter", "atmgr", "hangout", - "meet", + "meet", // includes Google Meet "viber", "messaging", "whatsapp", "messenger", "ctimon", + "bluejeans", "signal", + "threema", + "telegram", + "tandem", + "facetime", + "gotomeeting", + "ciscowebexstart", + "anydesk", + "ciscospark", "ciscojabber", "teams", "zoom", "basecamp", + "voip" // includes PhonerLite VoIP Softphone ], [Activity.FileNavigationInExplorer]: [ "finder", @@ -243,11 +387,14 @@ const activityMappings = { "speedcommander", "q-dir", "7zfm", - "dropbox", "everything", "winzip32", "winzip64", "winrar", + "drive", // includes onedrive, google drive + "box", // includes box, dropbox + "mega", + "icloud", ], [Activity.Other]: [ "mmc", @@ -267,14 +414,16 @@ const activityMappings = { "searchui", "pwsafe", "wuauclt", - "calc", + "calc", // includes calculator + "rechner", "wwahost", "update", "avpui", "procexp64", "taskmgr", + "activity monitor", + "clean my mac", "pgp", - "explorer", "groove", "spotify", "vlc media player", @@ -283,7 +432,6 @@ const activityMappings = { "rstrui", "snippingtool", "screenclippinghost", - "onedrive", "settings", "einstellungen", "ccleaner64", @@ -310,6 +458,7 @@ const activityMappings = { "vmconnect", "virtualbox", "vmware", + "remotedesktop", "vpxclient", "msiexec", "pageant", @@ -317,7 +466,6 @@ const activityMappings = { "mremote", "mremoteng", ], - [Activity.Gaming]: ["farcry4", "battle.net"], } as const; export default activityMappings; diff --git a/typescript/src/mappings/browsers.ts b/typescript/src/mappings/browsers.ts index a21f450..4883856 100644 --- a/typescript/src/mappings/browsers.ts +++ b/typescript/src/mappings/browsers.ts @@ -1,10 +1,17 @@ const browsers = [ + "arc", "brave", "chrome", + "chromium", "edge", "firefox", + "wavebox", + "mighty", + "sigmaos", "opera", "safari", + "tor", + "vivaldi" ]; export default browsers; diff --git a/typescript/src/mappings/editorApps.ts b/typescript/src/mappings/editorApps.ts index 45af73e..5c1ada3 100644 --- a/typescript/src/mappings/editorApps.ts +++ b/typescript/src/mappings/editorApps.ts @@ -1,5 +1,5 @@ const editorApps = [ - "notepad", + "notepad", // include notepad++ "xmlspy", "sublime", "emacs", diff --git a/typescript/src/mappings/workRelatedWebsites.ts b/typescript/src/mappings/workRelatedWebsites.ts index 4b197a8..5207fc7 100644 --- a/typescript/src/mappings/workRelatedWebsites.ts +++ b/typescript/src/mappings/workRelatedWebsites.ts @@ -14,21 +14,21 @@ const workRelatedWebsites = [ "business", "googleearth", "php", - "proffix", "centmin", - "picturex", "ios", - "schmelzmetall", - "natur- und tierpark goldau", - "tierpark", "amazon web service", "cyon", + "rize", "salesforce.com", "silverlight", "issue", "junit", "mylyn", "jetbrains", + "salesforce", + "sap", + "kindle", + "medium", "telerik", "testcomplete", "application lifecycle management", @@ -41,8 +41,6 @@ const workRelatedWebsites = [ "dashboard", "virtualbox", "document", - "dropbox", - "onedrive", "proxy", "jenkins", "databasics", diff --git a/typescript/src/mappings/workUnRelatedWebsites.ts b/typescript/src/mappings/workUnRelatedWebsites.ts index b791872..7aed6fb 100644 --- a/typescript/src/mappings/workUnRelatedWebsites.ts +++ b/typescript/src/mappings/workUnRelatedWebsites.ts @@ -1,9 +1,24 @@ const workUnRelatedWebsites = [ "yelp", "instagram", - "verge", + "theverge", + "newrepublic", + "nytimes", + "techcrunch", + "forbes", + "bloomberg", + "businessinsider", + "crunchbase", + "newyorker", + "theguardian", "season", "food", + "groupon", + "weather", + "bestbuy", + "glassdoor", + "vanguard", + "upwork", "vincere", "agar.io", "gopro", @@ -13,6 +28,11 @@ const workUnRelatedWebsites = [ "party", "swag", "birthday", + "steam", + "kayak", + "mmhmm", + "music", + "app store", "therapy", "vacation", "wohnung", @@ -22,6 +42,7 @@ const workUnRelatedWebsites = [ "hotel", "mietwagen", "rental", + "aliexpress", "credit", "hockeybuzz.com", "empatica", @@ -56,6 +77,7 @@ const workUnRelatedWebsites = [ "weekend", "sushi", "eat", + "etsy", "dessert", "restaurant", "holiday", @@ -66,7 +88,12 @@ const workUnRelatedWebsites = [ "shop", "shopping", "craigslist", - "vancouver", + "shift", + "indeed", + "ubereats", + "robinhood", + "chase", + "dailymail", "indoor", "club", "loan", @@ -74,6 +101,7 @@ const workUnRelatedWebsites = [ "flower", "florist", "valentine", + "temu", "zalando", "tripadvisor", "golem", @@ -93,9 +121,14 @@ const workUnRelatedWebsites = [ "national post", "sensecore", "core pro", - "| time", "hockey inside/out", "netflix", + "hbo", + "disney", + "hulu", + "football", + "espn", + "apple tv", "wired", "popular science", "habsrus", @@ -121,9 +154,7 @@ const workUnRelatedWebsites = [ "movie", "cinema", "kino", - "tumblr", "twitch", - "twitchui", ]; export default workUnRelatedWebsites; diff --git a/typescript/src/types/Activity.ts b/typescript/src/types/Activity.ts index fe51c2c..c2b509f 100644 --- a/typescript/src/types/Activity.ts +++ b/typescript/src/types/Activity.ts @@ -4,19 +4,20 @@ enum Activity { DevDebug = "DevDebug", DevReview = "DevReview", DevVc = "DevVc", - Email = "Email", Planning = "Planning", ReadWriteDocument = "ReadWriteDocument", + Design = "design", + GenerativeAI = "GenerativeAI", PlannedMeeting = "PlannedMeeting", - InformalMeeting = "InformalMeeting", - InstantMessaging = "InstantMessaging", // subcategory of InformalMeeting + Email = "Email", + InstantMessaging = "InstantMessaging", WorkRelatedBrowsing = "WorkRelatedBrowsing", WorkUnrelatedBrowsing = "WorkUnrelatedBrowsing", + SocialMedia = "SocialMedia", // sub-group of WorkUnrelatedBrowsing FileNavigationInExplorer = "FileNavigationInExplorer", Other = "Other", OtherRdp = "OtherRdp", Idle = "Idle", // all IDLE events that can't be mapped elsewhere - Gaming = "Gaming", Unknown = "Unknown", }