So this blog post is combination of a question and information. We'll start with the information.
Social is one of the four Tenets of Small Basic (Simple, Fun, Social, and Gradual).
First...
How is Small Basic social?
- UI: Share Your Program! You can click the Publish button on the UI to share your game / program with the community! It publishes your program to the Web and gives you an import code and Web program listing page to share it with your friends!
- UI: Embed Your Program! In the shared Web page, it includes an Embed snippet that you can use to embed your program into your site or blog!
- UI: Share Your Code! Not only is your program shared, but so's your code! This is very valuable to get help from someone as you learn how to program in Small Basic! On the Small Basic Forum, when you have an issue you need solved, it's very helpful to link to your published program, so that the community can check out your code and give you advice! I don't know how many developer forums I've been on where the first three posts from helpful community members are to show them the code! Small Basic makes that so much easier!
- UI: Improve Someone's Program! Not only can you share out your program, but you can simply click the Import button to help someone directly with their program, or someone can use it to build on your program! For example, your friend Dora can import your program and add a boss or a new level to your game. Or maybe she can fix it so that it works! Because of this, you can have collaborative teams working on the same program! We've even done team competitions on projects. You don't have to send files; all you need is the Import Code from a published application! Small Basic is a collaborative experience!
- ComPlat: Connect in the Small Basic Forum! In the Small Basic forum, you'll find the usual troubleshooting and Q&A style of forum conversations, but you'll also find people sharing and discussing their Small Basic games, programs, extensions, and TechNet Wiki articles! You'll also see the Small Basic product team gathering information for a potential future release of Small Basic! Come join the community in the Small Basic Forum!
- ComPlat: Follow the Small Basic Blog! Not only can you read our announcements about the product (such as new releases), the content (like the books or the free online curriculum) and the community contributions (programs, extensions, etc.), but you can reply to us in the comments and dialogue with us! You get to openly discuss with the people who are leading the product and community!
- ComPlat: Engage with the Small Basic Twitter Account! Check out what we're tweeting, ask us questions, and discuss Small Basic with the #SmallBasic tag!
- ComPlat: Chat in the Small Basic Facebook Page! Come hang with the Small Basic folks, asking questions and speaking your mind! Check out our Small Basic Facebook group here!
- ComPlat: Collaborate on Small Basic Content on our Wiki! You can help build and edit Small Basic content on Microsoft's TechNet Wiki platform! This is another great way to collaborate with the community on authoring articles, editing articles, and in the comments at the bottom of each Wiki article!
- ComProg: Enter the Monthly Small Basic Programming Challenges! LitDev hosts a monthly contest where we get to try out some challenging programs and discuss the results, seeing how other people went about making the same programs! You can go to the Small Basic Forum and find the latest Monthly Challenges thread at the top. As an example, here are the May 2014 Small Basic Challenges.
- ComProg: Enter the Monthly Small Basic Guru Competition on TechNet Wiki! Similarly, XAML Guy and I host a monthly competition to get the best Small Basic articles published to TechNet Wiki! Tell us how you do something, turn a forum answer into an article, explain how to use an extension (yours or one you like to use), or explain your new game (with the code inserted in your article) so that it acts as a sample! Here is the list of all the previous Small Basic entries and winners! We usually sticky a post in the Small Basic Forum for the current contest. Or go to this Wiki page, click on the latest competition, and add your entry to the Small Basic section!
- ComProg: Earn Your Way into Small Basic Community Leadership! You can join our ranks of leaders in moderating TechNet Wiki articles about Small Basic and in Forum Moderation. See Small Basic: How to Join Leadership. Those who stick with us in those roles will be invited to join the Small Basic Community Council!
- ComProg: Teachers of Small Basic Can Join our Microsoft Computer Science Teachers Council! Please join us if you're a teacher of Small Basic, if you're a Small Basic curriculum provider, or if you're an administrator who enables teachers to teach Small Basic! Essentially you'll join a group of other teachers, curriculum providers, and program administrators, along with Microsoft team members leading Computer Science languages, tools, and programs. Together, we'll discuss tips and tricks to teaching Small Basic, as well as finding the best curriculum and making it better! See Microsoft Computer Science Teachers Council.
Key:
- UI: Social features enabled in the Small Basic IDE.
- ComPlat: Community Platforms - Social platforms that the Small Basic Community Council participates in, enabling more community collaboration!
- ComProg: Community Programs - Competitions, Challenges, and Councils put together to help power the community!
I know we're the only programming language to have all 13 of these opportunities for Social Interaction!
Now, here are the questions...
- Is Small Basic the first social programming language + IDE?
- Specifically I'm looking at #1 and #3 above.
- I believe Scratch 1.0 worked around this limitation by encouraging its community to upload projects to the forum for others to download (site "Project" areas that were associated with profiles). This started in 2007 and was called "Project Sharing" and the "Gallery". This seems to have been updated/fixed in 2012 with Scratch 2.0, where they added similar capabilities to Small Basic (which were available in 2008). So if that is true, then Small Basic had the "social sharing" features four years ahead of Scratch (because essentially the Project Sharing feature is the equivalent of Microsoft's CodePlex site, which was released in 2006).
- Is this assumption of Scratch true?
- Are there any other languages + IDEs that might have had these share to/from Web features that Small Basic launched with in 2008?
Thank you for your help in answering these questions! As the answers come in, I'll be back to update this page!
- Ninja Ed