A method for tracking mobile device software errors, the method comprising: receiving, by a mobile device, an indication of a motion of the mobile device, wherein the motion of the mobile device indicates a shaking of the mobile device; capturing, by the mobile device, in response to the indication of the motion, at least one of the following error diagnostic information: an image displayed on a screen of the mobile device at a time when the indication of the motion was received, an information pertaining to a user of the mobile device, or a log of a session of the mobile device preceding the time when the indication of the motion was received; generating, by the mobile device, an error report including the at least one error diagnostic information; prompting the user of the mobile device, by the mobile device, to authorize a submission of the error report to a server; submitting, by the mobile device, in response to an authorization by the user of the mobile device, the error report to the server via a network; subscribing, by the mobile device, the user of the mobile device to a tracking of the error report, wherein the tracking comprises: receiving, by the mobile device, a progress status of a software error indicated by the error report, from the server via the network, wherein the progress status is an indication of at least one of: the software error has previously been reported by a second user, a solution for the software error is pending, or the solution for the software error has been found; and providing, by the mobile device, via a user interface of the mobile device, an indication, to the user of the mobile device, of the progress status of the software error indicated by the error report. receiving, by a mobile device, an indication of a motion of the mobile device, wherein the motion of the mobile device indicates a shaking of the mobile device; capturing, by the mobile device, in response to the indication of the motion, at least one of the following error diagnostic information: an image displayed on a screen of the mobile device at a time when the indication of the motion was received, an information pertaining to a user of the mobile device, or a log of a session of the mobile device preceding the time when the indication of the motion was received; an image displayed on a screen of the mobile device at a time when the indication of the motion was received, an information pertaining to a user of the mobile device, or a log of a session of the mobile device preceding the time when the indication of the motion was received; generating, by the mobile device, an error report including the at least one error diagnostic information; prompting the user of the mobile device, by the mobile device, to authorize a submission of the error report to a server; submitting, by the mobile device, in response to an authorization by the user of the mobile device, the error report to the server via a network; subscribing, by the mobile device, the user of the mobile device to a tracking of the error report, wherein the tracking comprises: receiving, by the mobile device, a progress status of a software error indicated by the error report, from the server via the network, wherein the progress status is an indication of at least one of: the software error has previously been reported by a second user, a solution for the software error is pending, or the solution for the software error has been found; and providing, by the mobile device, via a user interface of the mobile device, an indication, to the user of the mobile device, of the progress status of the software error indicated by the error report. receiving, by the mobile device, a progress status of a software error indicated by the error report, from the server via the network, wherein the progress status is an indication of at least one of: the software error has previously been reported by a second user, a solution for the software error is pending, or the solution for the software error has been found; and the software error has previously been reported by a second user, a solution for the software error is pending, or the solution for the software error has been found; and providing, by the mobile device, via a user interface of the mobile device, an indication, to the user of the mobile device, of the progress status of the software error indicated by the error report.