So I was very interested in your site and signed up. Here are some of my first observations and comparisons:
- codecademy.com lists lots of males and females from young to old, from different countries with all kind of professions on their Success Stories pages. I felt very welcome their site. The name of your site and the constant use of the word Kata indicate to me that your audience are young males. As a woman in my thirties I don't feel I fit on your site. It seems a bit to aggressive to me.
- The second Javascript problem description was not very good. The second problem basically says "Something is wrong - correct it". I like clearer instructions like "write a function to reverse a string".
- Compared to codecademy.com the site took longer to check my code.
- I have no problem giving my e-mail address to anybody that provides a service I want to try. I like to get the onboarding mails from codecademy.com and think they should send out more because they are motivating. So I think that it is good that you are asking for my e-mail address and I hope you make good use of it by sending me interesting stuff. If not, I just filter you with a click.
I'm going to spend some time on your site. If you want further feedback, just send me a message.
As someone who has studied martial arts for five years, there have been plenty of female students and the vast majority of the people I study with are well into their 30s.
We have a lot of female users on Codewars and want to make sure everyone feels welcome. The term "Kata" are what we call our challenges, it just means "form" in Japanese - it's used in calligraphy and martial arts to describe a way to practice a pattern to excellence. As for our name, it does hint at competition, though is meant as a metaphorical war on mediocrity and the status quo.
Performance-wise our site isn't going to be as fast since we run the code on our own servers (opposed to in your browser), which has lot's of advantages for better challenges/more versatility, but makes speed a little more of an issue.
I hope you do give the site a shot, and if you have any more feedback please email me: nathan@codewars.com
Here's the official explanation of what the word means:
Kata (型 or 形 literally: "form") is a Japanese word describing detailed choreographed patterns of movements practised either solo or in pairs.
Also, after all the site is called Code Wars, perhaps she was influenced by that as well.
I'll admit that until signing up for a martial arts class which had women in it, I'd only heard men use the word Kata.
How could they make the site less aggressive?
To get anything to work, I had to allow scripts from www.codewars.com, push.codewars.com, two CloudFlare domains, AND platform.twitter.com. While my usual process to get JS-heavy web apps to work is load scripts from the domain itself, plus any standard CDN domains (like CloudFlare), your site does not work without widgets.js from Twitter, which is pretty crazy.
You depend on three different CloudFlare subdomains - one of which serves a tracking script, on top of you trying to load tracking scripts from MixPanel, Google Analytics, Rollbar, Intercom, Twitter and Facebook. I only loaded what I had to, but I think it's safe to assume that you would have pushed more domains on to me had I loaded everything.
Edit: the complaints in the two paragraphs below are invalid (can't strikethrough on HN) - I mistook the authentication form as requesting my GitHub credentials, whereas the "GitHub" title is a link to GitHub's oauth page, and they also provide the option for creating a CodeWars account without linking your GitHub. The visual distinction between these two authentication mechanisms is near-invisible on my laptop's monitor. Anyway, according to guptaneil (below), they will still require you to create an account with them after linking your GitHub, so don't bother.
-Normally I would just dismiss such a privacy-flippant site as yours, but what pushed me to make a comment is that you prompted me to type in my GitHub password on your site, on a form with an action against your server. This is absolutely horrendous. You should only input your GitHub password on pages at, and send it to, servers at https://*.github.com. I can only feel sorry for all the users who have fallen for this. I feel worse for those users without NoScript, who have unknowingly typed their GitHub password into a tab with scripts from about 10 different companies running - do you trust all of them to not log your password? Even the analytics companies?-
-I've flagged this post, and for anyone who typed their GitHub credentials into this site, I'd recommend you reset your password.-
We do load quite a few 3rd party libraries, though only to make the user experience even better. All of these services are pretty standard and most of these should be familiar with many web developers. Intercom allows us to communicate in real-time with our users, Rollbar allows us to monitor client-side exceptions, mixpanel and google for analytics, twitter and facebook for social. You bring up a good point though that for users who wish to disable these, there are integration points within our code that would most likely cause errors to be thrown. We can certainly work on decoupling our code so that it silently ignores calls to these APIs.
I can't believe this is the top comment.
There are reasonable amounts of external javascript to load, and there are unreasonable amounts. Please study the difference.
Critique really helps us improve, we love hearing it, everyone should feel free to reach out: nathan@codewars.com
Keep up the good work on it!
In chrome 32.0.1700.77, clicking join did nothing, it only scrolled to the top of the page.
Also, I'd love to see a quick video introduction. I like the concept.
Edit: I now see the intended flow, but there was no indication that I had to complete the first 2 levels to be able to sign up.
The speed issue is optimization on our part, we boosted the servers so it should be a lot quicker now
But nevertheless: Great idea with a lot of potential! Maybe you can give more detailed compile errors, if the user wrote incorrect code.
Personally, I love it, I think its great, has a slick feel and experience to it. The site wasn't as responsive as you might hope but to be fair you are currently on the front page of HN so I am willing to let that slide.
Looks like a ton of hard work went into this and I think it comes across really well!
Only problem I'm hitting is 500 errors, which I assume is because the server is getting smashed. Good problem to have!
And yea, we've gotten crazy traffic, so the 500s/speed are load issues that we just pushed a fix for.
"It already exists" is a terrible reason not to do something
With CodeCombat and Codeacademy there UVP is very obvious (make learning to code a game and teach to code online resp.) and had not previously been done. With this site I don't understand what the UVP is (social programming challenges?) that hasn't been already by something like TopCoder, Sphere Online Judge, etc.
They currently support CoffeeScript, Javascript, and Ruby, but are working on supporting a ton more. Definitely worth investigating.
The test will pass but I can't submit it, because the test doesn't pass. Meh.
I think it's because your isNaN check shortcircuits the other checks as you're checking if the array element is NaN. Is that what you meant to do?
Also when you recursively call `numbers(args)` your `[].slice` will put your array inside another array.
Edit: Though, it's not beyond the realm of possibility I'll give in and sign-up once there is python support.
Thank you!
If you do try it out, one of the best parts is adding your own "kata" — basically the games or tests. You will learn a lot by writing them (the community is very active in helping users improve description text and test cases). And there's nothing like seeing someone come in and absolutely blast your best effort out of the water with something even more amazing.
- Server was unreachable when I tried to submit an answer, and the submit button was then permanently disabled - Not sure if my sign-in with Github was successful, it just shows login still - Now getting 'The code does not execute properly. Try to figure out why.' and there is no code in the box to enter
#edit it's kind of sad (and telling) to see the complexity and cleverness in the higher ranked solutions.
#edit2 rampant regex solutions, nested returns, oh my.