Looks great, am using JSQMessageViewController, will try this out, but I am a little confused about whether it can really be used without LayerKit (Layer proper?).
Looking through the docs for getting started, a LYRClient and LYRConversation are required to init a ATLConversationViewController. So it seems this is really tightly coupled with the comms stack?
@sammybauch Hi Sam - Blake from Layer here. Atlas is tightly coupled with LayerKit and the Layer messaging services that it depends on. These dependencies create the delta between JSQMessageViewController and Atlas in terms of code that you have to write to get your messaging experience live. JSQ is a general purpose UI toolkit and thus utilizes a lot of callbacks to allow you to integrate your underlying services with the UI. Atlas, in contrast, is tightly coupled with Layer and is therefore able to present a much leaner API because there are less unknowns. All the service integration and architecture is done for you.
@blakewatters thanks, understood. I had assumed from the "open source" aspect that Atlas would be usable without Layer via some sort of message protocol that message/conversation objects would have to conform to.
Using a service for the full stack is something I'm interested in but I do have a messaging experience live. There are a few features I would absolutely need in order to switch (1:N messaging, "bot" messaging done locally) that I don't see in your docs. Would be happy to take the convo off-PH to see if we might be able to make it work. I'm sbauch vaynermedia com
@blakewatters@sammybauch I make @konotor and we provide our own customizable UI for the messaging as well. I was going to check this out to see if there's a common open source UI that we could move to as well and have our customers benefit. Looks like its too coupled with Layer itself then?
Messaging is hard, same goes for a great messaging UX.
I've implemented quite a few messaging features in various products where messaging was important for the overall experience but not core of the value proposition. It's a real time-sink even if you only want to get it somewhat right.
Very inspiring. I love it when companies provide great technology at the core and then go way beyond that core to deliver an end-to-end solution for what the actual job-to-be-done is.
This is very very rare for developer tool companies (b2d).
Kudos to the whole @Layer team.
The concept is simple but it is incredibly hard to pull off.
Only a few come to mind like Apple, Stripe, Layer …
Thanks for the kind words @__tosh!
We love to power communications, and we recognize that is way easier to start building a great experience when you can play with something right away and see how it feels.
With Layer we removed the need to build your own communications stack over and over again, maintain it and scale it. We are going above and beyond to bring all the functionality and quality people are used to from the most popular communications only products into every other product.
Atlas is a step further. We know building great communications UI is equally hard and time consuming. We want to get developers and app creators there faster, so that they have more time to iterate and really focus on what matters most - building amazing experiences for their users.
@ezrasuki hi Ezra - happy to clarify. Layer is a general purpose communications platform. Atlas is a UI toolkit that is built around the messaging services and programming model exposed by the Layer SDK. It provides very clean APIs that directly expose the Layer services. This is a trade-off -- in order to be backend agnostic Atlas would be considerably less simple and magical. We think of it like Apple's Cocoa APIs: you can get higher level abstractions if you are vertically integrated.
Finally a decent alternative to JSQMessageViewController http://www.producthunt.com/posts...
Love that all the read/unread and real-time conversation view updates is all built in, I've had to build this boilerplate time and time again.
x-hed