Thread Subject: Backward compatibility issue

Subject: Backward compatibility issue

From: Oleg Komarov

Date: 19 Nov, 2009 19:24:06

Message: 1 of 6

I'm writing this post to understand:
1) the tradeoff between backward compatibility and engine enhancements
2) and how to achieve it
3) to make a survey-like point on the backward compatibility and its importance

I will refer to backward compatibility or backward compatible as BC.
In particular:
1- how do you know if a function is BC with previous versions of matlab (to that u are actually using)
2- do you run tests on previous versions to establish the limits of a function
3- if yes how many matlab versions u have?
4- is there any available statistic on the number of users per matlab version?
5- do you ever change the function in order to accomodate for BC
6- does the engine worsen (in terms of speed or memory usage) to achieve BC
7- do you ever suppress some functionalities that are suited for the actual release but that are not supported by previous versions?
8- is there a way to measure the benefit of backward compatibility in terms of usage
9- which criteria you keep in mind when deciding the grade of BC of a function

Any feedback would be greatly appreciated, especially from users which make of BC a priority.
Useful links would also appreciated so that the whole community would benefit from them.

I started this post by the simple question...would BC raise my downloads?? Then i took a moment t reflect and ende up with this survey-like post.

Oleg

Subject: Backward compatibility issue

From: Oleg Komarov

Date: 27 Nov, 2009 20:46:00

Message: 2 of 6

It seems compatibility isn't really a subject of interest...or the interest lacks when it comes to answering :)

Oleg

Subject: Backward compatibility issue

From: Jan Simon

Date: 27 Nov, 2009 22:18:04

Message: 3 of 6

Dear Oleg!

> I started this post by the simple question...would BC raise my downloads?? Then i took a moment t reflect and ende up with this survey-like post.

Beside the bunch of interesting questions, the final question caught my attention:
> Would BC raise your download??

Which download? Do you mean the number of downloads of your files in the FileExchange?

Backward compatibility is an important question in my business. I'm creating programs for clinical decision making and the reliability is essential. Also we have several Matlab version, the actually processing is still performed in Matlab 6.5, because it has passed the tests. In consequence, all new features are avoided, but the modern MLint is helpful to maintain old sources also.

Now one of the customers decided for Matlab 2009b (e.g. due to some fixed bugs in the JIT). If I start to use the marvelous new features (BSXFUN! Anonymous function handles! 64 bit array access in Mex files! A modern Java! TYPECAST! FIND('first')! ...), I'm getting into troubles: If a new bug appears, it will be very hard to determine, if it is caused by the new Matlab working on old code or new code.
For this reason I will not use any new Matlab features for 12 month -- or I will created backports, e.g. TYPECAST was easily written as MEX (but as I found out later: I've allowed casting to and from CHAR arrays ==> I got a forward compatibility problem...).

Kind regards, Jan

Subject: Backward compatibility issue

From: Oleg Komarov

Date: 28 Nov, 2009 14:26:03

Message: 4 of 6

TO JAN:
> Beside the bunch of interesting questions, the final question caught my attention:
> > Would BC raise your download??
>
> Which download? Do you mean the number of downloads of your files in the FileExchange?

Yes, the FEX downloads. Even if my submisions may not be worth it (since i'm relatively new to matlab and programming in general), i thought that limiting my supply to the demand that complies with the newer versions of matlab isn't really a good choice. In fact you definitely answer my questions and i'm really thankfull that you took the time to do it.

Oleg

Subject: Backward compatibility issue

From: Jan Simon

Date: 28 Nov, 2009 17:56:03

Message: 5 of 6

Dear Oleg!

> > > Would BC raise your download??

Raising the downloads seems to me more and more mysterious. I do get the impression, that the number of downloads is not correlated to
1. the quality of the source code (with some exceptions),
2. the usability,
3. the rating.

Examples:
1. Draw a circle, Zhenhai Wang:
  http://www.mathworks.com/matlabcentral/fileexchange/2876
47 ratings with 4.2 average
12 lines of code programmed 2002 (I assume full backward compatibility). I'm still wondering in how many programs this function is used.
I assume that this is the optimal relation of prgramming time to number of downloads:
  1278 downloads (top 4 of the most downloaded files)

2. Draw an ellipse, Andrew Schwartz:
  http://www.mathworks.com/matlabcentral/fileexchange/25580
1 rating (it was me) with 5 stars.
This program is more powerful than the circle drawing, because it allows to draw a specific arc only. Naturally it involves drawing circles as well and I estimate that it is usable in user programs also.
 183 downloads

3. Call, Daniel Armyr:
  http://www.mathworks.com/matlabcentral/fileexchange/12650
Even the author itself rated its file with 1 star, because the builtin function SYSTEM is more powerful.
  80 downloads.

4. Noise Reduction using Averaging, Madhu S. Nair:
  http://www.mathworks.com/matlabcentral/fileexchange/13631
Here "noise reduction" means that random noise is added to the picture. Due to absence of decriptions and help, I rated this file with 1 star, because I find it neither useful nor usable. But it is backward compatible...
  127 downloads.

5. ISMEMBERF, Bruno Luong:
  http://www.mathworks.com/matlabcentral/fileexchange/23294
Looking and the frequently appearing questions in this newsgroup, comparing floating point numbers with a tolerance is urgently needed. The function is extremly usable due to the excellent documentation and Bruno's interest in fixing bugs and improving the performance.
1 rating (me again) of 5 stars.
  117 downloads.

If observed, that the number of downloads of my files decreased by 600 in a few days 2 weeks ago. This did not change the position of my publications in the list of files -- the downloads of the other authors decreased by a similar number! Which mechanism can create such effects?!

In addition you can find a lot of obvious selfrating and self-downloading using multiple accounts --- *not* for the files mentioned above.
Please do not misunderstand me: This is not a criticism or meta-rating. I do love "Draw a circle" --it is cult-- but I do not use it. I mentioned the examples above only to demonstrate, that I cannot find a direct correlation of number of downloads and usability/quality/charm/effiency/... (with some exceptions, of course).

My conclusion:
1. The number of downloads is not meaningful.
2. The rating is less meaningful as it should be.
3. A good idea would be to rate the raters :-) . A comment without rating from John D'Errico is more powerful than 10 comment-free 5 star ratings of users, which appears one time only for these ratings.
4. It is important, if the authors maintain their sources, fix bugs and react to comments.
5. Spend your time to write useful and usable functions.

Kind regards, Jan

Subject: Backward compatibility issue

From: Oleg Komarov

Date: 30 Nov, 2009 17:42:23

Message: 6 of 6

"Jan Simon" <matlab.THIS_YEAR@nMINUSsimon.de> wrote in message <hero7j$l27$1@fred.mathworks.com>...
> Dear Oleg!
>
> > > > Would BC raise your download??
>
> Raising the downloads seems to me more and more mysterious. I do get the impression, that the number of downloads is not correlated to
> 1. the quality of the source code (with some exceptions),
> 2. the usability,
> 3. the rating.
You certainly made your point clear but what i'm assuming is slightly different.
I think there is a relationship (more transparents than those you described, which i certainly aggre with) between the "potential" demand and the BC.
Also, my interest in raising the # of downloads will always come second to maintaining the usability and usefulness of the code.
Last but not least, i can't agree with you from a statistical point of view. In order to say that the quality of some code isn't totally related to the downloads, first some general robust statistics (the cases you listed can be considered outliers as well) need to be drawn (in fact in my first post i was asking if some already exist).
Rating the raters, i think would be a good proxy for the quality of a submission...but it won't prove the relations between downloads/quality/rating.

Oleg

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
backward Oleg Komarov 19 Nov, 2009 14:24:40
compatibility Oleg Komarov 19 Nov, 2009 14:24:40
survey Oleg Komarov 19 Nov, 2009 14:24:40
issue Oleg Komarov 19 Nov, 2009 14:24:40
function Oleg Komarov 19 Nov, 2009 14:24:40
rssFeed for this Thread

Contact us at files@mathworks.com