Closed reprogrammer closed 13 years ago
I think that popping up a reminder window would be much more effective than a small icon in the corner. A potential concern could be that the users might get annoyed by this pop up dialog, but considering that it would happen only when a new version is available and would go away after the update, I think it is fine. Besides, the users would be compelled to update CodingSpectator in order to get rid of this reminder.
Let's try it. The user can turn this feature off anyway by disabling update notifications. As long as we offer a way for them to turn this off it should be fine.
I tried following the steps I did in 8f05fb39f164bbdae802540b36af3f4349305e1b – that was a trial version that was never tested extensively.
I am not able to detect for any new updates. Here's what I did (some steps are necessary because you can't install into a debug/runtime instance of Eclipse and need a new regular instance)
That instance of Eclipse doesn't pick up the update using the mechanism in 8f05fb39f164bbdae802540b36af3f4349305e1b. Inspecting the console, we see:
Modal resolution: Status INFO: org.eclipse.equinox.p2.operations code=10000 No updates were found. null
I then tried to update manually using Help > Check for new updates and I can confirm that Eclipse can find the new version for CodingSpectator – meaning that there was nothing wrong with the generated update.
Our code is based on the code snippet on Eclipse help. Currently, we can update all of the installed plug-ins. We're looking for a way to update only CodingSpectator bundles.
I posted a question on stackoverflow about this issue. And, I forwarded my question to the Equinox forum.
I posted another question on stackoverflow and the Equinox forum related to this issue.
579e1fbd59003c04cc23bdbd59e51923eed761bb .. 814429fd277c400d0bdc43b2096674d68a826a77 use BundleUpdater to check for updates at the start up of Eclipse.
CodingSpectator opens the log-in dialog at the start-up of Eclipe. And, BundleUpdater may open the "Check for Updates" dialog at the start-up. In Eclipse, opening two dialogs at the same time is unusual and may confuse the user, specially if the "Check for Updates" dialog opens some error dialog due to the failure of some update sites. How do you suggest to open the two dialogs at different times?
To prevent the two dialogs from showing up at the same time, we can add a single plug-in that begins at the start up and opens the two dialogs one by one. To make the two dialogs decoupled from each other, the central coordinator plug-in will provide an extension point that our two dialogs (authentication and update) will use. The central coordinator will start its subscribers ordered by their priorities. Every subscribe has to notify the coordinator when it's done so that the coordinator can start the next subscriber.
@vazexqi, @Wanderer777: An alternative way to avoid two simultaneous dialogs is two always open one after the other. The submitter has a listener (edu.illinois.codingspectator.monitor.core.submission.SubmitterListener
) that notifies its subscribers when a submission is finished. We can check for updates right after the submission, i.e. in edu.illinois.codingspectator.monitor.core.submission.SubmitterListener.postSubmit(boolean)
. This solution is much easier than creating a centralized coordinator that shows the dialogs in order.
CodingSpectator is going to have two update sites for the Helios and Indigo releases of Eclipse. Therefore, CodingSpectator needs to know which update site to contact for available updates.
CodingSpectator should be able to determine the version of Eclipse it's running on by calling the method org.eclipse.ui.internal.ProductInfo.getAppVersion()
. If the resulting version corresponds to a Helios release, CodingSpectator should contact the update site for Helios. And, if the version belongs to an Indigo release, it should contact the Indigo update site.
This is in-reply to the way that you have chosen to do it. This has the implication that the user has to actually submit something right? If the user cancels then he/she will never see the update site? Is this something that we are fine with?
I think it is fine since if the user does not submit data, he/she is probably no longer interested in contributing and we should not bug him/her about installing a new version.
@vazexqi: Since we don't expect the users to update more frequently than upload data, it's fine to remind them to update after they upload data.
Initially, we reminded our users about new versions of CodingSpectator via e-mail. But, e-mail reminders proved to be ineffective. So, we turned on Eclipse notification mechanism in issue #173. As a result, our users will see a small icon at the bottom-right corner of Eclipse when a new version of any of their installed plug-ins is available. Turning on the Eclipse notification mechanism has increased the rate of users who update CodingSpectator. But, we might be able to improve it further.
One of our participants suggested us to pop up a dialog at Eclipse' start up when a new version of CodingSpectator is available. The idea is that a dialog will be more visible that a small icon at the corner of Eclipse and will increase the rate of users who upgrade CodingSpectator. What do you think about this suggestion? Do you think we should implement this kind of reminders? Do you have any other suggestions to improve update reminders?