Defining a Community. Why is Ours Lost?

For other topics related to the FreeBASIC project or its community.
Pritchard
Posts: 5425
Joined: Sep 12, 2005 20:06
Location: Ohio, USA

Defining a Community. Why is Ours Lost?

Postby Pritchard » Dec 11, 2007 12:55

QBasic arguably had one of the greatest programming communities in existence. Everyone got together to do everything. People coded things and posted them and were generally congratulated, or given friendly tips, generally ignoring how terrible any single piece of code was. The single action of getting text input and affecting a single stat based on what number was given was an amazing feat - Maybe not amazing in the intuitive sense, but amazing in that it was entertaining.

QBasic was naturally fun. Why is this though? It wasn't just the language. It was the community. Can they be related?


Let's define what a community is. FreeBASIC does not have as friendly as a community as QBasic. It may have a larger one, but it simply does not feel like home to the larger majority of members.

In a general programming site, you post question, you get answers. You post a library, you get critiqued as well as recommendations as to what library you should be using instead of doing all this work yourself. General Programming has lots and lots of libraries. Libraries that are capable of doing more than a large fraction of programmers will ever do in their life time. A single library that is more capable than you are, and more capable than you will ever be regarding this one subject. It's not only more optimized, but also far more capable.

With these libraries, reinventing the wheel yourself is absolutely stupid. You are not only critiqued when it comes to more major libraries, but ridiculed. You are reinventing the wheel in a case where no advantages are gained, and you are wasting everyone's time. Stop programming your library right now, use the one that already exists, extend it if necessary or possible, and post your extension to the library.

This isn't very friendly, but it's very real. Programming Communities LOVE their sets of available tools. Programmers love creating new content, and they like being able to create more of it with less work.


QBasic didn't have all these neat libraries available. Just about everything we used was community created. At one point or another in time, a library you used had been created by a member of the community, most-likely. A lot of them moved on to C before you even knew what QB was. Some more recently moved onto Java, and had finally decided to stop ghosting the forums and drop QB altogether. That's what programming in QB was like if you were in the QMunity. Everything was created by the community.

A large part in community effort and that "home" feeling you get is that everyone seems human. No one seems just like some businessman who created this library, or this random group of nameless contributors who no one really knows. In a thriving community, all content creators are known. They are praised. They are encouraged. QBasic was a very limited language. We didn't have all these libraries, so most of the time you were reinventing the wheel, but no one really cared.

QBasic wasn't even *capable* of library standards as modern languages know them, so people were always able to post their own ways to deal with certain concepts and not have to worry about being yelled at about reinventing the wheel, or having some nameless contributor already having beaten them to what they were doing. Everyone was reinventing the wheel. It was just so necessary, and so damned fun and easy. You always felt that even if you were sharing something someone else already has, that your work is special.

A Community has contribution. Not just the nameless creation of libraries. I mean contribution to the community. You create a library, or post a useful function, or make a small game that's basic but entertaining - The community itself changes. People begin to think differently. Your little home in the community has just been upgraded with a garage, and you're storing all your QB code in it for people to stop buy and check out every now and then. It was fun.


Given that QB was limited, and it was only possible to create certain contents in it, is this to say that a community can only exist when tools and resources are lacking, and we're all "on our own"? I don't think so. The QMunity wasn't defined by the fact that tools were lacking and capabilities were low. It was competitive, and it was open competition.

Back to one of my original points in this article - Libraries are there which you will never be able to enhance in a way that someone else already hasn't, or hasn't done better. Libraries exist that do just about everything you've ever thought of. If you're lucky enough to make a library easier to use for your specific language, that's great, and it is closer to that community feeling, but it's just another form of extending that already existing library which you've made easier to use.

The FreeBASIC Market just isn't very competitive right now. It's not very open. It's not really amazing. I don't know what exactly it is, but it's not a QMunity, that's for sure. It's not a C forum. Visit the FreeBASIC IRC, or post in the forums, and you'll see that we're still a loosely tied community in that we're willing to help people and accept new members at any given moment. We accept the idea of newcomers, although having gone from QB to FB, we also are beginning to see the use of more standard libraries that are available to us.


Unlike more standard languages which already have most every library with a ported header file, examples, and ease of usability, the FreeBASIC Community is still in the middle of porting all of these libraries over and making things easier to use. The easier things come to be through the use of libraries, and the more experience our programmers get with real world applications, the more and more you'll see Design and Development suggestions, flames about reinventing the wheel, etc. Not because we're going cruel, but because these suggestions make sense.

One area of competitiveness that still exists in FB, and I believe that this is SOLELY for the fact that QB implemented graphics so easily - is the area of game development. Unlike general programming, you can make a game with bad graphics, archaic game play, and terrible music, but still somehow manage to pull everything together and make it fun. Sure, a lot of FB programmers are now aspiring for more advanced and larger games, but some still understand the fact that games can be fun no matter how big the pile of crap that was put together to create it is. The game market is still open, and there are no viable libraries for "taking cool ideas from your head and making them into codez".


FreeBASIC still has a community buried deep, and issues such as library port issues as well as FB's graphics library help keep the community feeling alive. People still remain competitive.

Competitiveness and Programming Freedom (including the freedom to reinvent the wheel as long as your API is neat) keep communities open. Given the nature of FreeBASIC, I think we can open it wider than any other community in existence. Even QB's community. How? Well, like I said - Competitiveness and Freedom - The easier things become to use, the easier people can make competitive programs and release them to the community.

Don't shun the availability of advanced libraries and programming techniques - EMBRACE THEM. We'll make things so easy to use, that even a complete n00b can open up FB and just start coding cool $%#@, just like what we'd do in QB.


When it comes to programming freedom, and ease of use is irrelevant to the content being created, my advice to the community is that reasonably small tidbits of code, even ones that reinvent the wheel, should be embraced. Programming is an art. People will do things in different ways. While the tidbit of code may be reinventing the wheel, eventually someone will code a single method in such an interesting way that it contribute to the overall library development of the community.

You don't tell an artist to just use stencils because the shape they want to draw already exists. Reinventing the wheel always occurs, and I know that there are different ways to measure just how severely someone is doing this. I think we should ease up our boundaries a bit and allow people to explore as many different methods of doing one single thing as possible. A community can not exist without this exact type of freedom.

Thanks,
Pritchard
aleofjax
Posts: 117
Joined: Oct 18, 2007 8:10

Postby aleofjax » Dec 11, 2007 15:02

Indeed!

Well put Pritchard! You captured in that post exactly the alure of progamming and how I feel about it. It should be a medium for artistic exploration, not an industry. I recently put out a program for generating fractals from the Mandelbrot set. I won't say I was flamed, but the first reply suggested I do a search for the one D.J. Peters released. I know it's been done a thousand times, but I wasn't trying to do something new, just do it myself. Peters, though, hit me back with some great tips for optimizing my code; he gets it. After that, I started trying to improve my own code. I began work on a bignum library. I could have found one premade, but I wanted it to be my own. When I started trying to optimize my multiplication operator, I asked if anyone here understood fast fourier transforms, as I had heard they're great for that sort of thing. To my dismay, I got a string of replies pointing me to FFT code that someone else had written. It kinda killed my steam. I appreciate people trying to help however they can, but a community becomes less, err ... communal as refererals begin to outweigh conversations. I think any references posted as help should be a footnote to whatever you have to say on the subject.

Yes, the search feature is our friend. It can give you answers without waiting on a reply, and it saves server space from constant new posts. But how many times have you tried to search for something, and you get a thousand results that have nothing to do with your question. People should be encouraged to ask questions different ways, and those questions should be discussed ad nauseum in each thread. It makes the search feature more versatile and usefull. Thread titles should be descriptive; none of this "please help" rigamorole. And don't feel like you have to chime in on any post you care to spend two cents on. More posts don't necessarily make a better community, but a better community, rest asured, will have more posts, and be more useful to boot.

Alright, I'll shut up and go smoke a cigarette now...[/i]
badmrbox
Posts: 659
Joined: Oct 27, 2005 14:40
Location: Sweden
Contact:

Postby badmrbox » Dec 11, 2007 15:24

Best Pritchard post ever.
Imortis
Posts: 1318
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Postby Imortis » Dec 11, 2007 15:26

*standing ovation* You sir, have pegged the issue! Good job!
notthecheatr
Posts: 1759
Joined: May 23, 2007 21:52
Location: Cut Bank, MT
Contact:

Postby notthecheatr » Dec 11, 2007 15:27

I believe FB has a fine community and I personally enjoy it nearly as much or more than I did the QB community.

Granted, there isn't as much competition, and we don't have nearly as many neat tricks in "Tips and Tricks" as QB would have had, but that doesn't mean it's inferior - it just means it's different.

I guess it would be nice to have a bit friendlier atmosphere, but you should also remember that the developers are trying to attract more users. The more users there are, the better we're doing (at least in theory - more people to test for bugs, etc.) A nice professional atmosphere exists here, yet I would maintain that it's still possible to have fun and we do. I'm not sure, maybe I'm the only one, but I get really excited when I learn new things - even simple things! When I first discovered the OOP features in FB and when I first learned how to use image buffers, for example, I was really excited. To me, writing code - any kind of code - is fun and interesting, and I enjoy it. I doubt I'm the only one, and I think that is what makes this community so much fun - the common learning and growing abilities, the interesting ideas and all the creativity that goes on here. I don't see that in most forums or programming language communities.

I'm reading a book right now called "The Google Story" where they talk about how Google got started and what it's like today. One thing that really struck me is that Google is a very creative place to work. While they originally didn't want to have a big cubicle farm, they did end up having cubicles in some places - yet each cubicle has a huge LCD screen in it! Even in a professional environment it is possible to have fun, be creative, and still get things done. I don't think the FreeBasic community is hurting at all, I think we're doing quite well.

(The one thing I do think hurts the community is when certain assholes try to ignore or throw out important parts of the community, for example our magazine. If you don't like QBE, start your own! Otherwise, quit trying to destroy our one and only news source.)
E.K.Virtanen
Posts: 785
Joined: May 28, 2005 9:19
Location: Finland

Postby E.K.Virtanen » Dec 11, 2007 15:36

Everything below advanced level is something you should not post in this community. That is a fact, the sad fact.
FB is a great tool, sadly seems like day after day its more and more pointed to great and advanced programmers only.

Is it because of tool or it's community? I guess but ill shut up this time.

E.K.Virtanen

[edit]
notthecheatr wrote:(The one thing I do think hurts the community is when certain assholes try to ignore or throw out important parts of the community, for example our magazine. If you don't like QBE, start your own! Otherwise, quit trying to destroy our one and only news source.)


And some of them are doin this just because it's named as QBE, not as FBE.
Gee...
Sandstorm
Posts: 29
Joined: Dec 03, 2007 3:50

Community Building

Postby Sandstorm » Dec 11, 2007 16:07

What if FreeBASIC.net hosted challenges each week or every couple of weeks? Ideas could be posted about what kind of challenges people would like to see solved. I know every once in a while someone will come along with a "Build A Game In One Week", but sometimes the idea is poorly presented to the community. There would probably need to be a Challenges Topic in the forums strictly for proposed and solved challenges.
What impressed me about FreeBASIC was the online Wiki and the number of external sites relating to FreeBASIC. Also, in the forums, it is nice to see a good number of regulars posting frequently. FreeBASIC has a lot of good things going for it, but you can never have too much involvement from the community.

One challenge could be Procedural Textures
http://en.wikipedia.org/wiki/Procedural_texture

Another challenge could be a Voxel rendering program
http://en.wikipedia.org/wiki/Voxel
notthecheatr
Posts: 1759
Joined: May 23, 2007 21:52
Location: Cut Bank, MT
Contact:

Postby notthecheatr » Dec 11, 2007 16:24

E.K.Virtanen wrote:Everything below advanced level is something you should not post in this community. That is a fact, the sad fact.
FB is a great tool, sadly seems like day after day its more and more pointed to great and advanced programmers only.


Well obviously the newest and best language features are for the advanced programmers - that's because all the easy features are already there! FreeBasic is very easy to learn, but if you think that you can stop learning after the first two weeks you're wrong. FreeBasic, like any other language, is a continual learning experience - and that's a good thing. I don't think we're getting to be elitist - if you think this is elitist, try switching over to another language... say, C for example. Some languages are so elitist you couldn't even really call what they have a community, unless you are one of the elite.

notthecheatr wrote:(The one thing I do think hurts the community is when certain assholes try to ignore or throw out important parts of the community, for example our magazine. If you don't like QBE, start your own! Otherwise, quit trying to destroy our one and only news source.)


And some of them are doin this just because it's named as QBE, not as FBE. Gee...


I really fail to see what's wrong with QBE instead of FBE. It was started before there was a FreeBasic, and there's no reason to change the name. We all know what it's about, and even though it's mostly FB content there is still plenty of QB content. I don't think the name matters so much as the content, and if you're going to reject an important resource to the community on the grounds of its name, that's just sad.

William Shakespeare wrote:What's in a name? That which we call a rose by any other name would smell as sweet.
notthecheatr
Posts: 1759
Joined: May 23, 2007 21:52
Location: Cut Bank, MT
Contact:

Re: Community Building

Postby notthecheatr » Dec 11, 2007 16:28

Sandstorm wrote:What if FreeBASIC.net hosted challenges each week or every couple of weeks? Ideas could be posted about what kind of challenges people would like to see solved.


I don't disagree with this idea at all. I do think if possible the challenges should be more general (for example I don't know a single thing about voxel programming, and I haven't done a whole lot with procedural textures either) - I think that most challenges should be things that the average programmer can take part in, with perhaps a few specialized challenges for the elite, and perhaps a few specialized challenges for the beginners.

I think this would be a great thing to improve the community spirit and relationships and help us learn and have fun. It would also set a brighter tone, without reducing the professional feel of the forums one bit.
E.K.Virtanen
Posts: 785
Joined: May 28, 2005 9:19
Location: Finland

Postby E.K.Virtanen » Dec 11, 2007 16:36

notthecheatr wrote:FreeBasic is very easy to learn, but if you think that you can stop learning after the first two weeks you're wrong...
Some languages are so elitist you couldn't even really call what they have a community, unless you are one of the elite.

True, extremely easy to learn, never sayd against that. Programming is also continuos learning, just like every other hobby where you need to evolve all the time. Question is does everybody need to evolve in same direction? But that goes totally offtopic here so better stop before it gets out of hands :)

notthecheatr wrote:I really fail to see what's wrong with QBE instead of FBE.

Me too. Name dont make man or ezine better or worse after all, no matter what it is.
cha0s
Site Admin
Posts: 5317
Joined: May 27, 2005 6:42
Location: Illinois
Contact:

Postby cha0s » Dec 11, 2007 16:48

I think we do pretty well. One thing that stodd out to me is "Competitiveness and Programming Freedom (including the freedom to reinvent the wheel as long as your API is neat)" which basically is *not* freedom, what would a newbie know about a neat API, yet you say they don't have freedom to do this... well, is your "market" free, or isn't it?

Really, it's kinda confusing reading things like "open market", seriously? How many people have posted a little GUI library... and how many people have been flamed cause someone else posted one? Same with socket libraries... me and DJ 'maintain' 2 completely different socket APIs, but you don't see people on our threads telling everyone to use the other one.

I think we are witnessing natural competition on the applications that the "market" is demanding.

The FreeBASIC Market just isn't very competitive right now. It's not very open. It's not really amazing.


Ultimately, you're entitled to your own opinion. I think people who are consistently contributing to the community might take exception to your assertions, however.
Pritchard
Posts: 5425
Joined: Sep 12, 2005 20:06
Location: Ohio, USA

Postby Pritchard » Dec 11, 2007 17:05

No such thing as true freedom anyways :P
I think we do pretty well.
Same, for the most part.
How many people have posted a little GUI library... and how many people have been flamed cause someone else posted one? Same with socket libraries... me and DJ 'maintain' 2 completely different socket APIs, but you don't see people on our threads telling everyone to use the other one.
Indeed.

I find that making FreeBASIC's official forums more "professional" in the ways we've done it contradicts the ideals of helping out and promoting newcomers - Which is what really being professional and having expertise should be about.

FreeBASIC is great, but newcomers will generally not have such longterm goals, nor as much experience in design and more technical details of programming. When that kind of user can't even open up their IDE, fool around a bit, and paste the code for interested community members, then I believe the community is moving in the wrong direction.

Being 'professional' should not just be a look, and definitely shouldn't be a limitation. It should be an advantage, and many communities have found success by just being a bunch of people getting together and striving for greatness. I think FB's good enough for that.
Ultimately, you're entitled to your own opinion. I think people who are consistently contributing to the community might take exception to your assertions, however.
Fo sure.
cha0s
Site Admin
Posts: 5317
Joined: May 27, 2005 6:42
Location: Illinois
Contact:

Postby cha0s » Dec 11, 2007 17:11

I find that making FreeBASIC's official forums more "professional" in the ways we've done it contradicts the ideals of helping out and promoting newcomers - Which is what really being professional and having expertise should be about.


Well you need to clarify that statement. Does the lack of forum avatars or signatures contribute? Does the lack of "APPLE VS WINDOWS" threads contribute to that? You should try to offer positive suggestions, not vague condemnations. No one likes those. :/
E.K.Virtanen
Posts: 785
Joined: May 28, 2005 9:19
Location: Finland

Postby E.K.Virtanen » Dec 11, 2007 17:15

I originally sayd that it was a good call to remove off topic section. Now i want to take it back. Feels like lot's of was lost with it.
Also feels like interaction between dev-team and users is not good enough. Tho i visit pretty rarely here these times so prolly im wrong with this one.

E.K.Virtanen
notthecheatr
Posts: 1759
Joined: May 23, 2007 21:52
Location: Cut Bank, MT
Contact:

Postby notthecheatr » Dec 11, 2007 18:04

cha0s wrote:One thing that stodd out to me is "Competitiveness and Programming Freedom (including the freedom to reinvent the wheel as long as your API is neat)" which basically is *not* freedom, what would a newbie know about a neat API, yet you say they don't have freedom to do this... well, is your "market" free, or isn't it?


I think we should all recognize that while newbies program in a way that may seem confusing or non-neat to us, it's how they learn. If you could see some of my early programs, you'd probably think they're pathetic... fast forward to now, while I'm not the 1337est of the bunch, I'd say I'm in the top 20% or so. I learned from my mistakes. That's how it works.

When I first began programming, I hated OOP because it seemed to make things a lot more complicated. I couldn't imagine any situation where it would actually help or make things better. I did a bit of programming, and as I began to write larger programs I began to see how OOP was indeed extremely logical and in fact a useful tool for organizing and simplifying programs - the exact opposite of my initial opinion! A newbie may post code that to me seems so crappy as far as organization and neatness that I would never bother to use it, but I won't flame them because of it. That's how people learn! Guide them, yes, give helpful suggestions and even constructive criticism, but never flame them!

I haven't noticed anyone here flaming newbies excessively, if at all. That's the great thing about this community (same with the Qmmunity and the FASM community), and I don't see it changing either. This forum is professional, but it's a family too.

There are people who like to stir up trouble, and to them I say: #%$@ you. To the rest: thank you all for making the FB community what it is.

Return to “Community Discussion”

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest