Posts Tagged ‘greasemonkey’
I often build nice tools for myself, often customize them to myself with no regard for what a general users wants or needs. This is because it’s for me, and not for another, before I decide whether I release this under GPL or try to sell it I always ask myself the following questions before I make it ready to ship:
- Is there really a problem?
- Does my audience have this problem?
- Is there a solution which is better for my audience?
Let me take you through my thought process so you might better understand what I mean.
Is there really a problem?
In the case of some solutions I create, like the Roxen CMS or the YouTube Unsubscribe scripts I wrote, there really is a problem for others and myself. This doesn’t mean that everybody has this problem, just that I have it and that others probably have it too. It a problem with an easy solution, and something which can be quickly put together and released.
With other things I create, such as my script to take the items I download with Juice and order them in bundles sorted by audio, video, document or other, there is a clear problem for me, and this might not be a problem for others or this might not be the solution for others.
Does my audience have this problem?
In the case of the YouTube scripts there was clearly a problem for others, this functionality was not available. For Roxen CMS it was a case of this making life easier. Looking even further back I wrote a script which added a mark (un)read button for GMail rather than going into a pulldown menu to mark (un)read, this was downloaded quite a number of times and offered something that Google was not offering at that time.
Is there a solution which is better for my audience?
This is always a question, the solution I create is often the best for me or the best which was available at the time. It doesn’t have to be a good solution for others at all, it might not even work for others because it is too customized to my user experience that it neglects the user experience of others.
Taking the case of the Juice script all the directories are hardcoded for my system, they might work for somebody else and they aren’t designed to. The current version doesn’t clean up after itself, which means there is quite some mess left after the scripts are run. It deletes everything it doesn’t know, so it doesn’t take into account things that my audience might want such as images.
Image source: arjin j
Four years ago I was working on a project using Roxen CMS for a company, I wrote a userscript which could be used with GreaseMonkey to enhance the CMS we were using. The script was obviously written in customer time, and was paid for by the customer. As I often do I agreed with the customer that we release this to the community at large under GPL license. We gained bug reports, feedback and enhancement suggestions, which I used to enhance the script for everybody’s benefit.
4 years later there are not very many people who I know use the script, although I know one of the largest payrolling service in the Netherlands does. I recently was searching through my mail and the mails exchanged came up in the search results, so I mailed and inquired whether they were still using the script. I got a mail back and was told that they had been using it for the last 4 years, but that it would be broken when they migrated to the new version of a system. So naturally I offered to fix it for them and said I would come back with a time frame and costs. I had thought that it would probably take about 2 hours, but hadn’t said this. They were shocked at my response, their follow-up response was:
“Well, the first script I also downloaded from userscripts.org […] That was and is all free.”
Naturally I wrote back and explained that my original customer had paid for it and made it available, and that there were costs involved in the production of the script. They answered saying that they didn’t want the changes if they needed to pay for them. They obviously expect free beer too.
You can find the old script here: Roxen CMS, not it might not work with the new Roxen CMS.
Image source: John Rutter
In 2010 I was less focussed on programming articles on the blog than previous years, still I have managed to create some interesting articles with code in 2010. This is an overview of the activity:
The only questions that are asked in the Daily Scrum, aka Stand-Up, are: What…
UPDATE: GMail has introduced my number 3. YEAH! (Gmail introduces Priority In…
I like YouTube, and often subscribe to new channels and unsubscribe after a w…
Since I started working for my company I’ve been exposed to PCI DSS (Pa…
I don’t understand why url expansion after url shortening is such an is…
VeriSign – Personal Identity Portal is a OpenID provider with multiple …
Image source D’Arcy Norman
I like YouTube, and often subscribe to new channels and unsubscribe after a while. There is a lot of good stuff on YouTube, and a lot of rubbish. YouTube has been smart in making it possible to easily add channels, and in my opinion they have put less thought into making it easy to leave the channels. In the case of multiple channels I would either need to go to each of the channels and remove them one by one, or I would go to My Feeds / My Subscriptions and remove them one by one from there. In both cases I need to modify the subscription settings shown below.
My issue with this is not that it takes a long time, although that is certainly a small factor. Or that having subscription management for a channel is overkill when I just want to leave a channel. Personally I believe that it should be manageable from one page, just push of a button, like subscribing. And it wasn’t, until today.
In the /. JE “ Journal Protection in GreaseMonkey.” I wrote about this script which saves your JE’s if you’ve previewed them once. When I went to edit it I noticed it was buggy – not the code mind you, the include page URLs didn’t cover the pages the JE was posted to. That’s fixed.
I actually noticed it while adding a feature to save the last comment made. I might add a save last 10 comments feature, in the future.
If you want the update press: here
(I’d write a version for 360°, but I’d have to figure out how to post it correctly to the server too. That way I don’t get in trouble with any stupid race conditions)