
Fellow at @intridea, co-founder of @divshot, creator of @quptv, purveyor of fine open source software for the web.
Unfortunately pretty much none of it was working for me (latest Chrome). Couldn't create a canvas so I used your existing link. I could add a sticky note but couldn't drag it or change the text. Pretty neat idea though! | |||
Thanks !!
It's a lack of testing in other browsers :( We can use it in Chrome and Safari without problems but it was our first time with html5 canvas and used a jQuery Library for that is in beta so... We are planning to change this from html5 canvas to plain html and javascript.
Thanks for your vote and feedback!
Seems to be very well done real-time collaboration work. I'm curious, did you roll the real-time stuff from scratch? Do you have any plans to open source any of this? I have...uses for it :) | |||
It isn't very well done :) I guess that you saw the video - we were really trying not to break things :P
The fact is that the syncing algorithm was the biggest challenge. We couldn't follow Google Doc's way, because they aren't using contenteditable. They aren't using HTML. They rendering every letter from scratch and listen for every user action.
CKEditor is based on contenditable and that lets us integrate it directly with websites. We don't listen on every user action and draw editor contents, browser does this. Unfortunately, then we have to sync DOM, not user actions. And here problems begin :) It's very hard to diff and sync DOM without breaking caret and many other things. We wrote these algorithms from scratch and they can do basic diffing and syncing (we prevent diverging, because we implemented kind of SCM :).
The problem is that now, when someone type, text node or element is removed and new one is inserted on the same level. This is enough when two users type in separate blocks, but when they do this in one, then their carets are reset because I'm deleting&inserting text nodes in which they are :). Another problem is with synchronising changes like paragraph -> h1, because we should restore other carets that were there. Etc. etc. A lot of problems have to be solved to make EPIC usable.
But we're planning to try this. Luckily, we're CKEditor core developers, so we have some background that is essential for this project. I hope we'll be able to solve some critical issues and we definitely open source this project. In fact, we'll publish code in few days.
Love the simplicity of the app, gets out of the way and all very quick to manage. Could probably use some things like email notifications when people sign up for things etc. Solid effort! | |||
Wow. Really impressive effort for 48 hours. It's not very clear that right now you're only analyzing JS (tried it on a Ruby project or two and got nothing back) so might be something to look for. Also, would be great to be able to have a .canaryignore -- all of the worst complexity files in my project were library files like handlebars and underscore. Regardless, fantastic effort. Have to knock you on innovation a bit because CodeClimate is pretty much the same thing (in the Ruby world) but I knocked you back up a bit for your clever branding and video. Great job! | |||
We got knocked up AGAIN? ;)
Cool idea but it looks like you weren't able to take it as far as you'd have liked. While I like the simple modern look your icon-only design made usability suffered (I have no idea what 90% of the buttons are supposed to do). Bummer that you didn't have the team you were hoping to have, would love to see what could have been :) | |||
Group chat would normally get a 0 on the innovation scale, but I do like the "functions" concept and if made extensible that could be really cool (although Google didn't have much luck with Wave). Clean, simple design is nice but this is a super-crowded space and I'm not sure there's enough to differentiate this from Campfire, HipChat, Flowdock, Grove, etc. Still, a nice app, well done. | |||
Thank you! We have some ideas how to differentiate, we will see :)
Nice simple concept and something that I think would be useful to a number of people. My problem is that for this to work well it would actually have to be hosted on some unassailable uptime server disconnected from all common public clouds. I'm not sure that something like that makes sense for a Node Knockout entry. There's the start of something neat here, I'd just like to see more functionality. | |||
This has, unfortunately, been done a dozen different ways over the years and never with much success. There's an inherent problem of network effects: the web is a big place, chatting with people on anything but the biggest, most popular websites is going to be impossible. For instance, no one was online when I tried to chat at your own entry page. Probably should also associate with existing social accounts (FB, Twitter) and tell me where my friends are browsing or something to try to loop in more engagement. | |||
Thanks for your advice! This was a concept that we wanted to test with other people around the world and with the nodeknockout community =D
Well executed, simple app. You get 5 stars for completion for not letting me try to send $1,000,000.00 to someone. Knocking you some on innovation if only because the mobile payment and "easy to send someone money via X" is very crowded. Well done and very snappy. | |||
Didn't know that you could use the accelerometer like that in JS...cool stuff! Good proof-of-concept game.