OFFLINE version of BlocklyProp

The other day, Ken posted on F/B an online pool, about an "OFFLINE version of BlocklyProp"!!!

Personally I found it awesome!
Does anyone especially from BlocklyProp developing team has any more information?

Personally I found it awesome!
Does anyone especially from BlocklyProp developing team has any more information?
Comments
-Phil
To the question. For now, they're keeping me at arm's length and on a need-to-know basis. Pretty soon though, I'm expected to receive more information about the schedule, design considerations (i.e., what does it mean for Chromebook users?) and who is building the system.
Ken Gracey
-Phil
+1.
Also once a month Comcast can go down out here. Sometimes more. Would stink to have to cancel a class because Comcast was down.
That said, when everything was working it seems I'd prefer cloud based so students can work from home and on any laptop at the school.
Maybe so. But when I taught robotics with the ActivityBot, I lent each student an Activity Board to take home. I even bought one student a used laptop, since he didn't have a computer at home. To a person, not one ever used the Activity Board outside of class.
So I'm not sure that most students would be motivated enough to work on their Blockly projects at home, even given the opportunity. In any event, there's no reason they couldn't do so via the school's server if Blockly were installed there, since it's just a web access.
-Phil
I have C, SPIN, and PBasic on my home computer and can program anywhere and anytime without being connected, I LOVE that ability and I'm just learning how to program.
Would you be interested in using it in this capacity?
Ken Gracey
Myself and many of my minions don't always have internet access available,
We like to have the 'disc' so we can play anytime.
-Tommy
And for heaven's sake, please give users the ability to create their own Blockly blocks! Keeping that part in-house is just wrong. It needs to be an open, universally-accessible, universally-configurable system.
-Phil
At the present moment, we have a solution where users can copy/paste code from BlocklyProp into SimpleIDE. This works, but it's not seamless, fast, and without a little bit of setup. The only hangup in releasing it is time - one of us has to post it. I expected to have it done today, but it looks like early next week.
As for creating your own blocks, you can do this. The whole environment is open source. You can clone the whole system and make it whatever you want. Merging with our code base is a little more complex, though. You can't add them into the main Parallax root without our involvement. We have a couple of steps to get these things to the servers, along with a few internal steps (reference support, some testing) to see that they are supported.
Are there blocks you want, Phil? Just post them in our GitHub and we will make it happen. We'd love to have others involved in the way you described. But give us a break on the management side - if we crack it wide open it will become a bit messy for the target user.
Ken Gracey
Moreover, with hundreds of people writing blocks, instead of just your employees, Blockly will be much richer much quicker.
Okay, how about a driver for the TSL1401 for recognizing edges, widths, positions, etc? Got anybody on staff who wants to tackle that? No? I've worked with that chip for more than 25 years and could do it in a heartbeat, given the right tools.
Ken, you really have to open it up, so that those with specific expertise can contribute.
-Phil
You know that BlocklyProp at present runs on our AWS servers. There's a GitHub environment and staging server, so making changes requires our team to deploy files. There are databases with COPPA-protected data, too.
The place we can plug in everybody who wants to contribute is right here https://github.com/parallaxinc/BlocklyProp. It's just a bit upstream from where you might like to participate. You can post issues, code blocks, interact with the other half-dozen people who are actively working on the system. Then, as you pointed out, we can make the system richer much faster.
There are other considerations towards block creation, too. There's the hardware itself, which we would ideally sell unless it's so widely popular and commonly available. Customers need to be able to connect the hardware, too, to a FLiP or PAB. Educational customers want to be able to buy the hardware we're BlocklyProping. Else we might as well direct them to ArduBlocks, which has a mess of shield support they get from different places.
You also have to want to do this in the language we're using. Because of the popularity of Spin among forum members I foresee this being a problem for some. Blockly is based on our C code.
We want the help. I just want to be sure that the cloud infrastructure, C language, and desire to sell the hardware we BlocklyProp is understood.
TSL1401? Would love to see that happen!
You may not like any of this. But this is also the way it is. This program isn't designed to block people out from contributing, nor does that serve our business. However, Parallax's free-wandering budget for research oriented activities has been spent 12x over so this activity must be managed so we can survive as a company.
Ken Gracey
Went there. Couldn't find any C code for individual blocks. It'd be nice to see an example of a block somewhere, say, for the standard servo.
-Phil
Start a new thread about the TSL1401, the interface to it, and I'll get Matt to jump in and give some direction about how to best achieve this. If we need a library to talk to it that's really the only big hurdle.
There's a learning curve, but it's it not steep. In the meantime take a look at the Block Factory. While we don't use Block Factory-generated code, it gives you a good idea about how you might use blocks to interface to a sensor.
There's room to participate.
Ken Gracey
It's a multi-step process. First we need to port the desired Spin code to C, then create a library, and then a block. You can contribute (it's an open source project) or tell us what you envision by making a feature request here https://github.com/parallaxinc/BlocklyProp
So far, this series of steps scares off people. It shouldn't, though, as the result has been well-worth the effort and our development team has a half-dozen people who know how to help.
Ken Gracey
Thanks,
-Phil
What curtain do you speak of, theatre-goer? The code base is entirely open, at least the front browser-side of things. What's unique about this system is that it runs in the cloud and has associated databases to support it. That latter part is COPPA-compliant and secure, because of the audience we're serving and not part of the GitHub we've listed above.
Most all of this runs in your browser and it's now possible to run it entirely offline, too. Looking at those files might be an easier way to understand the whole interaction. If you'd like, I can send you instructions on how to set it up offline. Looking into this might help you a bit (I'm no programmer, as you know).
I suppose for the full "curtain reveal" we'd need to explain how to code for a block. Here's how I see one can participate in the present design most efficiently:
(a) Identify what you want to do. Make a GitHub issue for it, so we can help the goal get achieved.
(b) If your concept is coded in Spin/ASM, it will be run through Spin2Cpp so it can live in the BlocklyProp system (we don't mix Spin and C). Sometimes a library is needed.
(c) Define how the block should look and work. Model it in the Block Factory so you have an example. Share that back to the GitHub issue you created.
(d) We (or contributors) can code the Block in JavaScript and make it part of the system. We also create a reference guide notation for it at the same time.
The current approach requires us to some extent, as you can see. More actors are welcome in the theatre, however.
What would you like to see be part of Blockly? Maybe we should start there.
Is my reply useful or useless? Tell me what you think - I have elephant skin!
Ken Gracey
It works perfectly reliably, but the setup and use is totally unsupported until we get a formal installer to tidy up the little modifications you need to make (2-3 of them) for this to run on a PC.
-Phil
I' would like to try the offline BlocklyProp. As far for GitHub I need some time to understand the all concept.... At least I only need an offline version of blocKlyProp to give me more freedom to work my projects without the need of the internet...
Ken I'll send you an e-mail to send me the setup instructions.
Need for a student email to set up an account