This one is always a big pet peeve of mine. Taglines need to describe what you do, not how awesome you are. I hate seeing ones like "Together. Create. Share." or whatever. I'd much prefer "Create slideshows with a group." or something similar.
I've had this theory for a while that successful consumer-to-consumer webapps (Blogs, Forums, SNSes, etc.) are almost never well-engineered.
I came up with it on the cuff at a MetaFilter 10th anniversary party where Matt Haughey was mocking me back for having commented online about how shittily written his site was -- I realized that I probably wouldn't be standing there drinking his beer if he were a better programmer, the site just wouldn't have taken off when it did.
On the one hand you have both LiveJournal and Facebook as examples of big successful apps that were technically terrific very early -- everything else I can think of never got used.
On the other hand you have everything else: Frontier, Movable Type, Blogger, Wordpress, Twitter, PHPbb, vBulletin, Friendster, Myspace, MediaWiki, etc. -- all heaping piles of shit code, some of which had the grace to either be completely rewritten or abandoned en-masse for the next heaping pile.
It's extraordinarily difficult to execute well with users socially and execute well on the engineering.
> ... Facebook as examples of big successful apps that were technically terrific very early.
Whoa whoa? Where’d you get that idea? When it started its back-end was technically atrocious, written in a big pile of php spaghetti on Zuckerberg’s subnotebook, its front-end had barely any features, and it crashed all the time.
But it didn’t really matter, because the user base was in the thousands for quite some time, and then organized in a school-by-school way that let them easily handle the load by throwing hardware at it.
Then within a year or two, they had more money than they knew what to do with, and could hire people to do a nearly complete back-end rewrite.
It's certainly a counter-intuitive and pervasive phenomenon but maybe the fact that so few social platforms "make it" should keep us from drawing any real causal conclusion beyond the fact that technical competence is neither necessary nor sufficient for success.
I'm not sure about the others, but one of the interesting things is that wordpress grew out of b2. The code quality in b2 was about what you'd expect given wordpress' initial security reputation.
I find it particularly interesting because you'd expect OSS that will be picked up by others to have good code quality though. Add to that the fact that at the time your typical PHP user probably had more technical competence than most (webhosting, particularly supporting PHP was rarer then)
The problem with OSS is that you have to contend with some sort of a community. With WordPress you will open up the source code, throw up in your mouth a little, get the urge to patch things up and realize that your changes will never make it upstream. WordPress works. That's why it's so popular. It's easy to install, much easier to use than a lot of web publishing platforms out there and there are lots of "useful" plugins. Most of all, it's got the ubiquitous support: LAMP is the de facto standard for cheap hosting out there.
However, it does some things that keep me up at night. It stores serialized PHP arrays to define what users have access to (the MU branch). It strips away magic quotes based on runtime configuration, only to add them right back using a PHP loop. It does not use any form of output buffering. It's themes are PHP files that often times contain core business logic (somewhat of a PHP problem really, but still). WordPress is bad code and there is nothing anybody can do about it.
This of course is not true of all OSS projects: far from it. Just so happens that when a small community controls core development and the initial codebase is not great, which is the case with many early PHP projects, the outcome is that the code will stay bad.
That is an interesting fact. Then again, those were dark times, so to speak. PHP code that I've seen from pre-PHP5 times does all sorts of funky things to get around the shortcomings of the language. I guess at that point what b2 had was considered pretty good. I think the most important thing that needs to happen with any software project is peer review. If a piece of code is even mildly important, it needs to be reviewed, modified and distilled until it is ready. That did not appear to happen with WP.
I would suggest using a static blog, like jekyll (http://wiki.github.com/mojombo/jekyll/) or, if you would like something more user-friendly, dotclear (http://dotclear.org/ - a blog engine quite popular in france but it never really took off anywhere else).
No clue to be honest with you. WordPress is a fine platform to use for just blogging, publishing content, etc. There is big focus on it looking neat and clean. It is slow as all hell, but installing WP Supercache turns it into what I think of an cohesive, database backed, static site. It becomes a slow HTML editor that is a lot easier to use than the previous generation editors such as Dreamweaver et al.
When I say that the code inside of WP is awful, I mean that you should not look at it and you should not try to change it. Don't try to make WP into something it's not, like running custom applications on top of it, etc. When somebody tells you they want to integrate something with WordPress: run. However, I use it as a simple web publishing platform and it gets the job done.
Interesting. Maybe this a reflection of how engineering quality doesn't matter compared to network effects, usefulness, trendiness, etc? As in, it's not that most successful web apps are not well-engineered, it's that most web apps in general are not well-engineered, and the successful ones are almost randomly distributed among the entire set.
I could see how bad engineering isn't too bad for product success, because once you have a site that makes money, people will put up with working with crappy code and designs if they are paid enough (well, not everyone would put up with this, but there are enough people that would, and enough money to pay those people..)
I'd say engineering quality is tangential to success -- not strictly orthogonal. Still, it's close enough to orthogonal that it takes a heck of a lot of attention to notice the difference.
In the context, I'd say that two orthogonal features are completely independent from each other (i.e. good engineering is independent from success and the other way around). But tangential features do affect each other (i.e. you cannot succeed without good engineering). His point was that a better engineering will give you a slight better chance to succeed (tangential), but that it's so small that's almost imperceptible and can seem to not affect (orthogonal).
Livejournal was very well done, Brad Fitzpatrick innovated a lot on every facet of it: the hosting platform, monetizing it, the social network aspects, privacy features, etc. Before NetNewsWire took off like a rocket, it was by far the most popular feedreader in use (its "friends page"). Tumblr feels pretty well put together too, as long as you fit in with it's opinionated style.
As far as open source stuff, the only great ones are the ones you write yourself :). A couple years ago I wrote a tumblr/4chan hybrid for AppEngine that I never got around to using. Both AppEngine and Heroku make fantastic platforms for such things, there are a bunch of good blog engines for each that you could use as a starting point to great success.
The problem with Wordpress and Movable Type is that they are simply terrible, no good, piles of shit; full of terrible ideas poorly implemented on crappy platforms. Anything else is better. At least Movable Type committed suicide by license-wank, it's too bad that something worse stepped in to take its place. That Wordpress is becoming a premier application framework that people use to get Accounts+Admin depresses me.
You haven't explained why Wordpress is a pile of crap. Sure, it's simple to say something is a pile of crap, but doing so without explaining why doesn't make your assertion credible.
I'm saying that he wouldn't have rented out a bar in Portland for an 8th anniversary party, or paid the bill for 67 parties worldwide for the 10th anniversary (the two times I met him in person) unless Metafilter was pretty fucking successful. There's usually a couple Metafilter meetups somewhere in the world every week!
I do not think he would have been successful if he'd spent much more time on the codebase (it's Coldfusion!) instead of attending to the community and steering it into helping itself.
This one is always a big pet peeve of mine. Taglines need to describe what you do, not how awesome you are. I hate seeing ones like "Together. Create. Share." or whatever. I'd much prefer "Create slideshows with a group." or something similar.