

GoAngular - build realtime, collaborative apps with AngularJS and GoInstant - franciso
https://goinstant.com/blog/new-release-angularjs--goinstant--goangular-

======
troyk
GoInstant is like firebase, realtime db in the cloud.

Not golang related as I can tell.

~~~
manojlds
Something related to golang would have been called golangular ;)

------
tehwebguy
This looks awesome.

I just signed up for GoInstant, won't have time to play with it for a bit but
now the signup email should remind me :)

~~~
slukehart
Thanks Tehwebguy, I'd love to hear your feedback once you've had that
'reminder' ;)

~~~
crucialfelix
submitting the blue "get updated" signup just went to a 404 for me.

[https://goinstant.us2.list-
manage.com/subscribe/post?u=HASH&...](https://goinstant.us2.list-
manage.com/subscribe/post?u=HASH&id=HASH)

~~~
byosko
We'll take a look ASAP, thanks for letting us know.

------
ing33k
I would love to use this for the app I am building, only thing thats
preventing me from using this is, I already have some data , and I need a way
to use my exiisting data ( may be offering an import solution would serve the
purpose )

~~~
ianl
We are preparing to launch an API in the coming weeks that will allow you to
import(and export) your data into GoInstant. We'd love to give you a sneak
peak by giving you access to the beta. If you're interested please drop me an
email (available in my profile).

------
tzaman
Why do these kind of tools have tendency to appear on HN about a month too
late? :)

~~~
kops
WebSocket book(oracle press) at the beginning of this month, TogetherJS a few
days ago and now GoAngular/Instant. For me the timing couldn't have been
better. TogetherJS has references to hosting your own server, but I couldn't
find something similar on GoInstant. I am still digging around on their site
though.

BTW, what did you end up doing? Did you build something of your own? Any
gotchas you would like to share? I am investigating if Nginx will co-operate
with the websocket connections and what will be the price of maintaining live
connections to a bunch of clients. I am kind of inclined to build and run my
own server...

~~~
ianl
You don't need a server, we offer our realtime collaborative stack as a
service. We're cooking something up right now similar to TogetherJS, if you'd
like a sneak peak drop me a email (in my profile).

If you want to build and host your own realtime application take a look at
HAProxy (tcp mode in 1.4) for load balancing the incoming websocket
connections to your application stack. There has been a lot of success using
Node.js with engine.io, socket.io, or take a look at the meta Primus module.

~~~
kops
Thanks a lot for all the pointers. Really appreciate it.

BTW any plans to zero-in on the pricing anytime soon? I saw that for one app
you will always keep it free, but it will be nice to know what happens beyond
that..

~~~
ianl
We're working on pricing now. No timetable at the moment, but you do get 1 app
for free. We know its really important and we're working on it now.

We'd be happy to talk to you further about it and get your feedback.

~~~
kops
No worries. I will keep following it up on your website. Thanks,

------
jahewson
I don't understand what GoInstant does, the "How it Works" page tells me
nothing. How does the real time functionality work? Is it MVCC, Operational
Transformation, just a locking protocol?

~~~
ianl
GoInstant offers a hierarchical key-value store that is synchronized between
all users inside your application. We offer a couple of mechanisms when last-
to-write is not sufficient.

You can use set overwrite[1] (similar to redis SETNX) with key expiry[2] to
create locks and then leverage our ACL[3] to secure[4] which users and groups
can modify the data.

We are currently planning to implement MVCC based transactions and operational
transformation primitives into our core Key interface. I can't say when these
features will be ready, but we definitely want to get to them!

[https://developers.goinstant.com/v1/javascript_api/key/set.h...](https://developers.goinstant.com/v1/javascript_api/key/set.html)
[https://developers.goinstant.com/v1/javascript_api/key/expir...](https://developers.goinstant.com/v1/javascript_api/key/expire.html)
[https://developers.goinstant.com/v1/guides/creating_and_mana...](https://developers.goinstant.com/v1/guides/creating_and_managing_acl.html)
[https://developers.goinstant.com/v1/overview/security.html](https://developers.goinstant.com/v1/overview/security.html)

------
jorganisak
Any plans to offer security rules similar to Firebase? Really love what you're
doing but that's a deal-breaker for me unfortunately..

~~~
ianl
We currently have a comprehensive security model in place which is detailed in
our developer documentation at
[https://developers.goinstant.com/v1/overview/security.html](https://developers.goinstant.com/v1/overview/security.html).

We offer fine-grained access control lists that work with our authentication
mechanism that gives the developer the ability to determine exactly which
users and groups can modify data. You can read more about our ACL
implementation at
[https://developers.goinstant.com/v1/guides/creating_and_mana...](https://developers.goinstant.com/v1/guides/creating_and_managing_acl.html).

Security is a huge priority for us and will continue to be moving forward, we
will continue to work towards building features that enable and documentation
that focuses on building secure realtime applications using our Platform.

------
taybin
So is GoInstant a javascript wrapper around an XMPP service? I wonder if they
use ejabberd.

~~~
ianl
We're built on a custom architecture and internal protocol, it allows us to
internalize a lot of concerns.

~~~
taybin
Neat.

------
secretmike
Nice work guys - Looks very slick!

------
loceng
How does this differ from Firebase?

------
berto99
what's the difference between this and parse?

------
nairboon
sounds like angularjs with golang backend,kind of irritating :/

~~~
kops
My first impression is that it is like extending the two-way binding of
AngularJS across the wire. Not sure though...

~~~
slukehart
That is pretty much bang on Kops :)

------
jlebrech
go?

~~~
adamdennis
GoInstant

~~~
jlebrech
so it's an instant way of hosting go? I think not.

~~~
byosko
GoInstant isn't related to Go (the programming language), just has "Go" in the
name of the company. It's a realtime, collaborative stack.

~~~
jlebrech
totally agree with you, but why take the name GoAngular? now a protect that
ties go and angular can't be called goangular

~~~
bpicolo
Sure it can.

~~~
bkurtz13
They can call it GoLangular

