Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
What is the model for the File Exchange?

Subject: What is the model for the File Exchange?

From: Ned Gulley

Date: 2 Apr, 2009 17:48:01

Message: 1 of 6

Broadly speaking, there are two ways of thinking about a content distribution site like the File Exchange. It can be exclusive, with inbound filters that block access to all but the best content. Anyone who downloads content from such a site can, in theory, be assured of its worth. The other model is to make the site inclusive, so that very little content is filtered on the way in, but then filters can applied on the way out. These outbound filters, if well made, can also provide some assurance of quality content.

We might call these two models filter-then-publish (exclusive) and publish-then-filter (inclusive).

If you strongly believe in the exclusive filter-then-publish model, it can be disheartening to find bad content of any kind anywhere on the site. It is an unwelcome intrusion. But if you believe in a publish-then-filter approach, it becomes less contentious whether or not any given file meets your particular standards of excellence. You can think of the growing content as valuable ore to be mined.

To make these scenarios more concrete, a refereed journal is exclusive, and a photo-sharing site like Flickr or Picasa is inclusive. My snapshots may not be interesting to you, but they are probably interesting somebody out there.

The exclusive refereed model is appealing, but the filtering process is time-consuming. Beyond this, there is the problem of the definition of excellence. Who is to decide? How is this group of judges chosen? Everyone has their own standards for excellence that vary along the dimensions of utility, algorithmic quality, coding standards, and domain knowledge. Whose standards will be enshrined for all to abide by? Can any standard be consistently applied?

For these reasons, we believe it's appropriate and important to move the File Exchange in the direction of inclusivity with outbound filters. That doesn't mean we think everything is perfect now. We believe that there is a lot we can do to improve the filtering so that you don't see files that you don't care to see. But we believe that there is room enough for everyone to contribute, so long as the code runs, is not malicious, and is offered in good faith. The tent is big, and civility matters. By working with, rather than rejecting outright, the work of naive newcomers, we can help them grow into pillars of this community. Keep in mind the people behind the code. We all started somewhere, and everyone is on their own trajectory of learning.

Help us design an interface that make the use of the site more pleasant. Tell us your preferred mental model of the File Exchange. But please try to recognize there is room enough for many kinds of contributions.

Ned Gulley
MATLAB Central Team

Subject: What is the model for the File Exchange?

From: Helen Chen

Date: 2 Apr, 2009 19:30:20

Message: 2 of 6

Thanks Ned, there are some very good thoughts here. I'll add a couple of thoughts that come to mind:

Ned > For these reasons, we believe it's appropriate and important to move the File Exchange in the direction of inclusivity with outbound filters. That doesn't mean we think everything is perfect now. We believe that there is a lot we can do to improve the filtering so that you don't see files that you don't care to see. But we believe that there is room enough for everyone to contribute, so long as the code runs, is not malicious, and is offered in good faith. The tent is big, and civility matters. By working with, rather than rejecting outright, the work of naive newcomers, we can help them grow into pillars of this community. Keep in mind the people behind the code. We all started somewhere, and everyone is on their own trajectory of learning.
>

HC> Sometimes we find that community contributions can create value in many different ways. In the exclusive model, everything is perfect and can be used as is.

However, sometimes submissions can provide value in another way - look at the submissions that inspired others to create new submission. I think those are really great too. I've heard from many developers that although a solution didn't provide an exact solution, it was food for thought or starting code down the path to the correct solution. This is good too - we are evolving the code base. (But don't forget to share your new creations with others too! You could have created a solution or inspiration for another community member.)

Ned > Help us design an interface that make the use of the site more pleasant. Tell us your preferred mental model of the File Exchange. But please try to recognize there is room enough for many kinds of contributions.
>

HC> Most of the changes that we have made since I have joined the team have been because of discussions with our community members. Your thoughts inspire us.

I will be the first to acknowledge that development takes time, and sometimes people suggest great ideas but it takes a while for us to implement. Also, as much as we'd love to we cannot implement every suggestion made, but like a file on File Exchange, your suggestions do inspire our planning, so do share with us. We love hearing from you!

Best,
Helen

Subject: What is the model for the File Exchange?

From: Jos

Date: 2 Apr, 2009 20:20:02

Message: 3 of 6

"Helen Chen" <helen.chen@mathworks.com> wrote in message <gr33oc$31u$1@fred.mathworks.com>...

Here is a simple suggestion that will greatly enhance the FEX whilst allowing all kind of submissions etc.:

allow a user to filter out (!) files based on a certain tag or combination of tag and the user who applied it

Jos

Subject: What is the model for the File Exchange?

From: John D'Errico

Date: 2 Apr, 2009 20:58:01

Message: 4 of 6

"Ned Gulley" <gulley@mathworks.com> wrote in message <gr2toh$n4k$1@fred.mathworks.com>...

> For these reasons, we believe it's appropriate and important to move the File Exchange in the direction of inclusivity with outbound filters. That doesn't mean we think everything is perfect now. We believe that there is a lot we can do to improve the filtering so that you don't see files that you don't care to see. But we believe that there is room enough for everyone to contribute, so long as the code runs, is not malicious, and is offered in good faith. The tent is big, and civility matters. By working with, rather than rejecting outright, the work of naive newcomers, we can help them grow into pillars of this community. Keep in mind the people behind the code. We all started somewhere, and everyone is on their own trajectory of learning.
>
> Help us design an interface that make the use of the site more pleasant. Tell us your preferred mental model of the File Exchange. But please try to recognize there is room enough for many kinds of contributions.
>

I recognize there are various goals for a file exchange.

The problem with an all inclusive tent is you need
to make it work for all users. My own tendency is
to look at two aspects:

- A teaching component. Users and students can
emulate examples from the FEX as well written code.
The problem here is if you put dreck on the FEX, a
student will have no idea what is good and what is
not. Bad habits learned early in a career must then
be broken.

- A repository of useful code, filling the niches that
The Mathworks has not filled with their toolboxes.
TMW cannot write code to solve all problems. So
they naturally target the big problems, the things
that many users will find valuable. And of course,
TMW has only finite resources. So in some cases
they may not have an expert resource to write the
necessary tools for them. The FEX provides a source
to fill in the gaps.

Surely there will be other aspects of the FEX. As Ned
has said, the tent can be big, covering many goals.
But if you expand the tent, you still need to serve
the goals above.

For example, one might choose to push the FEX
and Matlab Central more in the direction of a social
networking site for Matlab users. Or, some might
wish to use it for homework exchange (not that
I'd be happy to see that happen.) Another direction
for the FEX is to provide beta code. There are
surely many utilities out there that are not fully
complete, but the author would like some feedback.

I won't dispute that some subsets of users might
look for all of these things in a file exchange. At
the same time, the FEX must still serve the goals I
mentioned above. It must work easily for those
users still.

Finally, the tools must encourage people to be
good citizens of this forum. When I've seen any
site like this fail, a common characteristic was
they did not keep it well enough moderated, and
they provided incentives for the wrong things.

Some moderation is valuable, regardless if it is
provided from the more heavy users or from
administrative staff. The problem with paid
moderation is it cost money. So dynamic user
moderation makes more sense.

John

Subject: What is the model for the File Exchange?

From: John D'Errico

Date: 2 Apr, 2009 21:04:01

Message: 5 of 6

"Jos " <#10584@fileexchange.com> wrote in message <gr36li$fst$1@fred.mathworks.com>...
> "Helen Chen" <helen.chen@mathworks.com> wrote in message <gr33oc$31u$1@fred.mathworks.com>...
>
> Here is a simple suggestion that will greatly enhance the FEX whilst allowing all kind of submissions etc.:
>
> allow a user to filter out (!) files based on a certain tag or combination of tag and the user who applied it
>
> Jos

My recommendation is that this, while valuable, must
be made automatic.

If I know that a certain (unspecified user) is always
uploading spam, I must have a way to easily add that
user (or tag) to an "ignore" list. A problem is that
if you do a search on the FEX for certain common
keywords, you might find 70 some pieces of spam to
sift through, plus a few truly useful submissions from
other users.

The spammers, once they can be ignored, will tend
to drift away.

John

Subject: What is the model for the File Exchange?

From: Bjorn Gustavsson

Date: 7 Apr, 2009 09:04:01

Message: 6 of 6

Just a few small comments...

"Helen Chen" <helen.chen@mathworks.com> wrote in message <gr33oc$31u$1@fred.mathworks.com>...
> Thanks Ned, there are some very good thoughts here. I'll add a couple of thoughts that
> come to mind:
>
> Ned > For these reasons, we believe it's appropriate and important to move the File
> Exchange in the direction of inclusivity with outbound filters. That doesn't mean we think
> everything is perfect now. We believe that there is a lot we can do to improve the
> filtering so that you don't see files that you don't care to see. But we believe that there is
> room enough for everyone to contribute, so long as the code runs, is not malicious, and
> is offered in good faith. The tent is big, and civility matters. By working with, rather than
> rejecting outright, the work of naive newcomers, we can help them grow into pillars of
> this community. Keep in mind the people behind the code. We all started somewhere,
> and everyone is on their own trajectory of learning.
>
I still remember when I found the FEX, it was a great source of tools that helped me shortcut months of work and reading in providing code solving problems I needed to solve.

I remember that before writing functions for doing this that or the other, I took a quick look at the FEX to see if there already was some tool already there. Often there was, and another week of toil was replaced with a quick download and a coffee break.

I also remember the trepidation and care I took before uploading my first contribution, making sure that the functions I supplied wasn't available and working.

I still fail to understand what anyone can benefit from the umpteenth Gaussian elimination or whatever already exists in piles. That time would be better spent by the author writing something not yet available. When I found that some of what I'd done was useful to me, and not available at the FEX, I figured that it might be useful to someone else too.
>
> HC> Sometimes we find that community contributions can create value in many different
> ways. In the exclusive model, everything is perfect and can be used as is.
>
> However, sometimes submissions can provide value in another way - look at the
> submissions that inspired others to create new submission. I think those are really great
> too. I've heard from many developers that although a solution didn't provide an exact
> solution, it was food for thought or starting code down the path to the correct solution.
> This is good too - we are evolving the code base. (But don't forget to share your new
> creations with others too! You could have created a solution or inspiration for another
> community member.)
>
This sounds good. I'd appreciate if you could expand a little on for example how the different Savitsky-Golay (sp?) filters available are all useful in this regards.
>
> Ned > Help us design an interface that make the use of the site more pleasant. Tell us
> your preferred mental model of the File Exchange. But please try to recognize there is
> room enough for many kinds of contributions.
>
Since you obviously take your time to inform the authors of comments that and why their comment will be removed, I request that you:
When "yet another function" for something that already exists in one or several contributions, require the author to explain the difference between his/her and the others. This explanation should then go into the file description.

This would be a most helpful way to guide a newcomer to the good practice of searching for tools at the FEX, learning from code available, and contributing with useful new tools.

USEFUL is the keyword. The n-th Gaussian elimination script is hardly useful in any way.

My firm opinions.

Tags for this Thread

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.

Contact us