For last two days I have been working on several interesting additions. Technically, these new functions almost ready for prime-time, but I don’t have a clear view how to release it and if I even want to release it to all users. This is the story:
First interesting thing - I have added an optional ability to catch page with images as a self-containing email. Yes, sounds cool, but in practice makes capturing much slower and increases traffic significantly. From another hand, switching all users to this “real” capturing may cause bunch of odd problems to some email apps. I have been shocked by observing behavior of very popular email clients handling such emails badly, and had to adjust my processing to satisfy some obvious bugs in those clients. Looks like nobody cares these days about an email with cids. I have tried to locate such email in my mailbox and found none. Anyway, currently ukeeper’s email with embedded images seems to be compatible with everything I have checked. I’m thinking of releasing this feature for some small number of users, at least for now.
Second thing - I have mostly completed pdf capturing. Should be good for some heavy sites with a lot of comments and ajax. Theoretically, could be a good replacement for existing drops.full mode, but practically generating pdfs requires a lot of cpu power and takes time. Probably I will have to add dedicated workers (virtual instances) just for pdf conversion and implement some sort of job distribution across multiple workers. Maybe I will have to put some limits on how many full pdfs each user can generate in an hour and failback to non-pdf version for over-limiting.
And the last thing - I’m trying to make Kindle’s users happy. All my attempts to make it cheap, i.e. to generate html attachment with embedded pictures, failed miserably. I believe kindle/amazon just can’t do it with such html. As far as I can judge the best way is to send pdf version for any request with forwarding email firstname.lastname@example.org but here we back to the previous set of problems.
This is the current status, feel free to comment.