1. A branched poly(amino ester) compound having the formula:
wherein
x is an integer between 1 and about 10,000;
each of R1, R2 and R3 is independently selected from the group consisting of hydrogen and hydrocarbyl;
each of R4, R5, R6, R7, R8 and R9 is independently selected from the group consisting of hydrogen and hydrocarbyl and alkyl;
each of L1 and L2 is N(\u2014R13\u2014)(\u2014R14\u2014)Z, wherein each of R13 and R14 is bonded to N and Z to form a cyclic structure, and wherein each of R10, R11, R13 and R14 is independently an optionally substituted C1-30alkylene; and each Z is independently selected from the group consisting of N, and CH, with the proviso that R1, R2, R3, R4, R5, R6, R7, R8, R9 and R12 cannot have a primary amino group, a secondary amino group, or a carbon-carbon double bond conjugated to a carbonyl group;
Y1 is selected from the group consisting of (alkylene)3CRc, wherein each Rc is independently selected from the group consisting of alkyl and aryl;
A is selected from the group consisting of optionally substituted piperazinyl, optionally substituted piperidinyl, optionally substituted azetidinyl, optionally substituted pyrrolidinyl, N-methyl piperazinyl, N-ethyl piperazinyl, and 1-methyl-4-methylamino-piperidinyl, and benzyl-1-piperazinyl carboxylate; and
each of B1 and B2 is independently selected from the group consisting of H and hydrocarbyl.
2. The compound of claim 1, wherein A is selected from the group consisting of, optionally substituted piperazinyl, optionally substituted piperidinyl, optionally substituted azetidinyl and optionally substituted pyrrolidinyl.
3. The compound of claim 1, wherein x is an integer from 1 to about 2000.
4. The compound of claim 1, having a polydispersity between about 1 and about 4.
5. The compound of claim 1, wherein Y1 is selected from the group consisting of (CH2)3CRc and (CH2)3SiRc.
6. The compound of claim 1, wherein each of R4, R5, R6, R7, R8 and R9 is H; and Y1 is (CH2)3CRc.
7. The compound of claim 1, wherein Y1 is (CH2)3CCH2CH3.
8. The compound of claim 1, wherein each of R4, R5, R6, R7, R8 and R9 is H; R1, R2 and R3 are H or C1-C8 hydrocarbyl; each R10 and R11 is independently an optionally substituted C1-30 alkylene; and Y1 is selected from the group consisting of (alkylene)3CCH2CH3 and (alkylene)3SiCH2CH3.
9. A pharmaceutical composition comprising a bioactive agent and a compound according to claim 1.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method performed by at least one computer processor executing computer program instructions stored on at least one non-transitory computer-readable medium, the method comprising:
receiving, by an activity management module executing on a computing device, activity input;
determining, by the activity management module, responsive to the received activity input, that a user of the computing device is engaged in a first activity;
modifying, by the activity management module, at least one field of a first activity data record to indicate that the user is engaged in the first activity;
receiving, by the activity management module, interruption input from a second activity;
receiving, by the activity management module, activity selection input from the user indicating a selection of the second activity to perform;
changing, by the activity management module, a value of a state field of the first activity to indicate the first activity has been postponed, responsive to the received activity selection input;
storing, by the activity management module, a reminder condition for the first activity;
changing, by the activity management module, a value of a state field of the second activity to indicate the second activity is active, responsive to the received activity selection input; and
manifesting, by the activity management module, to the user, a reminder to re-engage in the postponed first activity, using the reminder condition and responsive to the value of the state field of the second activity changing.
2. The method of claim 1, wherein receiving the activity input comprises receiving activity input manually provided by the user of the computing device.
3. The method of claim 1, wherein determining comprises determining, by the activity management module, using context data included in the received activity input, that the user is engaged in the first activity.
4. The method of claim 1, wherein determining comprises determining, using activity data indicating the user is responding to a communication from the first activity, that the user is engaged in the first activity.
5. The method of claim 1, wherein receiving the interruption input comprises receiving data that represents an opportunity for the user to engage in the second activity.
6. The method of claim 1, wherein receiving the interruption input comprises receiving an incoming message addressed to the user.
7. The method of claim 1, wherein receiving the interruption input comprises receiving a request by a second user for the user to engage in the second activity.
8. The method of claim 1, wherein receiving the interruption input comprises receiving data indicating that the user is engaged in the second activity.
9. The method of claim 1, further comprising providing, by the activity management module, to the user, a prompt for the activity selection input.
10. The method of claim 9, wherein providing the prompt comprises providing the user with an option to continue performing the first activity.
11. The method of claim 9, wherein providing the prompt comprises providing the user with an option to switch to performing the second activity.
12. The method of claim 1, wherein receiving the activity selection input comprises performance, by the user, of an action that is part of the second activity.
13. The method of claim 1, wherein storing the reminder condition comprises:
selecting the reminder condition of the first activity to store by receiving input from the user specifying the reminder condition; and
selecting the reminder condition using the user input.
14. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to receiving input provided by the user requesting that the activity management module inform the user of at least one postponed activity.
15. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity has been completed.
16. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity has been postponed.
17. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that the user is not engaged in any active activity.
18. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that a current time satisfies the reminder condition.
19. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity postponed the first activity.
20. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity postponed the first activity at least a predetermined amount of time earlier than a current time.
21. The method of claim 1, wherein manifesting comprises manifesting the reminder responsive to determining that the reminder condition has been satisfied.
22. The method of claim 1, further comprising automatically causing, by the activity management module, the postponed first activity to become a current activity of the user.
23. The method of claim 22, further comprising automatically causing the postponed first activity to become the current activity of the user upon determining that the user completed the second activity.
24. The method of claim 1, wherein manifesting comprises creating, by the activity management module, a sorted list of postponed activities.
25. The method of claim 1, further comprising:
accessing, by the activity management module, a calendar entry of the second activity to determine a time at which the second activity concludes; and
upon conclusion of the second activity, providing, by the activity management module, the interruption input to the user.
26. A system comprising at least one non-transitory computer-readable medium containing computer program instructions, wherein the computer program instructions are executable by at least one computer processor to perform a method, the method comprising:
receiving, by an activity management module executing on a computing device, activity input;
determining, by the activity management module, responsive to the received activity input, that a user of the computing device is engaged in a first activity;
modifying, by the activity management module, at least one field of a first activity data record to indicate that the user is engaged in the first activity;
receiving, by the activity management module, interruption input from a second activity;
receiving, by the activity management module, activity selection input from the user indicating a selection of the second activity to perform;
changing, by the activity management module, a value of a state field of the first activity to indicate the first activity has been postponed, responsive to the received activity selection input;
storing, by the activity management module, a reminder condition for the first activity;
changing, by the activity management module, a value of a state field of the second activity to indicate the second activity is active, responsive to the received activity selection input; and
manifesting, by the activity management module, to the user, a reminder to re-engage in the postponed first activity, using the reminder condition and responsive to the value of the state field of the second activity changing.
27. The system of claim 26, wherein receiving the activity input comprises receiving activity input manually provided by the user of the computing device.
28. The system of claim 26, wherein determining comprises determining, by the activity management module, using context data included in the received activity input, that the user is engaged in the first activity.
29. The system of claim 26, wherein determining comprises determining, using activity data indicating the user is responding to a communication from the first activity, that the user is engaged in the first activity.
30. The system of claim 26, wherein receiving the interruption input comprises receiving data that represents an opportunity for the user to engage in the second activity.
31. The system of claim 26, wherein receiving the interruption input comprises receiving an incoming message addressed to the user.
32. The system of claim 26, wherein receiving the interruption input comprises receiving a request by a second user for the user to engage in the second activity.
33. The system of claim 26, wherein receiving the interruption input comprises receiving data indicating that the user is engaged in the second activity.
34. The system of claim 26, wherein the method further comprises providing, by the activity management module, to the user, a prompt for the activity selection input.
35. The system of claim 34, wherein providing the prompt comprises providing the user with an option to continue performing the first activity.
36. The system of claim 34, wherein providing the prompt comprises providing the user with an option to switch to performing the second activity.
37. The system of claim 26, wherein receiving the activity selection input comprises performance, by the user, of an action that is part of the second activity.
38. The system of claim 26, wherein storing the reminder condition comprises:
selecting the reminder condition of the first activity to store by receiving input from the user specifying the reminder condition; and
selecting the reminder condition using the user input.
39. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to receiving input provided by the user requesting that the activity management module inform the user of at least one postponed activity.
40. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity has been completed.
41. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity has been postponed.
42. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that the user is not engaged in any active activity.
43. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that a current time satisfies the reminder condition.
44. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity postponed the first activity.
45. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that the second activity postponed the first activity at least a predetermined amount of time earlier than a current time.
46. The system of claim 26, wherein manifesting comprises manifesting the reminder responsive to determining that the reminder condition has been satisfied.
47. The system of claim 26, wherein the method further comprises automatically causing, by the activity management module, the postponed first activity to become a current activity of the user.
48. The system of claim 47, wherein the method further comprises automatically causing the postponed first activity to become the current activity of the user upon determining that the user completed the second activity.
49. The system of claim 47, wherein manifesting comprises creating, by the activity management module, a sorted list of postponed activities.
50. The system of claim 26, further comprising:
accessing, by the activity management module, a calendar entry of the second activity to determine a time at which the second activity concludes; and
upon conclusion of the second activity, providing, by the activity management module, the interruption input to the user.