"You are a boy."
When they say "soft", they mean palatalized: http://therusblog.com/2012/02/18/palatalization-in-russian/
It's the other way round: ты is informal, Вы is formal.
Since you're adressing a child (and «мальчик» is generally used for children), you can use the informal variant.
I scrolled a bit and I don't see this asked anywhere. When I type my answers I haven't been using a dash, but when I type the wrong letters for the word I see that duolingo uses the dash in the correct answer given. Am I doing it wrong if I don't use the dash? ie: Ты - мальчик vs. Ты мальчик
Are you using the mobile app, or you are using in the computer? Either way, you can download a virtual keyboard for any language you want in the language settings.
If you are using mobile, after installing the new keyboard, it will show up as a globe beside the spacebar, where you can switch between the languages.
On Windows 10, after downloading the virtual keyboard, you can switch between them by using WindowsKey+SpaceBar. On the taskbar there is the language bar. There you can find a virtual keyboard in case you can't memorize the position for each cyrillic letter on your latin physical keyboard.
In case you are using an older Windows version or Mac or Linux, I'm not sure how to do it within the OS settings, but you can always look for a virtual keyboard add-on for your browser. I know for sure that Chrome and Firefox have multiple options.