
Show HN: Learn to Code with Interactive Challenges - edabit
https://edabit.com/explore
======
wjvdhoek
I tried to run a challenge but upon trying to run it, I'm greeted by an
obnoxious pop-up that asks me to register or log on. Nope, sorry, won't do
that. You could have mentioned that _before_ trying out a challenge...

Please don't do that. Aside from being a major buzzkill, it probably kills
conversion, which I'm sure you find a buzzkill ;) Maybe you could let people
try out some challenges and then after N runs, ask them to sign up?

~~~
Method-X
Hey wjvdhoek, I'm the guy working on this project. I agree mandatory
registrations are indeed very annoying (and 95% of the time completely
unnecessary). My reasoning behind requiring user registration is for security.
Since code is being executed on my server, I want to be extra careful.

That being said, you have an idea I never thought of. I could simply let any
user make X number of attempts and _then_ prompt for registration. It's not as
annoying that way and still secure. And yes, it's definitely hurting
conversion BUT I couldn't think of any other way to set things up. If anyone
else has suggestions on this, I'm all ears!

~~~
noxToken
It is kind of soul crushing to work on a problem only to be denied execution.
Thankfully, I ran an easy JS challenge that was a one-liner. Had I done a a
harder challenge that took 10 or 20 minutes, I would have been rather upset.

I understand why you put the registration further into the process. People
have already invested time, so they might as well register so that the time
isn't wasted. This is markedly different from how the rest are. They either
put registration up front (HackerRank) or you're required to validate your own
code (cryptopals). Aside from intentionally infecting my computer with malware
or something, I couldn't think of a more negative user experience from a code
challenge site.

These types of sites are far from unique. They are basically a dime a dozen.
But now my experience is, "Don't make the same mistake I did. It gives you an
input field to submit a challenge, but it will not validate your answer until
you register. Either register up front, or don't bother."

Edit: This post was intended to be constructive, but I can see how it can be
interpreted otherwise. See here[0] for more info. Apologies!

[0]:
[https://news.ycombinator.com/item?id=14349780](https://news.ycombinator.com/item?id=14349780)

~~~
happy-go-lucky
> These types of sites are far from unique. They are basically a dime a dozen.

That's not constructive criticism. You can't always create something that's
unique and not a dime a dozen.

~~~
noxToken
It's not meant to be flippant, although I see I should have chosen better
wording. It's meant to go right into the next point: I spent time solving a
challenge, but the site will not let me validate it without creating an
account.

Sometimes the challenges take 30 seconds. Other times, you may spend over 30
minutes working on something more challenging. Who wants to spend time working
on a challenge only to be told, "Wait a sec. You need to register before I
tell you if you were correct." If I am presented with an input field, I would
expect that I am allowed to submit that input. And that's where the dime a
dozen comment comes from. If I try to accomplish the task your site has given
me but there's an unexpected roadblock imposed by the site itself, why would I
stay on that site when I can go elsewhere?

If registration is required, it should say so up front. Allow users to browse
challenges. Even allow users to view the full challenge text. However, disable
the input field if they must register first. It otherwise implies that I can
solve the challenge without an account. You don't want to mislead your
potential users.

I supposed I should have said something like, "There are many code challenge
sites available. It is imperative to give users a positive experience, because
users can easily go elsewhere for something similar." I did not mean to be
insulting.

~~~
Method-X
What about putting a small banner / notice right above the code editor that
explains the user must register before executing code? I'm honestly not
intentionally trying to create an annoying site, it's just when you have users
running code you legitimately have to take some security precautions. I'll put
some thought into how I can communicate this to the user... My favorite idea
so far is to just let the user execute code X number of times and then prompt
for registration.

~~~
lgas
Having an account tied to the execution of the code does nothing to help with
security. I can still register with a bogus email account and then run code
anonymously. This doesn't inconvenience attackers, only legit users.

~~~
happy-go-lucky
> This doesn't inconvenience attackers, only legit users.

You just nailed it.

------
MoonWrath
Reading through some of the comments here I feel like you just posted a video
series of running over cats in your SUV to Reddit.

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!

~~~
happy-go-lucky
> Looks like a ton of hard work went into this and I think it comes across
> really well!

I thought the same. Too much for a lone developer!

------
happy-go-lucky
I just played with some challenges. JavaScript, Python, and Java are there.
Users are allowed to create new challenges, translate available challenges
from one language to another, and write test cases. This is great. There’re
instructions for each challenge and resources where one can go to learn
programming concepts and come back to code the challenge. Also, there is a
discussion area for each challenge. I think this is not for absolute
beginners, but those who’re familiar with the syntax of a language will find
it interesting. Way to go.

------
dkns
How is this different from codewars, leetcode, topcoder, etc? Genuine
question, not trying to be snarky.

~~~
Method-X
Its focus is on teaching and learning, not getting hired at a big company.
Hacker Rank / Leet Code / Code Wars are essentially talent scouts. They want
to attract programmers who are already really good. Nothing wrong with that,
but it's not conducive to learning.

~~~
jhoffner
FYI Codewars has nothing to do with talent scouts. It's purpose is exactly the
same as yours, except that it has content ranging from beginner to advanced.
Did you build your own testing system for this? It seems to be very similar to
Codewars.

