Does Pedestal have a future in the long run

2,643 views
Skip to first unread message

Marko Kocić

unread,
Nov 7, 2013, 5:30:59 PM11/7/13
to clo...@googlegroups.com
Hi all,

I'd like to hear opinions about Pedestal from the people that have been playing more with it. Right now I started looking at it, and like some of the things, but not sure should I invest more time learning it. While I do like some concepts, I'm not sure is it going to became abandonware like Clojurescript One (does anyone reemembers it anymore).

So far, after initial splash, I haven't seen large community interest in it. The number of aproachable getting started guides and hands on tutorials is missing. That might change over time, but I'm afraid that next year this time we'll get another Clojurescript one page application framework not much related with Pedestal. How serious Cognitect/Relevance is about it?

Best regards,
Marko

Andreas Liljeqvist

unread,
Nov 7, 2013, 6:12:11 PM11/7/13
to clo...@googlegroups.com
I sure hope it does.

Not a master of it yet, but the concept seems very interesting.
I know that there is a guy writing a book about it.

Many of the other somewhat related technologies like Django are a completely different cognitive model.
More tutorials would be great, also they should stress the importance of understanding the model.
Its kind of glossed over in the tutorial.


--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@googlegroups.com
Note that posts from new members are moderated - please be patient with your first post.
To unsubscribe from this group, send email to
clojure+u...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Marcus Blankenship

unread,
Nov 7, 2013, 6:58:26 PM11/7/13
to clo...@googlegroups.com
It seems like Congitect is heavily invested in it’s future, and committed to moving it forward.  I suspect it will change significantly as adoption increases, but that will probably be a good thing.

Clojure is still so new that it’s hard to know if there will be “one web framework to rule them all”, IMHO.

I suggest investing yourself into it.  It can’t hurt, and will make you a better cl/cljs dev if nothing else.

marcus blankenship
\\\ Partner, Problem Solver, Linear Thinker
\\\ 541.805.2736 \ @justzeros \ skype:marcuscreo

Ryan Neufeld

unread,
Nov 7, 2013, 7:38:09 PM11/7/13
to clo...@googlegroups.com
Speaking as a core Pedestal team member and engineer at Cognitect I can say we are very serious about continuing to grow and support Pedestal. It may be quiet, but we're using the entirety of Pedestal with a number of client and are fervently preparing a number of new features and improvements we plan to announce at the Conj next week. Further, we've even begun selling commercial support that includes Pedestal[1].

ClojureScript One was a huge influence on pedestal-app, but you're completely right that we've abandoned it and should probably wind things down there.

Are there any other questions I can field while I'm here?

Daniel

unread,
Nov 8, 2013, 1:02:36 AM11/8/13
to clo...@googlegroups.com
I suspect Pedestal adoption will really take off once it has a well designed and advertised widget/ui toolkit. Just my two cents.

Ryan Neufeld

unread,
Nov 8, 2013, 1:47:17 PM11/8/13
to clo...@googlegroups.com
Shhh! Don't spill the beans.

Andreas Liljeqvist

unread,
Nov 8, 2013, 5:39:04 PM11/8/13
to clo...@googlegroups.com
Will there by any presentation on Pedestal, or just announcements?


Ryan Waters

unread,
Nov 8, 2013, 7:29:03 PM11/8/13
to Clojure
Pedestal-app and pedestal-service seem like they have a lot of solid design behind them and there's quite a few bright people that have put time into development and documentation.  I don't doubt Cognitect's dedication to the project or their ability to derive productivity from it.

I program in clojure on a part-time basis and when I first learned about pedestal (specifically pedestal-app) it was very promising.  I wanted to see if the next website I made (using clojurescript in the browser and clojure on the server) would be a good match for pedestal and I've spent the past couple months reading (and re-reading ... and re-reading ...) the available pedestal-app documentation, pedestal sample apps and especially the app-tutorial.

After many hours I've decided to move away from pedestal-app, at least for the time being.  Earlier I had done some proof-of-concept UI stuff with C2 (think moving an array of images a la google maps) which went pretty well.  It was my first time learning and using clojurescript and C2; cljsbuild was a delight.  I decided the next step was to try to take what I had and translate that into pedestal-app.  The message oriented communication between different parts of the app, the ability to build client-server communication without a server, the ability to step through recordings of app interactions for testing, shared clojure / clojurescript code, etc. were all very appealing.  Especially compared to plain javascript in a browser, there's the ability to use clojurescript (a win), the ability to avoid callback mess (which can also be avoided through FRP stuff like javelin), and a message oriented architecture (which seems superior to FRP?) which all made pedestal very compelling.

Each time I worked with pedestal-app I would make some progress but progress was slow.  I was wading through a swamp of maybe strange convention and overcomplication.  app-tutorial was at times illuminating and cryptic; each read through would teach me something that I thought could have been, perhaps, better explained than it was.  I wanted to re-write the whole of app-tutorial and offer it up as supplemental documentation but I wanted to work on my website more.

Another aspect to my story is that I don't know of anyone else that uses any of this stuff so outlets for questions are limited to mailings lists and IRC and I try to keep myself from asking bad or 'obvious' questions to that helpful crowd  ; )

I've since moved on to looking at using a collection of libraries like hiccup/domina/dommy/whatever for DOM stuff (I don't care - they would all work for my needs) and - *crucially* - using core.async as the glue that will facilitate the interactions between all the pieces of the UI stuff.  I have renewed excitement for the project that I'm working on because I'm no longer stuck in slow motion.  Again, I only essentially have "hobby time" to work on this but in one week of learning core.async, with special thanks to David Nolen's tutorials and example code, I know how to proceed.  I'll have to write some additional stuff that pedestal-app would have provided out of the gate but it's nothing daunting.  And it's exciting.

Pedestal-app was too cumbersome for me, overly complicated and/or not the kind of documentation I wanted but there's still a lot of great ideas behind it.  I'm interested to see what pedestal-app's rate of adoption and new developments will be, too, and it might be something I would return to in the future.

kovas boguta

unread,
Nov 8, 2013, 8:14:29 PM11/8/13
to clo...@googlegroups.com
On Thu, Nov 7, 2013 at 5:30 PM, Marko Kocić <ma...@euptera.com> wrote:

> related with Pedestal. How serious Cognitect/Relevance is about it?

There is a ton of activity in the repo. Looking forward to v3.

Ryan Neufeld

unread,
Nov 9, 2013, 1:33:57 PM11/9/13
to clo...@googlegroups.com, Andreas Liljeqvist
Stuart Halloway is doing a presentation and we’ll be dumping a lot more new stuff into the repository. I made a mistake in saying we had an announcement, it’s more just that we’ll be talking more publicly about what we’re working on following next week.

-Ryan 

You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/XQ4wuUc0bCk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.

PublicFarley

unread,
Nov 10, 2013, 9:55:09 AM11/10/13
to clo...@googlegroups.com
I hope that this time around the Pedestal talk will be recorded. The lack of any nice recorded video talks discussing Pedestal has been an additional barrier to entry.

- Farley

Ryan Waters

unread,
Nov 10, 2013, 10:10:56 AM11/10/13
to Clojure
Thank you Saravana.  I'm finding a number of the posts David Nolen [1] has written on his blog to be invaluable.  Once I figure out what mix of libraries I'll be using I can let you know!

Cedric Greevey

unread,
Nov 11, 2013, 1:04:09 AM11/11/13
to clo...@googlegroups.com
IMO it can often be a lack of readable, searchable, nice-to-navigate text/hypertext that can be a barrier to entry. In fact all of these are unfortunately common in various parts of the geekosphere:

1. Projects whose *only* documentation (or the only version of certain key information) is in videos. Not searchable. Not easy to navigate to a particular part (need to remember roughly when it is, or rewatch half the thing). Expensive for mobile users with capped or per-megabyte data plans.

2. Projects whose *only* documentation is reference-type material that does not introduce the library/whatever to total n00bs. A common case is for there to be beautifully detailed Javadoc for every public class, method, and constant in some Java library, but nothing to give a n00b a clue as to where to start using it. Sometimes it's fairly obvious (there's a problem domain class Foo that it makes sense to instantiate first, and that class has a public constructor, has a public static getInstance method, or sits next to a FooFactory class in the same package, and this is well-documented) but often it's not. Regardless, it would be preferable for there to be a "getting started" guide. With a textual version that can be searched with grep or other tools.

3. Projects whose *only* documentation is a getting-started guide, tour, tutorial, or similar. When one knows the basic patterns of usage but wants to recall the argument order for the (burbling-mumblefrotz ...) function, having to find where it was introduced in a tutorial (which chapter? The one on mumbling or the one on burbling? Near the start, middle, or end? Page 2 or 29???) is a pain in the neck. A reference is organized differently, for making a specific known entity easy to re-find. Javadocs and Clojure docstrings are good for this.

In particular:

* Every key fact, example, or other piece of documentation should exist somewhere in a form that Google can find on the web and grep can find in your local copy if you make one. And that local copy shouldn't cost a fortune to download and a ton-lot of disk space to keep, nor should it be a pain in the ass to scroll forward and backward through. Ideally, it should be browseable on a fairly low-spec machine if need be, as well, even one that makes video playback stutter at 3 FPS.

* There needs to be two differently organized written forms of documentation: one oriented around discovering how to do X, for people that don't know the name of the function, class, method, or other entity that does X; and one oriented around specifying precisely the usage, behavior, and applicable preconditions/gotchas/etc. of a particular function, method, class, or whatever that one *does* know the name to. The latter is typically partly machine-generated and organized hierarchically and alphabetically by package/namespace and name. The former tends to be mainly human-authored and often linear, or at most a few branches, of exposition, which shows how the parts are interrelated and how to build up from those parts to useful working systems of some sort.

Videos do have their uses, but should not be regarded as *substitutes* for either written reference documentation or written tutorial documentation, and the latter are not substitutes for one another. I'd regard a lack of good *written* introductory material as a much worse barrier to entry than a lack of good videos, where the subject matter lends itself to textual exposition (math, programming). (That last restriction of scope is necessary; no amount of written material telling people how to play golf, for instance, is likely to beat a good video showing a proper stance and backswing. Gross motor skills in general benefit strongly from, at minimum, video clips of key moves/actions. Most things benefit from the occasional illustrative still image, however.)

Mark Engelberg

unread,
Nov 11, 2013, 2:22:30 AM11/11/13
to clojure
Recently, when I decided to investigate Pedestal for a project, I was surprised to discover that it isn't supported on Windows.   I can't say whether lack of cross-platform support will have any impact on Pedestal's long-term viability, but it ruled Pedestal out for me.

Manuel Paccagnella

unread,
Nov 11, 2013, 3:58:00 AM11/11/13
to clo...@googlegroups.com
Very exaustive comment, that reminded me of a beautiful series of articles by Jacob Kaplan-Moss on "Writing great documentation". There is a presentation, too.

Zubair Quraishi

unread,
Nov 11, 2013, 9:15:56 AM11/11/13
to clo...@googlegroups.com
As the author of another Clojure web framework, clojure on Coils (https://github.com/zubairq/coils) I would say that Pedestal has got a very bright future ahead of it. Not only is it technically pretty amazing but the community behind it and the fact that it comes from the same team as the main Clojure and Clojurescript committers means that it will be the de-facto standard when large companies want to choose a Clojure web framework. I know that I have built a Clojure web framework myself, but my own framework Coils is more directed at non-clojure people, so there is a bigger learning curve of learning Clojure as well. Pedestal is definitely a better choice for people who already know or use Clojure

Brenton

unread,
Nov 11, 2013, 9:38:23 AM11/11/13
to clo...@googlegroups.com
I would like to clarify a few things.

All of the comments below are about Pedestal app.

Pedestal is a continuation of ClojureScript One. The reason that we didn't continue to commit changes to that project was because of all of the documentation.

Pedestal has changed a lot from the beginning and continues to change. This change has definitely been moving toward a goal and I think we are getting very close to that goal. Once Pedestal is stable it will be simpler, smaller and easier to understand and use in a variety of ways. I agree with many of the comments above about what a finished project should look like. This is not a finished project. At this point, increasing adoption is not the goal. If you are looking at Pedestal now then you are an early adopter and you accept the risks that go along with being an early adopter. You are on the bleeding edge. Sometimes there is a lot of blood on the bleeding edge.

If you are looking for something that is finished and stable then do not look at Pedestal. We will indicate stability with version numbers. When you see a release of version 1.0 then you may want to have another look. A 1.0 release will not happen until we have thorough reference documentation.

There has been a lot of change because we really do care about this and want to get it right. We will continue to do this until we as a team believe that we have got it right.

Brenton

Manuel Paccagnella

unread,
Nov 11, 2013, 10:13:47 AM11/11/13
to clo...@googlegroups.com
Thank you for your explanation Brenton, makes a whole lot of sense. Now it's clear what the maturity level of Pedestal is: I'll way a little bit more before starting to bleed :)

Mars0i

unread,
Nov 12, 2013, 12:14:38 AM11/12/13
to clo...@googlegroups.com
Thanks, Cedric, for insightful comments about documentation.

I'll add that for me, if the only documentation is a video, I have to *really* want to learn about a programming tool to go any further.  Videos don't allow you to take in information any faster than  information at exactly the speed at which the video presents it.  Reading lets you go faster, or slower, or visually decide what to skip, or find passages by their content.  Even without hyperlinks.  (Yes, when motion matters, video is nice.)

Murtaza Husain

unread,
Nov 19, 2013, 2:26:52 AM11/19/13
to clo...@googlegroups.com

I also personally like pedestal. However couple of reasons are holding me back - 

1) An easier integration with UI. All current frameworks such as Angular etc focus on easing the DOM manipulation. You define your model, and then define the relationship of your model with the DOM. The framework then takes care of it. 

Inversely pedestal focuses on easing the state management / event propagation for a web app. Yes this is a big concern on big single page apps. However most of the apps I work with, the former, DOM manipulation is the concern that dominates. 

Thus introduction of a nice widget system, which provides facilities for the former will go a long way to accelerate the adoption of pedestal.

2) Another problem is the cognitive load in developing a pedestal app. There are too many settings, multiple ways to do the same things, concepts that seem to overlap, lack of simple easy to grasp recipe type examples. 

I would like to have an easy way to start and develop with pedestal. There is too much to learn before you write your first line of code, and I dont even think I can ask a new developer to just go and learn pedestal on his own. So please bring down the barrier. 

Hope to use pedestal on my projects soon. And a big thanks to the pedestal team for this amazing piece of code. 

Thanks,
Murtaza

Geraldo Lopes de Souza

unread,
Nov 19, 2013, 3:35:59 AM11/19/13
to clo...@googlegroups.com
As for UI.  

Isnt reactjs (facebook renderer library) a good fit for pedestal ?

it appears to use the same ideas of webfui. Webfui's author even complimented reacjts guys for their work: 
https://groups.google.com/forum/#!searchin/reactjs/conrad/reactjs/e3bYersyd64/fH83IFqXb2oJ

There are a recent integration with our beloved clojurescript.
https://github.com/piranha/pump

An extern:
https://github.com/steida/este-library/blob/master/externs/react.js

And look at this Flux thing:
https://github.com/cascadiajs/2013.cascadiajs.com/blob/master/a-better-way-to-structure-clientside-apps_jingc.md

(Imutable structures and getting away from two way data binding)

Thomas Deutsch

unread,
Dec 20, 2013, 3:14:15 PM12/20/13
to clo...@googlegroups.com
As far as i can read the community, there are 3 Projects that use the UI as a value.

- Om
- Aurora ( comming early 2014 )

As a Clojure community we know "the value of values", and for a UI as a value we will have "Immediate Mode" on the view side of things,
because we want to reflect our value (a clojure/script data type) to the DOM.
It seems that all 3 Projects could use react.js because:
"react.js is the immediate mode abstraction over the retained mode dom" (Chris Granger)

Does Pedestal have a future in the long run?
I hope that pedestal will be simple, and open to a solution to use react.js or any immediate mode abstraction lib that will come along.


Murtaza Husain

unread,
Dec 21, 2013, 10:00:01 PM12/21/13
to clo...@googlegroups.com
I dont know much about the third project so will comment on Pedestal and Om. I see both of these projects as complimentary - 

1. Pedestal concerns itself with propagating the change in your state, and wiring the dependencies within it. Its sort of dataflow/FRP in cljs. 

2. Om/react.js in concerned with taking a state and rendering it efficiently. 

So pedestal events/msgs can be easily flow to Om bindings, which re-renders the DOM. 

Looking forward to the next pedestal release which will simplify things. And also looking forward to the rapidly evolving Om framework. 

Thanks,
Murtaza

Tom Faulhaber

unread,
Jan 20, 2014, 7:33:04 PM1/20/14
to clo...@googlegroups.com


On Monday, November 11, 2013 6:38:23 AM UTC-8, Brenton wrote:
If you are looking for something that is finished and stable then do not look at Pedestal. We will indicate stability with version numbers. When you see a release of version 1.0 then you may want to have another look. A 1.0 release will not happen until we have thorough reference documentation.


If I waited for Clojure libraries to go to 1.0, I still be in Python or Java! (Not quite true, but within epsilon.)

Just scroll through the topics of this list for confirmation. Even within the Clojure organization, the only project that's made it to 1.0 is Clojure core on the JVM.
 

Reply all
Reply to author
Forward
0 new messages