Live data from Hacker News

Popularity-driven development

ferrante.pl

1–10 of 36 posts

Re: Popularity-driven development

#2
Especially in ruby world, it's amazing how big impact marketing has on open source projects.

It's nothing new that when you prepare a nice webpage with some pictures and logo your project is more likely to gain some traction. But mentioned element of social media and virality makes sometimes seemingly random projects to become popular.

It would seem that when releasing an open source project, your webdesign and marketing skills are way more important than your programming skills.

It gets fixed a bit later because when project becomes popular some good programmers join in and get rid of some silly bugs and so on. But the original design and assumptions stay. API often stays. And since I consider programming nowadays being a lot of like building from lego blocks, API has a huge influence on programmers productivity.

Re: Popularity-driven development

#3

  > _I was there_ ... In 2007, at the beginning of my journey
  > I started this blog. I remember my first JavaScript
  > tutorial which gained a lot of readers, even though I 
  > wasn’t the expert in the field ... So when I recommended
  > jQuery, some people followed me in this opinion and tried
  > it.
This post was a fun read simply because my own career path is not unlike the author's. I spent this time in comp.lang.javascript (;^)) and ##javscript, where I learned pretty quickly that I was decidedly not hot shit and that even frontend JavaScript development already had a significant history. Today I wouldn't entertain the idea that I was present at the start of some turning point, it was just the start of another career.

Being a neophyte coming from the land of HTML, CSS, and A List Apart, I took to jQuery like a fish to water, but more experienced folks correctly slapped my hand when I championed it (like David Mark, the Voldemort of c.l.j.). I wasn't quite sure why it was so reviled in these circles, but given that I had arrived at these communities to learn and not teach, I went with it and just listened (and didn't write blog posts).

Over time I saw jQuery for the abomination it is. A very usable, imprecise API that has "fluent interface" and a selector engine as its chief selling points, where a single prototype is the God object to end all God objects. Given that all of the other libraries implemented a comparable selector engine, I never felt deprived when working with Prototype, or MooTools, or Ext.js, or ultimately Google Closure. I could see that designs written with these other libraries were far more comprehensible and cohesive than what was coming out of the jQuery world, but to oppose the jQuery tidal wave was a fool's errand, so I just kept writing lots of software for my employers, and didn't write blog posts.

Maybe some day the history of how jQuery "made it" will be written. It seems like a shining example of "Worse is Better." Recommendations like the one from the author were just the blind leading the blind. Now we're stuck with it. Maybe more of us who felt this way should have written blog posts, but as the author hints, that's the paradox! You can spend so much time writing software, or spreading ideas, but seldom is there time to do both prolifically. I still don't feel qualified to write blog posts like this one...

Re: Popularity-driven development

#4
This is a slight diversion, but if you're interested in the topic of popularity-driven ethics (diction?) you may be interested in the novel by Cory Doctorow called "Down and Out in the Magic Kingdom" http://craphound.com/down/

I only read it recently, and in addition to recommending it as an enjoyable sci-fi read, one of the themes is the use of system called 'Whuffie', which is a reputation-based metric that permeates all of society, including politics and economics.

Re: Popularity-driven development

#5
If you make living out of your OS project, popularity and huge number of users might not be necessary good thing. It all comes down to conversion rate, community maintenance cost etc...

Re: Popularity-driven development

#6
post #2

Especially in ruby world, it's amazing how big impact marketing has on open source projects. It's nothing new that when you prepare a nice webpage with some pictures and logo your project is more likely to gain some traction. But mentioned element of social media and virality makes sometimes seemingly random projects to become popular. It would seem that when releasing an open source project, your webdesign and marke…

So instead of discussing "Worse is better" vs "Worse is worse", we should talk about "Presentation is better".

Re: Popularity-driven development

#7
post #3

> _I was there_ ... In 2007, at the beginning of my journey > I started this blog. I remember my first JavaScript > tutorial which gained a lot of readers, even though I > wasn’t the expert in the field ... So when I recommended > jQuery, some people followed me in this opinion and tried > it. This post was a fun read simply because my own career path is not unlike the author's. I spent this time in comp.lang.javascr…

Impostor syndrome?

Re: Popularity-driven development

#8
post #3

> _I was there_ ... In 2007, at the beginning of my journey > I started this blog. I remember my first JavaScript > tutorial which gained a lot of readers, even though I > wasn’t the expert in the field ... So when I recommended > jQuery, some people followed me in this opinion and tried > it. This post was a fun read simply because my own career path is not unlike the author's. I spent this time in comp.lang.javascr…

jQuery is beautiful and meticulously engineered (and also modularized) to a level far beyond other DOM manipulation/cross-browser compatibility/animation/promise/wart abstraction/whatever else libraries. It may not be the best at everything, and it's certainly not minimalist (though its components are now designed to be independent and customizable) but it is the meeting of many good practices and informed design across its many capabilities. It's the everything-and-the-kitchen-sink philosophy (with a focus on performance).

> Given that all of the other libraries implemented a comparable selector engine

This is not true; other libraries implement their own selector engines which, while (sometimes) smaller in size, are also less feature-rich. Sizzle (jQuery's independently developed selector engine) provides many additional selectors not currently available in the browser (such as nested pseudo-selectors: `:not(:has(div:first-child))`).

If none of this appeals to you, you are welcome to use a different library. There are lots of other strong options. But just because jQuery doesn't fit your needs doesn't make it 'an abomination'

Re: Popularity-driven development

#9
Indeed, popularity does not directly correlate with quality (which is not to say that popular libraries and tools are never high quality.) That said, the reasons most projects fail have less to do with the imperfections of the tools used than with the approach taken to the project as a whole. And especially if you're running a business there are good reasons to choose tools that are reasonably well known and widely used, regardless of whether they're the absolute best available on the market. The biggest reason being that it's a lot easier to find developers who know or are interested in learning a popular tool than an obscure one.

Re: Popularity-driven development

#10
post #3

> _I was there_ ... In 2007, at the beginning of my journey > I started this blog. I remember my first JavaScript > tutorial which gained a lot of readers, even though I > wasn’t the expert in the field ... So when I recommended > jQuery, some people followed me in this opinion and tried > it. This post was a fun read simply because my own career path is not unlike the author's. I spent this time in comp.lang.javascr…

jQuery is beautiful and meticulously engineered (and also modularized) to a level far beyond other DOM manipulation/cross-browser compatibility/animation/promise/wart abstraction/whatever else libraries. It may not be the best at everything, and it's certainly not minimalist (though its components are now designed to be independent and customizable) but it is the meeting of many good practices and informed design acr…

You're right that Sizzle was the class of selector engines, and if the story ended there (with jQuery as a DOM library) then jQuery wouldn't be listed on many resumes. By publishing `jQuery.prototype' to `$.fn', pushing the idea of "plugins", and by encouraging DOM operations as the main extension point in application design, jQuery made itself into something more. The brittleness of this approach is proven by how calling jQuery UI component methods requires an additional level of dispatch. This way of doing things has no legacy. It's considered an antipattern now, and a "mess of jQuery" is a known form of code debt. I don't think it's a matter of whether this style "fits your needs" anymore.
Post reply on HN