Tonie wrote:I'd say development is the biggest issue we are/were having. About 65 to 70% of all code in 1.5 was written by two persons, which is quite insane. I think the rewriting was necessary, due to the 1.0 code being really old and very hard to extend properly. On 1.6, there are more developers, though people that can/want to consistently put in between 10 and 20 hours a week are rare. It's not a good sign that most of the new features are donated by developers from their own companies they started.
Oh my, I had no idea. That's past quite insnce. Even back in the mid 80's to early 90's when I'd worked with numerous cottage Entertainment (games) operations there were at the very least 3-5 people involved. Now-a-days, course' quite different. Triple A PC game titles have core dev's, support coders (grunt), not to mention artists, storyboarders, 3D Modellers on and on. But, most important (and tend to be most loathed) are/is the project manager(s).
I'm going to attempt to make some important points here in a moment Tonie. Clearly, your not a "cheerleader" which is important.
First, I like Joomla. I wouldnt be critical (or construed as such) if I didnt want see it be all it can be.
Second, the revolution is on the march in CMS/Portal/Site Builders both GPL and commercial. The stuff "just around the bend" will make Joomla look like DOS vs Windows. Reason: Because these highly interactive forms of websites that can have all sorts of pluggable features/content are a gold mine. The masses of "I dont know how to do a thing" will be welcoming such abilities with open purses/wallets. That in turn results in the same forms of dominance that has happened in many forms of merchadisable (and not) products as history shows over and over.... over.
One difference between, Windows/Mac/Linux/Unix / Computers which have had this same "shakeout" as have many languages (Forth, Pascal on and on) and the Internet is THIS technology HEAPS of people are using and embracing. The only thing better than embracing is CREATING. Its a gold mine. The next "BiG wAvE" of Internet revenue is what I have relayed. The first, its deployment into generating dough. Second, the big wave of 15K search engines, auction houses, AOL, Hosting for the monetarily impaired, on and on etc. Followed by of course, the crash.
The next wave is coming and its coming sooner than anyone in "open source" (PHP) cares to admit. mySQL Boys know all about it and have been working continually to make sure "They are in the race".
K... Joomla.
Just as in the ole' days of PC Entertainment software (and before) engineers just like me involved in all that stuff thought of every project as "our baby". Understandable with the 16-18 hour days, 7 days a week usually pumping our guts into code. Often, such games never even made it to retail rejected by publishers who had the distribution channels (still happens today, though some are trying to shift that, like "Steam" from Valve). Tons of really great innovation went right in the crapper. So... That "ownership" in the work for a project created this kinda "its an extention of my work, life, hours, toil and sweat" which means.... When people are critical of it, feels personal. When people wouldnt buy it, something wrong with them. On and on...
As the entertainment industry grew coders in the genre's were forced to realize some things. Its not their baby. Its a product. It is not alive. Thats a VERY important distinction.
In PC Games, $15,000 builds turned into $150,000 builds, $150,000 builds turned into $1,000,000+ builds. Programmers, managers, artists on and on as I noted.
What happened is the industry blossomed BUT along with that blooming came the heirarchy.
Me (as you might have noticed
), I call things the way I see them and as you just pointed out, "What you think you see might not really be what your seeing" especially in these disconnected Internet mediums. Does not however mean the points made are invalid. I removed myself from the PC entertainment industry because what used to be fun, Codin' on games, became stress that... well... lets say I guarantee you no person on the J!Core has ever experienced. Ya' gotta be there.
So... given the history... I'm not talkin' to blow through bandwidth as mcsMom might consider.
DotNetNuke has moved much farther and will live as this third web capitalization takes place. They've had the guidance of Microsoft. That counts. Adobe's stuff whether or not it stays on the "Cheap" will move. Sun, no idea, everytime they seem to screw up or be behind the curve a rabbit comes out of the hat and all of a sudden they at the very least come up with the most efficient stuff.
Now unto the points to be made.
One in 10,000 engineers know anything about marketing for one. They think it simple, its far more complex than writing code. To put is simple, every person is a variable, an exception. Businesses spend oodles of money just to research acceptable packaging to hit a market demographic. I'm lucky, I am versed in both.
Two, One it 20,000 engineers is any good at management. They like the "control" over projects but they are just not good at it. The usual tell tale signs are also that they really dont like managing but, might be part of the deal. Now add in, "Its our baby", very common in the open source (successful) items out there. Its personal... not just product. A sad (sorta) facet of this is "communities" really bolster that. As Patton said, "Glory is fleeting". Can never have enough, and enough is also too much. There are other facets as well. When its all shoved into the queue and the CPU munches over it the results are very very seldom sustainable or even good.
In Joomla the "engineer" influence is clear. Modularity. Modularity of function. Logical blocks that when learned, strung together allow someone with "some computer engineering knowledge" to make some pretty dynamite websites. While that IS a credit to the core engineers its "not right".
Little sidetrack here: Microsoft ended up in the exact same position years back with MS Office. Seperate office tools, Excel, Word, Access etc. creating workflow issues mainly in business. They were competing for market with Wordperfect and Lotus. Wordperfect suite was chaos, some powerful applications that when trying to create a workflow between them was a while(nightmare) { nightmare*nightmare++;}.
MS Office was just a nightmare. Then Lotus comes out with Smartsuite, powerful, nicely integrated, beautiful even FUN to use! Overnight you saw bazillions of "OEM" copies of Office 97 everyplace. eBay, this auction, that site, here, there, everywhere and cheap! So, they essentially used "piracy" (accepting registrations even) to attain dominant market share. In the years that have followed they have worked to try transition from nightmare to liveable while maintaining backward capabilities so corporations dont leave bags of dog poop lit' on fire on their doorsteps
The lesson to be learned by ALL of this is that sustainability relies on the end users. Guidance of what those end users need should not be determined by engineers. Web Publishing is going to be just that, right around the corner. Just like Desktop publishing but easier. Easier because of the market for it. Imagine a desktop publisher that is similar in function to Joomla. It'd be dead before it ever started.
The Web has witnessed this stuff and does as well today. [youtube], Search Engines, Twitter's, mySpace's on and on. How many sites have lost communities due to these venues? These are the tips of much larger icebergs.
I'd imagine the folks at Drupal are tweaking out, hence their "OMG we need a workflow and user interface" as Drupal last I looked at it was a real pain in the Xss. Powerful sure, but hey... so is Unix command line ya know? Put the average person with a PC in front of a Unix Command line and 99% of the time you'll here, "So where do I click?".
So what IMHO is the right direction?
Welp... OK... since you asked
The Joomla core team needs to establish a "What do the end web designers need" deal. Certain things are obvious, workflow, drag/drop/configure, excellent ACL. But, want to keep that "We need" pouring in. When it comes to the critcism, again, its product, not offspring.
Needed yesterday. Management. A handfull of people who are more than likely NOT going to be programmers. People with the oversight abilities to make the programmers core and volunteer produce what is needed to be produced. That doesnt mean the core people who OWN Joomla are out of the loop. It means they are simply deferring some DIRECTIONAL ROLES to people who really are more capable at it.
Doesnt mean that they cant go to the various Joomla events, doesnt mean they take a back seat. It means that people are brought unto the project that know marketing, that know workflows, really fresh blood... Its a scary thing to do, releasing any control levels. But, believe me... its an important step in not only making any viable product the best it can be but in this case, critical to its sustained survival. It means they partner for sustained success, growth and much much more.
A net effect of such steps are alot of programmers that are in support of Joomla will jump into action. "Teams" are created based on programmers skill sets. So lets say, "Welp, we really do need forms" (we do!) LOL... Forms be a fairly complex lil' puppy due to well... sheer range, it is the "input puppy" most often used and varied. So Johns a J!eggspurt, he's going to be the Team Lead, he's got another coder under him who's "good" and two others who are fair, learning. Code is cranked. BUT, its important that John be supportive of his "good coder", so, if things aint' right, he shows em, "This is how its right" and for those learning, fair... They too reap a better skill set.
Thus a "payback" happens. People GROW in their skills and are PART of something and Joomla Grows. So Lilly says, "See that form component, used by over 800,000 sites and I helped make it". Ego's are BAD at high levels but can readily be utilized to ones advantage at other levels.
See... we have some BIG problems here and I'd suggest we take this into private discussion, perhaps you, I and the core in some private forum area.
Getting volunteers for example. Why is there a lacking?
1. Documentation of the engineering. Alot of the coders who are producing stuff would be quite concerned if their code is to be viewed/integrated cuz' they dont KNOW if its right or good even. 1. They do not wish to feel like fools. 2. They do not wish to feel like their efforts are rejected. Again, thats where the above Team mechanism is ever so important. I'm a good programmer, I'm not Mike Abrash or John Romero or Carmack (I know em') and in many respects, they've earned their ego's. When I've sold countless millions of copies of Quake 1, Quake 2, Quake 3, Quake 4, Doom 2 & 3 etc etc I might to. My line drawing code from Atari's ST Lightning went into Quake 1 (woo woo!, gads...).
I'm somewhat new into PHP (ick) and certainly to Joomla API. So lets just take me for example. At this stage, I dont qualify as "Lead programmer" on Forms, Guestbook perhaps LOL (only kiddin), and not quite there even in "Good" but I want learn. I want learn so for my own interests I can create the applications I want create. Real stuff, not lil' show the weather modules. Full blown integrated app's. I know how to code those app's, wrestling PHP is part of it, wrestling Joomla another. So, better my skills as a volunteer become the BETTER my stuff will be... right?
LOTS OF US IN THESE FORUMS in said boat.
LOTS OF US as the CORE coding team focuses on getting us that drag drop ability, workflow etc. who's skill sets would be getting built from the fostering to not only help others transition their work but also create the great new stuff in support of the "User friendly Joomla".
Perhaps at some point The Joomla Crew does what many have done, One Joomla but different forms of licenses that are based in support and building, specialization etc. So yes, it can make money while still staying free as well. Thats a whole lot better than in 5 years being a footnote in Wikipedia 3.0, "Joomla was a popular CMS/Portal type application but succumb to the new Web 3.0.... blah blah...".
Joomla has a sizeable base of users and developers. Unlike many of the others out there in PHP land Joomla can not only survive but THRIVE in the future. Most of the others out there, already dead, they just dont know it.
In order to foster the environment of programmers, managers, helpers etc. its imperative that empowerment occur.
The first step (if it were me) that I'd take as "core two" (Core Duo!) is tie up whatever I am working on soonest possible. ACL, whatever it is. The "after that" gets put on hold in favor of API documentation. As the documentation is produced, a small team builds snippets of usage, perhaps even some tangible tutorials. Set a timeframe of completion, by Jan 1st 2010 in book form. The developers will buy it. That gives some working capital and ongoing capital. A serious developer has no issue dropping $50-$60 clams on it.
I dislike documenting, I've had my XSS reamed on more than a few occassions in the PC Games zone's for "sparse" documenting but, part of the gig..
As this documentations starts gel'n bring a few more into its light to start getting Team Leaders informed.
Start taking "notes" and just general thinking among all these people on workflow, UI and any other types of idea seeds that get thrown out there. Encourage it, albeit privately. Nothing worse than talking about say, Web Services core and not having it ready or being back burnered to the public. If its "not there" then its, "under consideration, we appreciate the inputs and a representitive will get back to you, (to pick their brains more)."
Forum managers need be encouraging talk, ideas, this/that not saying, "If you want it build it".
99% of the time if someone (other than me
) is beetchin' they want to be heard, they want to be valued, they want to know someone's listening and preferably following up. "Would you mind taking a little time and putting your thoughts and ideas into this form we will send you".
That stuff's all GOLD my friend in MANY ways.
This same core group exposed to the building of documentation, snippets on and on... They all need talk about Workflow, UI etc. So... as say end of year rolls closer we are in a "Go mode" on Jan 1st 2010 to get to coding Joomla 2.0.
Then we take a well deserved rest for a bit before we talk, Joomla 3.0 which is?
Well, since you've asked. It might be a whole new CMS. Or, it might be work to get Joomla into a model of distributed computing thus ENSURING its long term future. Standards based code. "Smart Bridging" across that distributed environment. Desktop widgets, on and on.
Long message...
Can we PM or something between Core and a few folks? If the core is interested, lets hash some of this stuff out and build a plan.