Improving Bone101 Experience

Hi,

I’m studying Computer and Systems Engineering at Ain Shams University in Egypt. I’ve good experience in software engineering, web development in particular, I built projects on the client side and server side, and am interested in UI/UX. I introduced my graduation project as an idea to computer department, it provides an open source community for developers to find code snippets and test/run them online before using in projects. I also worked in hardware projects in college in Arduino and ARM, I implemented a circuit that multiply two numbers using only logic gates, and wrote assembly code for MIPS.

I’m using C++, Python, PHP, Scala, Javascript and familiar with Ruby. I found Bone101 is a great start for me to add my web development skills in a real project that is mix of both software and hardware.

My idea is aimed to improve the experience of Bone101 to make the most use of it to be friendly to novice developers, allowing them to work with BBUI inside tutorials, view and search other tutorials, and adding support for other languages. I can divide it into four phases:

First Phase, there is no way to go before fixing old issues related to styles and pages views, it’s also important to make the app faster by reducing the hassle of non-used libraries and provide the appropriate tools that can automate developing process and provide better response and performance.

Second Phase, BBUI is necessary for novice and providing the out-of-the-box experience, making it work in tutorials and providing the proper UX to newcomers like showing hints or tooltips on each component when applicable.

Third Phase, adding a tutorial page like the one of user’s own tutorials but to view all tutorials submitted by users, and providing search on tutorials, As I saw bone101 is currently working on Github gists for each user. I’m still not sure if we can get the all tutorials in one place, this can make anyone see tutorials and learn from others experience.

Fourth Phase, connecting Cloud9 IDE to bone101 to support different language, I went to cloud9 documentation and I found it possible to provide integration… then I’m going to provide a support for python language.

Those are my ideas for now on presenting a better experience to novice developers, I want to get your feedback if something is not clear, or is not doable. Also any suggestions or edits on current ideas are more than welcome, once I get confirmation I’ll submit the proposal with more details and milestones.

Best Regards,
Amr Ragaey

I need to send proposal ASAP… any updates please?

Do you have a draft proposal? I have some responses below…

Hi,

I’m studying Computer and Systems Engineering at Ain Shams University in Egypt. I’ve good experience in software engineering, web development in particular, I built projects on the client side and server side, and am interested in UI/UX. I introduced my graduation project as an idea to computer department, it provides an open source community for developers to find code snippets and test/run them online before using in projects. I also worked in hardware projects in college in Arduino and ARM, I implemented a circuit that multiply two numbers using only logic gates, and wrote assembly code for MIPS.

I’m using C++, Python, PHP, Scala, Javascript and familiar with Ruby. I found Bone101 is a great start for me to add my web development skills in a real project that is mix of both software and hardware.

My idea is aimed to improve the experience of Bone101 to make the most use of it to be friendly to novice developers, allowing them to work with BBUI inside tutorials, view and search other tutorials, and adding support for other languages. I can divide it into four phases:

First Phase, there is no way to go before fixing old issues related to styles and pages views, it’s also important to make the app faster by reducing the hassle of non-used libraries and provide the appropriate tools that can automate developing process and provide better response and performance.

Do you have a strategy for keeping the template simple and organized when cutting out unused libraries? Can you simply elaborate more on how you plan to clean up the code?

Second Phase, BBUI is necessary for novice and providing the out-of-the-box experience, making it work in tutorials and providing the proper UX to newcomers like showing hints or tooltips on each component when applicable.

Great! So, you’ve played with BBUI? Have you looked at my start of reimplementing it to be easier to read? Does it seem I started on the right track? Can you elaborate on how you will get BBUI integrated?

Third Phase, adding a tutorial page like the one of user’s own tutorials but to view all tutorials submitted by users, and providing search on tutorials, As I saw bone101 is currently working on Github gists for each user. I’m still not sure if we can get the all tutorials in one place, this can make anyone see tutorials and learn from others experience.

The strategy wasn’t to get them all in one place, but rather make it easy for people to fork tutorials and to share their forks. Enabling people to push the best tutorials back into the bone101 site is desired, but not the #1 goal.

I don’t understand what you plan to output in this phase.

Fourth Phase, connecting Cloud9 IDE to bone101 to support different language, I went to cloud9 documentation and I found it possible to provide integration… then I’m going to provide a support for python language.

Super! These are the exact roadmap items I’d hope to see. Do you have thoughts on how the integration would look? Have you been able to do any test c9 apps? Support for Python would be fantastic. Working to utilize Cloud9’s ability to run code would be amazing.

The main thing I’d look for here is that you could produce a realistic schedule and prove you’ve been able to comprehend the c9 api documentation.

Do you have a draft proposal? I have some responses below…

Hi,

I’m studying Computer and Systems Engineering at Ain Shams University in Egypt. I’ve good experience in software engineering, web development in particular, I built projects on the client side and server side, and am interested in UI/UX. I introduced my graduation project as an idea to computer department, it provides an open source community for developers to find code snippets and test/run them online before using in projects. I also worked in hardware projects in college in Arduino and ARM, I implemented a circuit that multiply two numbers using only logic gates, and wrote assembly code for MIPS.

I’m using C++, Python, PHP, Scala, Javascript and familiar with Ruby. I found Bone101 is a great start for me to add my web development skills in a real project that is mix of both software and hardware.

My idea is aimed to improve the experience of Bone101 to make the most use of it to be friendly to novice developers, allowing them to work with BBUI inside tutorials, view and search other tutorials, and adding support for other languages. I can divide it into four phases:

First Phase, there is no way to go before fixing old issues related to styles and pages views, it’s also important to make the app faster by reducing the hassle of non-used libraries and provide the appropriate tools that can automate developing process and provide better response and performance.

Do you have a strategy for keeping the template simple and organized when cutting out unused libraries? Can you simply elaborate more on how you plan to clean up the code?

I’ve a strategy to scaffold the app using Yeoman generator, I’ll make sure it’s compatible with current version of Jekyell… Generators use Grunt and Bower, through which I’ll be able to control libraries, packages, support concatenation to files, provide image optimization, CSS and HTML minification, JS uglification…I’m working in this environment in my projects, this allows me to detect errors and potential problems with code and keep it clean with good performance.

Second Phase, BBUI is necessary for novice and providing the out-of-the-box experience, making it work in tutorials and providing the proper UX to newcomers like showing hints or tooltips on each component when applicable.

Great! So, you’ve played with BBUI? Have you looked at my start of reimplementing it to be easier to read? Does it seem I started on the right track? Can you elaborate on how you will get BBUI integrated?

I haven’t played yet unfortunately, but Ehab told me that the code is being rewritten now as the previous version wasn’t good. I saw some progress with Canvas. I want to know the latest update of reimplementation, I need to see also the old code so I can continue the missing parts. FYI, I didn’t do something like that before but I’m interested in it and I’ll have fun learning and making it into action.

Third Phase, adding a tutorial page like the one of user’s own tutorials but to view all tutorials submitted by users, and providing search on tutorials, As I saw bone101 is currently working on Github gists for each user. I’m still not sure if we can get the all tutorials in one place, this can make anyone see tutorials and learn from others experience.

The strategy wasn’t to get them all in one place, but rather make it easy for people to fork tutorials and to share their forks. Enabling people to push the best tutorials back into the bone101 site is desired, but not the #1 goal.

I don’t understand what you plan to output in this phase.

My plan here is to get all users’ tutorials in one place, so visitors can see them when coming to website. I don’t know if this will be possible with current implementation with Github gists

Fourth Phase, connecting Cloud9 IDE to bone101 to support different language, I went to cloud9 documentation and I found it possible to provide integration… then I’m going to provide a support for python language.

Super! These are the exact roadmap items I’d hope to see. Do you have thoughts on how the integration would look? Have you been able to do any test c9 apps? Support for Python would be fantastic. Working to utilize Cloud9’s ability to run code would be amazing.

The main thing I’d look for here is that you could produce a realistic schedule and prove you’ve been able to comprehend the c9 api documentation.

Those are my ideas for now on presenting a better experience to novice developers, I want to get your feedback if something is not clear, or is not doable. Also any suggestions or edits on current ideas are more than welcome, once I get confirmation I’ll submit the proposal with more details and milestones.

Best Regards,
Amr Ragaey

Do you have a draft proposal? I have some responses below…

Hi,

I’m studying Computer and Systems Engineering at Ain Shams University in Egypt. I’ve good experience in software engineering, web development in particular, I built projects on the client side and server side, and am interested in UI/UX. I introduced my graduation project as an idea to computer department, it provides an open source community for developers to find code snippets and test/run them online before using in projects. I also worked in hardware projects in college in Arduino and ARM, I implemented a circuit that multiply two numbers using only logic gates, and wrote assembly code for MIPS.

I’m using C++, Python, PHP, Scala, Javascript and familiar with Ruby. I found Bone101 is a great start for me to add my web development skills in a real project that is mix of both software and hardware.

My idea is aimed to improve the experience of Bone101 to make the most use of it to be friendly to novice developers, allowing them to work with BBUI inside tutorials, view and search other tutorials, and adding support for other languages. I can divide it into four phases:

First Phase, there is no way to go before fixing old issues related to styles and pages views, it’s also important to make the app faster by reducing the hassle of non-used libraries and provide the appropriate tools that can automate developing process and provide better response and performance.

Do you have a strategy for keeping the template simple and organized when cutting out unused libraries? Can you simply elaborate more on how you plan to clean up the code?

Second Phase, BBUI is necessary for novice and providing the out-of-the-box experience, making it work in tutorials and providing the proper UX to newcomers like showing hints or tooltips on each component when applicable.

Great! So, you’ve played with BBUI? Have you looked at my start of reimplementing it to be easier to read? Does it seem I started on the right track? Can you elaborate on how you will get BBUI integrated?

Third Phase, adding a tutorial page like the one of user’s own tutorials but to view all tutorials submitted by users, and providing search on tutorials, As I saw bone101 is currently working on Github gists for each user. I’m still not sure if we can get the all tutorials in one place, this can make anyone see tutorials and learn from others experience.

The strategy wasn’t to get them all in one place, but rather make it easy for people to fork tutorials and to share their forks. Enabling people to push the best tutorials back into the bone101 site is desired, but not the #1 goal.

I don’t understand what you plan to output in this phase.

Fourth Phase, connecting Cloud9 IDE to bone101 to support different language, I went to cloud9 documentation and I found it possible to provide integration… then I’m going to provide a support for python language.

Super! These are the exact roadmap items I’d hope to see. Do you have thoughts on how the integration would look? Have you been able to do any test c9 apps? Support for Python would be fantastic. Working to utilize Cloud9’s ability to run code would be amazing.

The main thing I’d look for here is that you could produce a realistic schedule and prove you’ve been able to comprehend the c9 api documentation.

Actually I didn’t do any test c9 apps before, but I read on how it works because I was supposed to use it on my graduation project but I used docker containers instead, part of my project is to run code snippets online, So I found this phase similar to what I’m doing…What makes me exciting to do it.
My thoughts on how this gonna integrated, I will create a workspace on C9 and cloning the bone101 repo to it, and as I used Yeoman in first phase It’ll save efforts here to run the app on C9 on default http port, and it’ll be available on a url like that http://-.c9users.io, since the fact free users can’t run workspaces forever, You’ll need to upgrade membership for future production as can be seen here : https://docs.c9.io/v1.0/docs/inactive-workspaces.
Next, for running python code, the code’ll be pushed in javascript and sent to C9 ide to run, then the output will be sent back to the user… I found some information here on running any arbitrary code: https://apidoc.c9.io/c9v3/#!/api/run.
I’ve created a workspace and cloned the repo into it to test if I can do that, and found it easy:

Could you please provide feedback on previous ideas to know if i'm in the right track or not?
Thanks

I uploaded the draft version of proposal, kindly check it and leave your comments, Thanks