Hacker News new | past | comments | ask | show | jobs | submit login
Stackoverflow clone using Rails, Mongomapper and Mongodb (gitorious.org)
132 points by r11t on March 25, 2010 | hide | past | favorite | 70 comments



Hah. I'm writing my own Stackoverflow derivative using the same technology stack - Rails, MM, and Mongodb (mostly as an excuse to learn MongoDB!). Sorta wish I'd seen this first now, though it's been a great learning experience. :)

(My project is at http://wowqu.com - it's quite a bit more domain-specific, but it's been a lot of fun anyhow. :)


For what it's worth, I prefer the look and feel of yours by quite a lot. Everything above the top adsense block needs a little tweaking, but everything below it is gorgeous.


That's quite a compliment - thank you. I'm very much a programmer, not a designer - what do you dislike about the stuff up top? What could I do better?


I'm not crazy about the logo; It isn't bad, but it does look like a (really good) layman's attempt at creating a logo. I (also a developer) have the same exact problem, in that I come up with a 'good enough' logo and usually stick with it for longer than I should have. People LIKE logos, and honestly, if we could have a nickel for every time an inferior product won market share due to a better logo, we'd probably both be rich.

The "Questions, People, Ask a Question" are kind of the same way. The white font looks a little off -- I might try a slightly softer off-white color, but it also makes them stand out. A more experienced UI guy could tell you more about it, certainly.

The login and signup aren't nearly prominent enough, I think. I had a hard time finding them. If I played with the app more, I might discover that you've solved the problem by prompting for login/registration on actions, which is where I think they ought to be, or something, but they're also a little blah.

Lastly (and this is actually parallel to the adwords, but I'm throwing it in because you asked) the double-turn-down effect on the search just bugs me. I don't know why. If it were rounded on both ends, I'd probably be fine. If they turned in opposite directions (ala Digg) I'd probably be fine. It also doesn't scream 'search' to me either.

These might be the amateurish ramblings of a novice UI guy, so take them all with a grain of salt, but I'd at least try to get some consultation with somebody with more experience.

I really do love the layout, so please don't take any offense. I only say because you asked, and I really think the overall design is nice, even if you hadn't said you weren't a designer. The colors work, the transition from blue to white in the content layer is solid. The wraparound labels on the informational boxes may as well be gold-plated. The 'answers' and 'votes' buttons are splendid too. Like I said, I like it.


grin The logo is indeed a layman's attempt. My expertise with logo design extends as far as "try Photoshop style sets until one works".

The nav items up there are definitely not optimal. I've been feeling that, too, but I haven't found the right solution to them yet.

Login and signup could be a lot more prominent, definitely.

The search box style is a rendering bug, due to how different browsers handle border-radius; I have that set to 15px, which produces nice round ends in Firefox, but Webkit renders 15px of rounding on the top corners, then tries to do the bottom corners and doesn't have any room left. It's on the to-fix list.

I really appreciate your feedback. I'm as much a novice as anyone here, and I absolutely recognize that I'm probably breaking about sixty-six critical laws of design somewhere, so feedback is good. I very much appreciate constructive criticism - thank you, very much.


Wow, really nice looking (much better then shapado or even stackoverflow)! I think you've done an amazing job.


also, shapado is able to import SE sites, check this question out: http://shapado.com/questions/can-i-import-a-stackexchange-du...


papachito - that is a sweet feature!


Hey, looks great! Suggestion: small search box on the main page (like SO). It's my first port of call.


Shapado seems like a nice, thorough Stack Exchange clone. Nice work. Maybe you can give Gitorious.com some MongoDB love now ;)


We'll see what we can do ;)


another good benefit of clones like this, is that it'll get Fog Creek to lower their prices for Stack Exchange.


that would be a mistake. does bugzilla / track / anything else lower the cost of FogBugz? Make a premium product, charge a premium -- it a way to run a small software shop that seems to work for the people involved.


If this is "good enough" for a portion of the people who would have used Stack Exchange, that means SE either has to be "more premium" to differentiate itself, lower their prices, or be satisfied with a smaller market share.

And yes, having Bugzilla, Redmine and company out there does lower the cost of FogBugz. It's called "competition".


What make you think we can't provide a premium product? We had many users telling us they actually liked Shapado better than StackExchange, and not only for the price, I mean feature wise.


Perception is also a factor: if you charge a premium price, people will assume you are the premium product.


I immediately noticed the lack of polish. Shapado faces a very long tail of interface improvements before it can begin to approach SO in quality.


You can use many themes, this is one of them http://www.coders.es/


Sorry to be so harsh but, the introduction of themes signals to me that the developers have thrown their hands up in defeat. The alternative is to improve the look and feel of the core design.

You guys have managed to rip off / borrow stackoverflow's look and feel ( which is good ) and moved the all text a few pixels off center, shade icons that were unshaded, resize GUI elements. If you going to take so many GUI elements, why not take everything?


We added themes because many of our users asked for them. They want to differentiate, which is understandable.

The theme I linked to is not our main theme, the main them is this one: http://shapado.com

People are free to make the SO theme look more like SO if they want to.


But you offered themes as a solution to a statement about UI quality, which is it not. Also you don't have to do what your users ask for, saying no to bad ideas is important.

Your not alone, the chromium team should have said no to themes as well.


Curious... why do you think themes are a bad design choice for Chrome?


This may just be a matter of taste in the case of chrome, I think they are extremely ugly.

http://is.gd/b0ydO


The "Themes by Google" ones are a little better.


Well it's open source dude, if you think you can do better at UI quality feel free to give it a try. And thanks for the advice... Also, theming is a good features, not all out users want to have the same UI. They can also fully customize the CSS. And for the matter, SO UI is far from perfect.


I was too harsh earlier. The main point I'd like to make is that themes are independent of the core UI refinements that need to happen. Shapado faces 6+ months of work before it can have quality of SO.

I support open source software, but who is going to sit down and do this painstaking work. It's easier to work on theming or mongodb, rather than make the titles spaced correctly ( for example ).


> Shapado faces 6+ months of work before it can have quality of SO.

Gotta love random estimates by people who never looked at the code or anything.


SO has being in development for more than 1 year, during that time the UI has being under constant refinement. Lets see where Shapado is in 6 months, my guess is exactly where it is now ( GUI wise ).


It is one thing to clone SO in an effort to give a FOSS choice to the StackExchange format but trying to compete with SO by building a clone is heading in the wrong direction. Challenging SO is not about technology, it is about the number and quality of users. Metcalfe's law wins the day here.


Challenging SO is not about technology, it is about the number and quality of users. Metcalfe's law wins the day here.

There are a lot of good discussion sites running terrible software, like LtU and Perlmonks. This would allow them to keep their communities intact but actually run software that doesn't actively discourage contributions. (Ever use Perlmonks? That's why people hate Perl!)


Yes, there are a ton of sites out there running terrible software that doesn't fit how they use it. phpBB and vBulletin are a scourge on the internet's communities. There's tons of mediocre Drupal installs out there, and generic blogs where the clueless master just posts regular 'open threads'.

But I'll be damned if I can't think of a worse fit for any of these people than a SO-style QA-wiki. The last thing they need is fucking badges!


Atwood pointed this out in his post "Code: It's Trivial" (http://www.codinghorror.com/blog/2009/07/code-its-trivial.ht...).


I agree, but we're not in the business of growing a Q&A site about programing, we're in the business of allowing anyone to start their own Q&A site about any subject, using their own server or ours.


papachito, sorry if my curt response came off as anything other than positive. I was just adding a link to a past Atwood article pointing out that the technology is not the emphasis here, but it is rather the building of a community lead by dedicated and passionate leaders. Giving others a platform and tools to do this is commendable!


Thanks :)


Maybe the title of this post is misleading....you guys are not "taking on" stackoverflow, you're actually taking on "stackexchange", such that it is cheaper, and also doesn't suck?

Duplicating SO makes no sense to me, duplicating SE makes a lot of sense to me.


I agree, though for the info I'm not the one who submitted and picked that title.


thats why you chose the AGPL license! ;)


Exactly. What matters in a Q&A site like shapado is not the features, it's the community. So we might as well share the features and make it the best Q&A platform as possible so we can focus on growing our own communities on it.


It's more of a StackExchange alternative than a SO one. You are free to create your own site about programing if you want to go against SO, but we're not. For example, this guy did http://www.coders.es/ for the Spanish community.


Yes! SE starts at $139/month...pretty expensive in my opinion.


A lot worse if you are in a country where $ are hard to get.

Or you are in a country that Fogcreek can't do business with

Or you want a site on a topic that FC, or their bankers, or their VC or their government don't want you to have one on

Or you want an internal secure site for your society, company, hospital, police force


> Or you want an internal secure site for your society, company, hospital, police force

This is the real win in my opinion. On the open web, the SE sites are not just about the technology -- that is quite a small part of the problem.

Internally, especially in smaller companies, involvement is less of an issue and the technology becomes are more significant part of the problem. This is where I see a lot of opportunity for Shapado.


I'm assuming SE are going to have an in-house appliance or virtual machine version for companies.

No company is going to have it's knowledge base on someone else's servers - especially not any industry 'knowledge rich' (urghhh) enough to need an SE site


Great effort. SE did a very good thing to find a working model for Q&A sites, and for that they'll do well. shapado is likely to reduce any rent-seeking behaviour by SE, and spur on a bunch more innovation from them. Everybody wins.


I'm sure the first of many clones, copied down to the badge styles. Good work? Since you're charging money for some aspect of it, it seems you should do a better job of making it your own (I do like the watch feature).


We're not charging anything yet. When it's launched it'll be super polished and I think it's already quite polished :). Note that the CSS is 100% customizable, eg: http://www.coder.es


That link is not the link you are looking for.


it's coders.es (he posted it above as well)


Out of curiosity, what other StackOverflow clones are there out there and how does Shapado compare to them? Is this the most mature out of them all or simply notable because it is built using Rails?


There is OSQA , based originally on some work done by Chinese programmers. meta.osqa.net .

It is based on Django I think.


Why not differentiate the design a bit? The visual design with the oversized text, excessive 'buttonage', and giant boxes/fonts for views and answers is the worst part about the SE/SO system.


Great stuff!

As a bit tounge-in-cheek comment: Will Stackoverflow clones become the new Twitter clients and the new new Hello World, demonstrating the capabilities of technologies?


Will Stackoverflow clones become the new Twitter clients and the new new Hello World, demonstrating the capabilities of technologies?

Everything that becomes popular is quickly cloned. Example: http://www.chatroulette-clone.net/ .. Scripts that cloned Alex Tew's "Million Dollar Homepage" were out within weeks too :-)

Not seen any compelling HN clones but since HN is already open source..


You forgot "custom blogging engine".


And PHP CMS circa 2003.


Nice work. I am curious to know how many human hours went into it.



I'm one of the dev, feel free to ask if you have any questions. The site is running here: http://shapado.com

(we also have a mirror on github http://github.com/patcito/shapado)


Very professional, looks great!

Of course, the question is: did you build it in a weekend? ;)



I just want to say thanks! I poked through your code when putting together one of my own projects. So, thanks!


Great - I really like the question form embedded on the front page. It would be cool if SE ported it at some point.

There are also some SE sites desperately trying to change the language through javascript-based rewriting (since SE is not localisable) - shapado could help them a lot.


Great job on Shapado! A question: how long did this take you in development-hours and over how many months?


How do you track views? Are you doing a DB write on each question view?


  def viewed!
    self.collection.update({:_id => self._id}, {:$inc => {:views_count => 1}}, :upsert => true)
  end
Not sure why it's an upsert, but there's your answer -- atomic increment.


MongoDB is extremely well-suited to this sort of thing. In-place increments/decrements are particularly easy to do.


Why Rails sites always look better than Django ones?


They don't?

Seriously though, I do think there's a correlation between how somebody believes something should look and what framework they choose, even if only subconsciously, and even if only rarely, that gives the impression that Rails apps look a certain way.

That said, there are defaults on the template generation of each, but the Django defaults are only for the 'Welcome' page, and it doesn't scaffold templates, and I agree that the Rails-scaffolded templates (that a lot of designers probably just extend, vs. replacing altogether) look better than a lot of pages in general.


Very nice, thanks for sharing! I had been hoping someone would open-source a SE clone for Rails. And double-plus-good for having the feature of importing SE sites right off the bat! I actually hate the limited way SE is using tags, and have wanted to try making my own.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: