PageNodes

266 views
Skip to first unread message

Max Hadley

unread,
Apr 19, 2016, 8:51:14 AM4/19/16
to Node-RED
I just came across PageNodes (https://iceddev.com/blog/introducing-pagenodes) which looks like an entirely browser based version of node-RED. I presume the idea is to make web apps in the same way node-RED makes server based applications. I don't quite see how you would put together a UI, but maybe that will appear. Anyway, it might give someone ideas!

Max

Nathanaël Lécaudé

unread,
Apr 19, 2016, 9:19:30 AM4/19/16
to Node-RED
You might also want to check my Electron node-red app example:

It's a desktop app built using electron with node-red embeded and node-red-contrib-ui as the ui.

Dave C-J

unread,
Apr 19, 2016, 2:23:13 PM4/19/16
to node...@googlegroups.com

+1 for both of these. Neat extensions / variations of the core.

Josh Conway

unread,
Apr 25, 2016, 11:49:36 AM4/25/16
to Node-RED
Greetings,

I saw that as well. PageNodes is awesome in its context. And if you need a client-side only Node-Red it's the boss.

Now, I've been working on another technology, called InterPlanetary File System (http://ipfs.io). Essentially, it's a single world-wide GIT repo for everything, with the system verified by self-certifying files, and backed by a BitTorrent engine to transfer data rapidly. What it allows is 'effectively' infinite storage, and client-side stuffs.

So, I've converted PageNodes to IPFS.

http://ipfs.io/ipfs/QmSCrZUPkqH4gsncsD7tGXPiFpymsbwmywsHXLDhBtSQ6T 

(or http://127.0.0.1:8080/ipfs/QmSCrZUPkqH4gsncsD7tGXPiFpymsbwmywsHXLDhBtSQ6T if you're running the ipfs software)

What this means is that hash, no matter where you are, or what machine you access it from, will **always** go to that content. I also have quite a bit of other content addressable via IPFS as well. I'll link to them for more examples, but the above link is very relevant :)

Jor1k Linux in the browser: http://ipfs.io/ipfs/QmRymducEftvkHuYEVJFkcNtSiooUVXzsvNoPnNEPu2o1a
Star Trek Horizon (fan-made movie): http://ipfs.io/ipfs/QmYGD41np8igDK743qMxKuXcJ7JVdryhNnRgXAypD6HH83
quickMockup Application mockup: http://ipfs.io/ipfs/QmZcHax5rt4RM164asas3Rx6JJ5W1W1T6RGNWMXdPT7Szz
Atari 2600 emulator/games : http://ipfs.io/ipfs/QmacAqRVhJX9eS7YJX1vY3ifFKF9CduDqPEgaCUSa4x5xb/

If there's any questions, feel free to ask, either about IPFS, Node-Red, or PageNodes :) I'm also good with Tor.

Sincerely,

Luis Montes

unread,
Apr 25, 2016, 12:10:48 PM4/25/16
to node...@googlegroups.com
This is amazing, Josh. 

I heard about ipfs at our local IoT meetup and someone mentioned PageNodes might be a good fit.  Thanks for setting that up!  Let me know if there was anything that needed to be changed upstream to make sure it can stay updated as I add features to it.

Luis

--
http://nodered.org
 
Join us on Slack to continue the conversation: http://nodered.org/slack
---
You received this message because you are subscribed to the Google Groups "Node-RED" group.
To unsubscribe from this group and stop receiving emails from it, send an email to node-red+u...@googlegroups.com.
To post to this group, send email to node...@googlegroups.com.

Josh Conway

unread,
Apr 25, 2016, 1:28:31 PM4/25/16
to Node-RED
The awesome thing is I needed to change nothing!

Everything was elegantly done, so all I needed to IPFS-ify Pagenodes was to

ipfs add -r [pagenodes directory]/public

This adds the files to the store. There's keys attached to everything, but all we care about is the key attached to public/ And since you have the main index.html, the browser pulls that and everything just works!

Ideally, the "correct" way is to use IPNS (interplanetary name service). IPNS serves as a pointer to whatever you want to point at. So as your files/updates occur with Pagenodes, the IPFS hash changes. With IPNS, it is its own key.

For example:

ipfs name publish QmSCrZUPkqH4gsncsD7tGXPiFpymsbwmywsHXLDhBtSQ6T

Publishes the Pagenodes IPFS hash to my computer's public key (QmYn2VAzu6uypT6BiwyErM8p2nXKVBnwpTAgs1FiSbPA7b)... So if you go to http://ipfs.io/ipns/QmYn2VAzu6uypT6BiwyErM8p2nXKVBnwpTAgs1FiSbPA7b , it too will take you to the hash I pointed at above.

So if you wanted to use IPFS in your build, just do the following:

ipfs add -r [path_to_pagenodes]/public
ipfs name publish [public's key]

All the best,
Josh

Dave C-J

unread,
Apr 25, 2016, 2:39:27 PM4/25/16
to node...@googlegroups.com
what is this voodoo !!! :-)

Dave C-J

unread,
May 2, 2016, 5:04:32 AM5/2/16
to node...@googlegroups.com
Josh

I see there is a JS version of IPFS - https://github.com/ipfs/js-ipfs
would that help create an meta package ?

Luis Montes

unread,
May 4, 2016, 7:28:31 PM5/4/16
to node...@googlegroups.com
I just added a tiny and optional plugin to chrome apps store:  https://chrome.google.com/webstore/detail/hardware-extension-for-pa/knmappkjdfbfdomfnbfhchnaamokjdpj

If you have this installed, you can use serial devices directly such as Arduino UNO from https://pagenodes.com on chrome.  This also allows for firmata over TCP.  Especially cool for ESP8266 since we now have a firmata sketch for it:  https://github.com/firmata/arduino/issues/257


On Tue, Apr 19, 2016 at 5:51 AM, Max Hadley <m...@zepler.org> wrote:
I just came across PageNodes (https://iceddev.com/blog/introducing-pagenodes) which looks like an entirely browser based version of node-RED. I presume the idea is to make web apps in the same way node-RED makes server based applications. I don't quite see how you would put together a UI, but maybe that will appear. Anyway, it might give someone ideas!

Max

--
http://nodered.org

Join us on Slack to continue the conversation: http://nodered.org/slack
---
You received this message because you are subscribed to the Google Groups "Node-RED" group.
To unsubscribe from this group and stop receiving emails from it, send an email to node-red+u...@googlegroups.com.
To post to this group, send an email to node...@googlegroups.com.

Luis Montes

unread,
May 10, 2016, 11:19:56 AM5/10/16
to node...@googlegroups.com
Just updated the way the peer-to-peer nodes work on pagenodes.  Much more reliable now, and has the ability to send large messages.

You simply create a signaling identity and share that with your friends.  Then create input and output nodes for messaging your friends with their identities.

No you can send arbitrary sized messages directly peer-to-peer over and encrypted channel.  

As such, I increased the resolution of the webcam node.  Go send some selfies :)


Julian Knight

unread,
May 11, 2016, 4:54:38 AM5/11/16
to Node-RED
It is exciting stuff. Just starting to get my head around it.

What is the text input box in the debug sidebar for? It says that it injects text but I'm not sure where to!

Also, what is the login for on the pagenodes.com site? Does it actually make a difference?

Luis Montes

unread,
May 11, 2016, 11:54:14 AM5/11/16
to node...@googlegroups.com
Thanks for the feedback, Julian!

The debug text field is something I added that would probably be cool for node-red upstream too.  It allows you type in text and just hit enter to inject a new message into a flow.  The inject nodes have a checkbox in their configuration that allows them to accept input from the debug tab.

This lets us send new messages from the UI without having to redeploy each time.  You can use it to easily create a chat room in the debug panel, and even add pictures with the webcam that display there too :)

The login is completely optional.  We just added it so you can save a flow to your account so you can import it onto another device later.  I find it easier to do a complex design on a desktop, then import it into a mobile device instead of doing the design on mobile.

Luis

To post to this group, send email to node...@googlegroups.com.

Julian Knight

unread,
May 11, 2016, 12:47:54 PM5/11/16
to Node-RED
Ah, right thanks for the explanation. I like the webcam view in the debug display :)

Luis Montes

unread,
May 12, 2016, 5:16:47 PM5/12/16
to node...@googlegroups.com
Just added animated gif support to the camera node this morning.  Could make peer-to-peer private chats more interesting :)

Also, thought I'd take a stab and removing all the node icons and just using font awesome for everything.   Still needs a little bit of tweaking, but looks really nice when zoomed in.



Luis Montes

unread,
Jun 12, 2016, 11:32:27 AM6/12/16
to node...@googlegroups.com
More updates:

Moved function and johnny-five scripts in their own webworkers.  This has the benefit of increasing overall performance as well as sandboxing the scripts so that they can't kill the UI if a user writes an infinite loop in their own code.

Cleaned up service worker code so that it pre-fetches the stuff needed for offline use.

Merged some more client code, so it can load the app in less than 3 seconds. 

Luis Montes

unread,
Jun 12, 2016, 11:35:26 AM6/12/16
to node...@googlegroups.com
oh, i forgot, the biggest thing:

You don't need the Arduino IDE to get started with hardware now!  If you have the extension installed, you can write the firmata sketch directly to boards like UNO, Nano, and others right from https://PageNodes.com 

Luis Montes

unread,
Jun 28, 2016, 12:53:47 PM6/28/16
to node...@googlegroups.com
Since IoT buttons are all the rage, I added them to pagenodes:  https://iceddev.com/blog/a-universal-iot-remote-control-web-app/

Makes it easy to send stuff whatever backend, including node-red of course :)
Reply all
Reply to author
Forward
0 new messages