-
Better/more minimalistic view for mobile.
Maybe it should be text only?
The table columns take up way too much space.
- Make the email text all streamlined, where it shows picture, followed by who wrote it, followed by the email body followed by respond/ignore buttons. - THe respond/remove buttons should be larger on iphones (make them responsive?) - The remove button should be "ignore" - The text should be larger. Much larger. Can't read it on my iphone. - What about making the "Respond" button open up to the basic html interface? That could speed things up. - Look at Ramit Seethi's emails; his are easy to read on a phone. - Change the "Reply" button to redirect to site, then to Gmail compose.
-
Implement capistrabo deoploys; should recompile assets on deploy and restart sidekiq
-
Bug in displaying text with slashes (e.g. the text “100/hr” only shows the “/hr”).
-
Buy a bunch of private proxies and route the Rapportive requests through that www.myprivateproxy.net/buy.php
-
Email analysis optimization: don’t do a rapportive lookup unless the email is last in the thread (otherwise you won’t need it and the image may never be displayed)
-
Look at ActiveJob not just for scheduling sidekiq jobs, but delivering the FollowupMailer.daily as well (update devise?)
-
Setup Mixpanel
-
Signups
-
Unsubscribes
-
Daily summary mail read
-
Daily summary mail sent
-
Privacy Policy
-
Deploy to Heroku failed; git push is too big I think with the NLP libraries..
-
Get build of talon working on the CI server. Check in that build too (maybe build to another director; unbuntu_build?)
-
How to make this performant when someone requests for the first time?
– FollowupWorker just creates the gmail object pool – FollowupInboxWorker accesses the gmail object poll and downloads the emails for a given day – FollowupEmailWorker processes an email – EmailProfileInfoWorker downloads info for a given email – EmailProfileImageWorker downloads info for a given email
– What about just downloading the subject/headers? If they pass the first round of filters, then download the body?
– What about creating a sidekiq job (or Thread?) for each day that we need to download emails for. So single gmail object (stor
– Is it possible to request multiple messages in parallel (e.msg) since this is the most time consuming?
– Start a bunch of sidekiq jobs to process email and download images? – Use the new ActiveJob?
-- Requires devise update ( https://github.com/plataformatec/devise/pull/3153) to get to Rails 4.2
-
Why isn’t this message showing up in sent? mail.google.com/mail/u/0/#sent/14803bf68ba0bd00
-
The Python program will need to be recompiled under Unbuntu – Is there a way to maintain both compiles? Control by symlink?
-
Cron job to schedule the sending of daily emails
-
Remove an email from the list (to stop the tracking)
-
Refine the “followup” scenario; when someone hasn’t responded, call that out.
-
Have the user specify their timeone
-
Put up a minimal homepage
-
Deploy to Heroku; queues running on BlueVM
-
Respond to email inline?
-
Implement images for the individual emails. Can query rapportive with this gem :
patrickperey.com/find-anyones-email-a-ruby-script/ github.com/the4dpatrick/possible-email – Done
-
Create a model “EmailThread” that has_many :emails
-
The thread model contains a timestamp of the last email in the thread.
– Done
-
Can query the thread for followup? (one email sent from owner, no response) or response? (lots of emails, last email had questions in it). – Done
– PossibleEmail returns an empty response iobject when nothing is found, but when somethign is found
the data element is on the response object. Querying for whether a the data element is on the object is just weird -- Remove any of the puts statements. They're extraneous. -- text = <<-TEXT
-
Hey -
Social Distortion is playing in Sacramento on Thursday, October 2nd. www.socialdistortion.com/tours/
If I bought the tickets, would you want to go?
Jim
TEXT require 'stanford-core-nlp' StanfordCoreNLP.jar_path = "/Users/aantix/dev/followup/libs/stanford-core-nlp-full/" StanfordCoreNLP.model_path = "/Users/aantix/dev/followup/libs/stanford-core-nlp-full/" new_text = text.gsub("\n", " ") pipeline = StanfordCoreNLP.load(:tokenize, :ssplit, :pos, :lemma, :parse, :ner, :dcoref) ttext = StanfordCoreNLP::Annotation.new(new_text) pipeline.annotate(ttext) i = 0 ttext.get(:sentences).each do |sentence| puts "#{i} - #{sentence.to_s}" i+=1 end