Janko,
I was wondering if you could reveal any grand plans you might have for the future of Aida? What I like about Aida compared to Seaside is its relative simplicity and portability. Seaside uses features of Smalltalk that are not really portable between smalltalks to do its magic (continuations and pragmas being the big ones that I've noticed, which prevent it from being used fully in Dolphin, for example).
It feels to me like Aida doesn't try to reinvent too many wheels, meaning it's a bit more accessible to people coming from, say, Rails, like myself. It has relatively more steak than sizzle, whereas Seaside has relatively more sizzle than steak. I like my steak rare ("still twitching" is what I tell waitresses at restaurants), so I don't care about sizzle so much. That said, my favourite way to prepare steak is 'black and blue' -- but it takes a rather industrial-size furnace to cook it that way, but, working for a charity, I usually only have a couple matches and a little kindling to start my fire pit. ;)
What I don't like about Aida is the documentation, which is a bit scattered by topic and somewhat stream of consciousness. Seaside has Aida beat hands-down in this department. There are books, well-designed tutorials, lots of samples, etc. It's actually very hard, if you're me, to ignore that big plus for Seaside.
I think Aida needs a much better, much more in-depth tutorial, that really highlights its best parts, and suggests where it's going to get better over time. I am not sure I like all the parts of Aida included -- for example, I've been reviewing the (very involved) Parties/Roles packages and it encroaches a lot on my domain model, meaning I either have to use all of it or none of it. But maybe I have misinterpreted its design? Maybe it's better than my slogging in the code has revealed, and I should use it? Some documentation about the rationale for the abstractions chosen and how they're implemented would be nice.
What I'd like to see in Aida is a greater commitment to REST and maybe XMLRPC API support (seems you're working on that one quite aggressively), more of an MVP vs MVC pattern for rendering, and perhaps support for rich web clients a la Amber (I see there is WebDAV support in Aida, so perhaps you're already intending to go that route), and better security (I really need to support HTTPS, and support API keys securely). Seaside has done a good job in its HTML API, but Aida's abstractions feel somewhat heavy (gazillions of methods). Some refactoring of that seems like it could be good.
Neither framework handles layouts, look-feel, or any of the design intensive side of web development as nicely as I imagine it could be done. This could be an area for huge win in Aida, as I see you've tried to make it easy to reskin a site by supplying a new web style. However, I tried doing this with the demo app and only just mucked stuff up. Again, good documentation about this important area of implementation and some idea of what the end-goal is for it would be awesome.
I'm willing to contribute but I need to get up and running and confident in what I'm doing still. It's been a bit of a ramp up. But I think I'll do well with this choice for what I need to do. I would just like to know what the future holds as I think there is still a lot of room for innovation in web development, and it doesn't all have to be heretical to be on the bleeding edge, so to speak. I'll feel better about Aida knowing that it's roadmap is a good one.
- Bob _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Bob,
You just inspired me to write down my vision and future plans for Aida, so let me start with that: Main *Aida vision* from the start is to extend the Smalltalk philosophy, elegance, simplicity, power to the web applications as well while preserving all those beauties of Smalltalk. And to be on the *bleeding edge of web technology* with Smalltalk all the time. Which we are. I'm most proud that initial architecture was set good enough to be adaptable through all that time since 1996 and that we are not stuck even now supporting the current HTML5 wave. And here are the plans. Short-term, long-term? Well, we'll see :) 1. *Documentation*! It seems Aida core features are stable enough now that we can document it and that this documentation will last for a while without needing to update it constantly; 2. More *HTML5*! like FileSystem, DragDrop, Video and Audio etc etc; 3. More *realtime*, actually realtime anything, everywhere. WebSocket standard is now de-facto complete and in a year all browsers will support it. What I mean by realtime anything, everywhere? Any data you show everywhere on your web page will be updated in realtime, that is, immediately when data changes. And this will be switched on by default! 4 More *client*! That is, more processing moved to web client with Amber Smalltalk. Here the end goal is to partition your app in runtime where to run. All on server as now, all on client (and offline), or parts on server, parts on client. Client parts are "emitted" to Amber Smalltalk and sent to a client for execution; 5. More *local updating* at the client. On server only data is updated while all dependent views are refreshed locally on client; 6. *Automatic forms building* out of domain model, with help of forthcoming AidaFields by Nicolas Petton; 7. More *relational domain model* support; 8. More *JavaScript libraries* supported as Aida Addons; 9. Aida as provider of *REST-full web services* accessible from other web or mobile apps 10.*Cloud* support, Aida apps as both as client as service provider in the cloud; 11.*Aida hosting*, both free and commercial. Best regards Janko S, Robert Calco piše: > Janko, > > I was wondering if you could reveal any grand plans you might have for > the future of Aida? > > What I like about Aida compared to Seaside is its relative simplicity > and portability. Seaside uses features of Smalltalk that are not really > portable between smalltalks to do its magic (continuations and pragmas > being the big ones that I've noticed, which prevent it from being used > fully in Dolphin, for example). > > It feels to me like Aida doesn't try to reinvent too many wheels, > meaning it's a bit more accessible to people coming from, say, Rails, > like myself. It has relatively more steak than sizzle, whereas Seaside > has relatively more sizzle than steak. I like my steak rare ("still > twitching" is what I tell waitresses at restaurants), so I don't care > about sizzle so much. That said, my favourite way to prepare steak is > 'black and blue' -- but it takes a rather industrial-size furnace to > cook it that way, but, working for a charity, I usually only have a > couple matches and a little kindling to start my fire pit. ;) > > What I don't like about Aida is the documentation, which is a bit > scattered by topic and somewhat stream of consciousness. Seaside has > Aida beat hands-down in this department. There are books, well-designed > tutorials, lots of samples, etc. It's actually very hard, if you're me, > to ignore that big plus for Seaside. > > I think Aida needs a much better, much more in-depth tutorial, that > really highlights its best parts, and suggests where it's going to get > better over time. I am not sure I like all the parts of Aida included -- > for example, I've been reviewing the (very involved) Parties/Roles > packages and it encroaches a lot on my domain model, meaning I either > have to use all of it or none of it. But maybe I have misinterpreted its > design? Maybe it's better than my slogging in the code has revealed, and > I should use it? Some documentation about the rationale for the > abstractions chosen and how they're implemented would be nice. > > What I'd like to see in Aida is a greater commitment to REST and maybe > XMLRPC API support (seems you're working on that one quite > aggressively), more of an MVP vs MVC pattern for rendering, and perhaps > support for rich web clients a la Amber (I see there is WebDAV support > in Aida, so perhaps you're already intending to go that route), and > better security (I really need to support HTTPS, and support API keys > securely). Seaside has done a good job in its HTML API, but Aida's > abstractions feel somewhat heavy (gazillions of methods). Some > refactoring of that seems like it could be good. > > Neither framework handles layouts, look-feel, or any of the design > intensive side of web development as nicely as I imagine it could be > done. This could be an area for huge win in Aida, as I see you've tried > to make it easy to reskin a site by supplying a new web style. However, > I tried doing this with the demo app and only just mucked stuff up. > Again, good documentation about this important area of implementation > and some idea of what the end-goal is for it would be awesome. > > I'm willing to contribute but I need to get up and running and confident > in what I'm doing still. It's been a bit of a ramp up. But I think I'll > do well with this choice for what I need to do. I would just like to > know what the future holds as I think there is still a lot of room for > innovation in web development, and it doesn't all have to be heretical > to be on the bleeding edge, so to speak. I'll feel better about Aida > knowing that it's roadmap is a good one. > > - Bob > > > > > _______________________________________________ > Aida mailing list > [hidden email] > http://lists.aidaweb.si/mailman/listinfo/aida -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Janko,
2012/2/10 Janko Mivšek <[hidden email]> Hi Bob, :) so let me start with that: I would really like to see Aida make coding in HTML/CSS/JavaScript a relic of the ancient past (I guess that would be Web 2.0 by now; what are we up to...4.0?)....
I like the direction WebSharper (F#) and LiftWeb (Scala) have been going. I really am intrigued by Amber, Cappuccino, and CoffeeScript. Aida web should 'Aid' in those kinds of experiments, only with Smalltalk and some kind of clean MVP pattern applied with rigour on the server and the client side.
I like the idea behind how Seaside maintains complex state. I am not terribly thrilled with replacing, rather than embracing, the realities of HTTP... it seems to me the overhead of that strategy will only be worth it till a cleaner way to do it RESTfully emerges.
That is an important plus. However, I'd like to see fewer bugs than have popped up, which give it the appearance of instability. For example, even now, if you want to put the Pharo-Aida-OneClick in a bad state, just log in as admin to the demo site, click Settings -> Sites, and try to go back, or navigate anywhere else. You'll need to invoke the following magical incantations:
SwazooServer stop. AIDASite default releaseApplicationState. SwazooServer start. To you that's not a big deal, you know you've got a bug there. To a new person, that makes you wonder if the framework is stable. That kind of thing.
Yay! :)
Excellent.
Good!
Interesting.
Oh, how I long for an Aida answer to Magritte! I really love the concept.
Well, how about: just some decent support for the main persistence alternatives... in-image, GLORP, GemStone, etc.. Some kind of guidance here for noobs would be most helpful. Ahem. :)
I think the abstractions for JavaScript and CSS are not yet refined. There is some vision gap there in both Seaside and Aida.
I have serious secure API needs for my applications. I feel rather insecure right now with Smalltalk vis a vis HTTPS.
I like. :)
Would be very nice if there was more of that, yes. :) I think a twelfth point should be *Tooling*... it needs to be much more intuitive to build sites and apps on the sites in one or more images. A secure Web Development UI would be cool. Wizards in the development image for visualizing what's where would be really helpful.
- Bob
_______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Since I mentioned minor buggy behaviors, just another quick bug report:
In the Pharo OneClick image (I haven't seen this one in VW I don't believe), you periodically get an error that says: MessageNotUnderstood: receiver of "nextPutAll:" is nil. This is happening in ExternalWindowsOSProcess>>value:
value "Start the external process" | procInfo mainThread |
self isNotYetRunning ifTrue: [procInfo := OSProcess accessor primCommand: self commandLine.
procInfo isNil ifTrue: [self initialStdErr nextPutAll: 'cannot execute ',
self commandLine; cr. self exitStatus: #cannotExecuteCommandLine. "FIXME: Close the OSPipes now, otherwise the image will
block on a read" self closeStreams. [self complete] fork "defer execution so OSPipes
stay in place for now"] ...Again, to a noob, this gives an impression of a weakness, in what should be an Aida strength... a built in way to run periodic/scheduled events.
Now I know, this is probably not even your bug, but Pharo's, and apparently only on Windoze, nevertheless it's something that I have noticed and found annoying. - Bob
On Fri, Feb 10, 2012 at 3:59 PM, Robert Calco <[hidden email]> wrote: Hi Janko, _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by bobcalco
S, Robert Calco piše:
> I think Aida needs a much better, much more in-depth tutorial, that > really highlights its best parts, and suggests where it's going to get > better over time. Ok, let we start improving documentation by improving a tutorial. So far we have two articles: 1. Tutorial for a "traditional" Aida [1] 2. ToDo example in-depth description [2] Tutorial has now at the bottom a link to the ToDo description. Tutorial is probably not attractive enough for a first impression, because it shows so called traditional web application in a sense that there we have classical web pages and navigation between them (graph-like control flow) but not more recent ajaxified style of 'single-page' web app development, which is shown in the ToDo example. One solution would be to introduce another tutorial for a simple ajaxified web app, with widgets, realtime form validation etc. then continue with current one to shows the traditional Aida as well. and then ToDo example description. Any ideas, how to proceed? Janko [1] http://www.aidaweb.si/tutorial.html [2] http://www.aidaweb.si/todo-description -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
2012/2/10 Janko Mivšek <[hidden email]>:
> S, Robert Calco piše: > >> I think Aida needs a much better, much more in-depth tutorial, that >> really highlights its best parts, and suggests where it's going to get >> better over time. > > Ok, let we start improving documentation by improving a tutorial. So far > we have two articles: > > 1. Tutorial for a "traditional" Aida [1] > 2. ToDo example in-depth description [2] Indeed, Aida could use more tutorials. > One solution would be to introduce another tutorial for a simple > ajaxified web app, with widgets, realtime form validation etc. then > continue with current one to shows the traditional Aida as well. and > then ToDo example description. > > Any ideas, how to proceed? I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a translation to Aida? The beauty of that tutorial is also how it explains the use of TDD (or BDD), git, ... , or how things work in Ruby, not strictly only Rails. But ofcourse, you need to decide what your audience for an Aida tutorial is: experienced Smalltalk-users, newcomers, ... Kind regards, - david (new to Smalltalk & Aida) _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by Janko Mivšek
Hi Janko,
As I have a lot of opinions about this, I'll volunteer to work on it with you. :) 1. It should implement a non-trivial data model. At least one each of a many-to-many, one-to-many, and one-to-one relationship in the domain.
2. It should be iterative, where we start with a 'traditional' site, layer in unobtrusive JavaScript, and then get fancy with Ajax, WebSocket, etc. On the domain model side, it should first implement in-image persistence, then move onto GLORP and then GemStone as alternate back-ends when you need to run more than one image, possibly on different machines. It *must* cover deployment well. I personally can't stand when that very difficult part of correctly using a framework is 'left as an exercise for the reader'... ;)
3. It should explain the core internals and cover styling in detail. Assume you're talking to experienced engineers coming from a Rails, Symfony, Django, or Grails background. Do not assume they're seasoned Smalltalkers.
4. It should touch on things that are unique to Aida... hosting multiple sites... the way apps get layered onto sites to create systems... being able to run scheduled one-off or periodic processes in the background... really show Aida's breadth while going deep only into domain models, UI, and deployment issues.
5. It must be follow-along-as-you-go, leaving nothing really assumed and easy for someone to bookmark where they are, close their image for the night, and pick up first thing in the afternoon when they wake up... ;)
- Bob 2012/2/10 Janko Mivšek <[hidden email]> S, Robert Calco piše: _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by David Jacobs
Hi David,
Let me first welcome to the list and in the Aida world! > I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a > translation to Aida? The beauty of that tutorial is also how it > explains the use of TDD (or BDD), git, ... , or how things work in > Ruby, not strictly only Rails. > But ofcourse, you need to decide what your audience for an Aida > tutorial is: experienced Smalltalk-users, newcomers, ... Wow, this tutorial is a whole book! We certainly don't have resources for something like that but we can be inspired with the structure and ideas of that tutorial. Like how it is gradually improving your knowledge from chapter to chapter. So current tutorial is too short? What is your feeling when you finish it? Do you have some "aha" moment? Do you want more but you don't know where to proceed? Best regards Janko S, David Jacobs piše: > 2012/2/10 Janko Mivšek <[hidden email]>: >> S, Robert Calco piše: >> >>> I think Aida needs a much better, much more in-depth tutorial, that >>> really highlights its best parts, and suggests where it's going to get >>> better over time. >> >> Ok, let we start improving documentation by improving a tutorial. So far >> we have two articles: >> >> 1. Tutorial for a "traditional" Aida [1] >> 2. ToDo example in-depth description [2] > > Indeed, Aida could use more tutorials. > >> One solution would be to introduce another tutorial for a simple >> ajaxified web app, with widgets, realtime form validation etc. then >> continue with current one to shows the traditional Aida as well. and >> then ToDo example description. >> >> Any ideas, how to proceed? > > I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a > translation to Aida? The beauty of that tutorial is also how it > explains the use of TDD (or BDD), git, ... , or how things work in > Ruby, not strictly only Rails. > But ofcourse, you need to decide what your audience for an Aida > tutorial is: experienced Smalltalk-users, newcomers, ... > > Kind regards, > - david (new to Smalltalk & Aida) > _______________________________________________ > Aida mailing list > [hidden email] > http://lists.aidaweb.si/mailman/listinfo/aida -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi guys,
Current tutorial seems to let the people develop an impression (as in this Reddit comment [1]) of "Aida as being well-suited for writing websites, and Seaside as being well-suited for writing web applications". This is certaily not true, Aida is using mainly in business web applications almost from the start. Well, from the start it was developed for our main book publisher webshop, a public website therefore, but since then it is with few exceptions used exclusively for web apps. So, we need to improve a tutorial to show its strengths for building web apps ASAP. Specially that natural transition from a classical webpage approach to so called Single-Page web application. Best regards Janko [1] http://www.reddit.com/r/programming/comments/pjggx/vision_and_plans_for_aida_smalltalk_web_framework/ S, Janko Mivšek piše: > Hi David, > > Let me first welcome to the list and in the Aida world! > >> I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a >> translation to Aida? The beauty of that tutorial is also how it >> explains the use of TDD (or BDD), git, ... , or how things work in >> Ruby, not strictly only Rails. >> But ofcourse, you need to decide what your audience for an Aida >> tutorial is: experienced Smalltalk-users, newcomers, ... > > Wow, this tutorial is a whole book! We certainly don't have resources > for something like that but we can be inspired with the structure and > ideas of that tutorial. Like how it is gradually improving your > knowledge from chapter to chapter. > > So current tutorial is too short? What is your feeling when you finish > it? Do you have some "aha" moment? Do you want more but you don't know > where to proceed? > > Best regards > Janko > > S, David Jacobs piše: >> 2012/2/10 Janko Mivšek <[hidden email]>: >>> S, Robert Calco piše: >>> >>>> I think Aida needs a much better, much more in-depth tutorial, that >>>> really highlights its best parts, and suggests where it's going to get >>>> better over time. >>> >>> Ok, let we start improving documentation by improving a tutorial. So far >>> we have two articles: >>> >>> 1. Tutorial for a "traditional" Aida [1] >>> 2. ToDo example in-depth description [2] >> >> Indeed, Aida could use more tutorials. >> >>> One solution would be to introduce another tutorial for a simple >>> ajaxified web app, with widgets, realtime form validation etc. then >>> continue with current one to shows the traditional Aida as well. and >>> then ToDo example description. >>> >>> Any ideas, how to proceed? >> >> I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a >> translation to Aida? The beauty of that tutorial is also how it >> explains the use of TDD (or BDD), git, ... , or how things work in >> Ruby, not strictly only Rails. >> But ofcourse, you need to decide what your audience for an Aida >> tutorial is: experienced Smalltalk-users, newcomers, ... >> >> Kind regards, >> - david (new to Smalltalk & Aida) >> _______________________________________________ >> Aida mailing list >> [hidden email] >> http://lists.aidaweb.si/mailman/listinfo/aida > -- Janko Mivšek Aida/Web Smalltalk Web Application Server http://www.aidaweb.si _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Janko,
2012/2/13 Janko Mivšek <[hidden email]> Hi guys, I think that Aida's core abstractions -- Sites, Applications, Widgets -- lends to the perception. 'Application' in Aida refers (somewhat awkwardly, IMHO) to VC combinations in the MVC triad. To me, V+C = Component and (1...n Components = Application).
In other words, it is not intuitive to a noob that once you have a site that you layer your domain on it with as many applications as you have domain objects (roughly). I think this is perhaps where the perception comes from.
On a purely aesthetic level I really like Seaside's terminology, which is internally consistent with its stated goals. I probably would have gone with Seaside if they did not require special VM sauce to make a key part of the value proposition of the framework work (i.e., continuations).
Really what Aida is trying to do (correct me if I'm wrong) is to let the developers actually define the semantics for themselves. A site is a root URL, an application is a chunk of functionality available at a site, and widgets are complex elements that are grouped for functional reuse within 'applications.' So, actually, Aida is trying not to impose very many constraints on how the developer organizes his/her design. This is why a good tutorial that explains the rational for each design choice and the resulting cleaner, simpler implementation is critical if Aida is going to shake its perception as 'good for sites but not applications.'
I also think that Seaside directly addresses a real developer pain with a clean -- albeit not entirely portable -- solution. I have always *hated* building web apps because of the statelessness of HTTP. Seaside makes it easy to code in a way that the logic of a workflow is self-evident in the code, at a cost that seems not too bad when the one thing managers in the world care about most is time-to-market. That's the big whiz-bang of Seaside as I see it. They effectively created a development environment that thoroughly shields the developer from the most painful aspect of working in HTTP.
Aida should come up with a way to deal with the problems of web development that delivers similar (if not identical) value, only without the not-very-portable black magic involved in Seaside's implementation. If this exists already in Aida, please enlighten me!
Again, a tutorial needs to address the pain of web development and how Aida removes it, not just show off features. The other pain area that I don't think either framework deals with well yet is styling, layouts, look feel and JavaScript integration. If you're coming from a template based web development paradigm, nothing makes you feel woozier and less confident than the manner in which both frameworks deal with that. (Well, not counting the questions of RDMBS vs OODMS, in-memory persistence vs. ...etc.)
At least, I have not found that aspect to be as intuitive as it could be. - Bob
_______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Let me clarify one point:
On Mon, Feb 13, 2012 at 11:01 AM, Robert Calco <[hidden email]> wrote:
What I mean to say is: Neither are yet really offering innovation that makes styling applications as a task in the development cycle more intuitive.
Most web designers are going to give me PSDs or gobs of horribly written HTML with a bunch of graphics, and how I translate that to templates in Rails is pretty straightforward, but how I do that in Seaside or Aida in a way that saves me time, I do not yet see. Could be just me, though. :)
- Bob
_______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by Janko Mivšek
Hi,
I think a major challenge here is to address who a tutorial might be aimed at. If we had unlimited resources :-) we could have a number of different tutorial entry points, according to the intended users background and desire. Given that Aida's tutorials need to develop, I suggest that we think in terms of use-cases, start simple and add features as we go. For instance we might decide to build an interactive, membership-based web application - something that would allow a user to log on, post messages, subscribe to RSS, download from a secure site etc. If we identify several stages in the creation of such an app and build a tutorial around each stage, new users will be able to complete each stage while also seeing a greater context. More sophisticated aspects of Aida and Smalltalk could be introduced at each stage. Is the intended audience experienced in Smalltalk, or web design/html or both, or neither? We might address this by designing the stages of the tutorials such that a person could select tutorials as appropriate to their background. It seems to me that the design of the tutorial programme and it's content is the first item on the agenda. My two-pennyworth. Nicholas On 13/02/12 11:09, Janko Mivšek wrote: Hi guys, Current tutorial seems to let the people develop an impression (as in this Reddit comment [1]) of "Aida as being well-suited for writing websites, and Seaside as being well-suited for writing web applications". This is certaily not true, Aida is using mainly in business web applications almost from the start. Well, from the start it was developed for our main book publisher webshop, a public website therefore, but since then it is with few exceptions used exclusively for web apps. So, we need to improve a tutorial to show its strengths for building web apps ASAP. Specially that natural transition from a classical webpage approach to so called Single-Page web application. Best regards Janko [1] http://www.reddit.com/r/programming/comments/pjggx/vision_and_plans_for_aida_smalltalk_web_framework/ S, Janko Mivšek piše:Hi David, Let me first welcome to the list and in the Aida world!I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a translation to Aida? The beauty of that tutorial is also how it explains the use of TDD (or BDD), git, ... , or how things work in Ruby, not strictly only Rails. But ofcourse, you need to decide what your audience for an Aida tutorial is: experienced Smalltalk-users, newcomers, ...Wow, this tutorial is a whole book! We certainly don't have resources for something like that but we can be inspired with the structure and ideas of that tutorial. Like how it is gradually improving your knowledge from chapter to chapter. So current tutorial is too short? What is your feeling when you finish it? Do you have some "aha" moment? Do you want more but you don't know where to proceed? Best regards Janko S, David Jacobs piše:2012/2/10 Janko Mivšek [hidden email]:S, Robert Calco piše:I think Aida needs a much better, much more in-depth tutorial, that really highlights its best parts, and suggests where it's going to get better over time.Ok, let we start improving documentation by improving a tutorial. So far we have two articles: 1. Tutorial for a "traditional" Aida [1] 2. ToDo example in-depth description [2]Indeed, Aida could use more tutorials.One solution would be to introduce another tutorial for a simple ajaxified web app, with widgets, realtime form validation etc. then continue with current one to shows the traditional Aida as well. and then ToDo example description. Any ideas, how to proceed?I really like RoR tutorial http://ruby.railstutorial.org/ . Maybe a translation to Aida? The beauty of that tutorial is also how it explains the use of TDD (or BDD), git, ... , or how things work in Ruby, not strictly only Rails. But ofcourse, you need to decide what your audience for an Aida tutorial is: experienced Smalltalk-users, newcomers, ... Kind regards, - david (new to Smalltalk & Aida) _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida --
Nicholas Moore _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by Janko Mivšek
Hi All,
Is nice to see this new year activity with the new year and is nice to see this focus in documentation. Making the connection with the greetings message from Janko apropos of the last year, 2011 was the year I discover Aida and made the decision of learning web development. I like a lot Aida, but because of the lack of comprehensive newbie oriented documentation and my lack of knowledge to help filling the gaps on this matter, my choice was to learn Seaside (which I like also, by the way). Now I want to comment on the documentation matter a little more, and if this mail gets too long (and is probable), I will try to publish parts as supporting material in other places. First a little of context: I'm a teacher of Information and Communication Technologies (ICT) seminars on a postgraduate studies in Science Didactics, in Bogotá - Colombia, South America. My students are mostly school teachers without prior knowledge of programming and the more we deal with the social aspects of digital culture, the more I see the need of learning programming properly, despite of not being a developer myself (I made some cognitive models using algorithms, but that's not developing). So I'm in a context where I teach adult science teachers about digital technology and I think that we all need to program, specially in the context of web related technologies, because that's a place where of political struggle is more evident (power dynamics always related with technology since the mastering of the fire). As Paulo Freire said, the problem teaching adults is that the usual teaching for younger people is not enough related with "real life" for them, and mostly they need get out of illiteracy for "real life" reasons. Me and my students want to get out of our ICT illiteracy for reasons like that and most of the examples in tutorials, including the To Do example, are too artificial for us (ruby tutorial is a remarkable exception, but we don't want recreate twitter). We want to create something like a personal site, but connected with social networks. Some, like Tantek Celik[1] have pioneered the idea and have call it DiSo (for Distributed Social) making emphasis on microformats, but I want to emphasize infrastructure and programming environments and that's where Smalltalk environments excels others easily with its integration and portability. We call the idea a "Digital Identity Router" (napkin first draft here [2]). The idea is to build a kind of p2p social network where you can connect with other people, using also monopoly privative ones (Twitter, Facebook, etc) or the federates free open source ones (Identica, Diaspora, etc), without depending _only_ on them for being connected. They're kind of a second option. This is how it works: You have a personal place where you put your data _first_, and then you route the info where you want it to be _replicated_ (Twitter/identica, facebook/Diaspora, flickr, and so on). The router can bring back the interaction on that places (comments, stars, favs, and so on), so your information _and_ the infrastructure behind it is at your control. If you and your peers use the same model, you can be connected directly to them by connecting the routers, without keep tracking on every contact on the next new social network. Sensitive information can be available only to your peers using the router and your site, so it never became part of the Big Brother's data. With this idea we're trying to get out of the sick merchandising tendency of Web <Next ordinal number> dot "Ohhh", and instead of asking ourselves about the next big thing in the next big "version" of the web, we're trying to get an answer about how small can be the web?, can it fit in your pocket? may be in a USB thumb drive, where you have (vía Smalltalk/web2py) a multi-platform on-click server/IDE for a p2p social architecture? May be it can work on/off-line, synchronizing this thumb drives with some servers on the web and with other peers. This is the project I would like to do with my students, using Aida or Seaside. For the moment I have opted by the last because of the extensive documentation and libraries, like JQuery Mobile, but we're going to start small. First by some bookmarking site (like p2p delicious in your pocket) then, connecting this with microblogging, like identica/twitter, then a personal url shorter, a blog/wiki engine and finally with some bigger media, like photo, audio and video. The documentation will be primary done in Spanish first, but if this idea is worth about how to remake/refocus the current documentation I would be glad of sharing inquiries and experiences. Cheers, Offray Notes: ====== [1] http://tantek.com/ [2] http://hackbo.co/home/webframeworks/ubakye/ubakyeZacatecas.png/ On 10/02/12 13:15, Janko MivÅ¡ek wrote: > S, Robert Calco piÅ¡e: > >> I think Aida needs a much better, much more in-depth tutorial, that >> really highlights its best parts, and suggests where it's going to get >> better over time. > > Ok, let we start improving documentation by improving a tutorial. So far > we have two articles: > > 1. Tutorial for a "traditional" Aida [1] > 2. ToDo example in-depth description [2] > > Tutorial has now at the bottom a link to the ToDo description. > > Tutorial is probably not attractive enough for a first impression, > because it shows so called traditional web application in a sense that > there we have classical web pages and navigation between them > (graph-like control flow) but not more recent ajaxified style of > 'single-page' web app development, which is shown in the ToDo example. > > One solution would be to introduce another tutorial for a simple > ajaxified web app, with widgets, realtime form validation etc. then > continue with current one to shows the traditional Aida as well. and > then ToDo example description. > > Any ideas, how to proceed? > > Janko > > [1] http://www.aidaweb.si/tutorial.html > [2] http://www.aidaweb.si/todo-description > > > > _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
In reply to this post by Janko Mivšek
HI, I recently started using Aida and learning Smalltalk at the same time and I have to say that I really believe in a great future for this framework and where it could go. I just did the blog tutorial that used to be on the Aida site and where the link is broken. I squinted my eyes over the clip on Youtube and did it. I realized that a couple things in the docs on the site and tutorials seem to have changed. I mean code wise. Sometimes I ll do exactly what It says and it doesn t work. I ll try something else and it does. I guess it could be related to the versions but I m not sure. So, I wish i could contribute and maybe write down the blog tutorial from the video, it s really good for showing how CRUD operations integrate with the framework. Also how to route the views. Aida is awesome and not that Seaside is not good but coming from Avi Bryant himself saying that its outdated as a lot of frameworks since it was built at a time when problems were different. I think Aida is different and can only get better especially when I hear people talking about integrating Amber on the client-side. Wow! Technology at its best and the future of the only real OOP language(!) looks bright.
|
In reply to this post by Janko Mivšek
I'm forwarding a response from Sebastien Paquet, posted on Nabble which
has also problems sending posts to our mailing list. I'm investigating the problem ... 23:43, 09.Mar.2012 sebastien paquet HI, I recently started using Aida and learning Smalltalk at the same time and I have to say that I really believe in a great future for this framework and where it could go. I just did the blog tutorial that used to be on the Aida site and where the link is broken. I squinted my eyes over the clip on Youtube and did it. I realized that a couple things in the docs on the site and tutorials seem to have changed. I mean code wise. Sometimes I ll do exactly what It says and it doesn t work. I ll try something else and it does. I guess it could be related to the versions but I m not sure. So, I wish i could contribute and maybe write down the blog tutorial from the video, it s really good for showing how CRUD operations integrate with the framework. Also how to route the views. Aida is awesome and not that Seaside is not good but coming from Avi Bryant himself saying that its outdated as a lot of frameworks since it was built at a time when problems were different. I think Aida is different and can only get better especially when I hear people talking about integrating Amber on the client-side. Wow! Technology at its best and the future of the only real OOP language(!) looks bright. Dne 10. 02. 2012 16:37, piše Janko Mivšek: > Hi Bob, > > You just inspired me to write down my vision and future plans for Aida, > so let me start with that: > > Main *Aida vision* from the start is to extend the Smalltalk philosophy, > elegance, simplicity, power to the web applications as well while > preserving all those beauties of Smalltalk. > > And to be on the *bleeding edge of web technology* with Smalltalk all > the time. Which we are. I'm most proud that initial architecture was set > good enough to be adaptable through all that time since 1996 and that we > are not stuck even now supporting the current HTML5 wave. > > And here are the plans. Short-term, long-term? Well, we'll see :) > > 1. *Documentation*! It seems Aida core features are stable enough now > that we can document it and that this documentation will last for a > while without needing to update it constantly; > > 2. More *HTML5*! like FileSystem, DragDrop, Video and Audio etc etc; > > 3. More *realtime*, actually realtime anything, everywhere. WebSocket > standard is now de-facto complete and in a year all browsers will > support it. What I mean by realtime anything, everywhere? Any data > you show everywhere on your web page will be updated in realtime, > that is, immediately when data changes. And this will be switched on > by default! > > 4 More *client*! That is, more processing moved to web client with > Amber Smalltalk. Here the end goal is to partition your app in > runtime where to run. All on server as now, all on client (and > offline), or parts on server, parts on client. Client parts are > "emitted" to Amber Smalltalk and sent to a client for execution; > > 5. More *local updating* at the client. On server only data is > updated while all dependent views are refreshed locally on client; > > 6. *Automatic forms building* out of domain model, with help of > forthcoming AidaFields by Nicolas Petton; > > 7. More *relational domain model* support; > > 8. More *JavaScript libraries* supported as Aida Addons; > > 9. Aida as provider of *REST-full web services* accessible from other > web or mobile apps > > 10.*Cloud* support, Aida apps as both as client as service provider in > the cloud; > > 11.*Aida hosting*, both free and commercial. > > > Best regards > Janko > > > > S, Robert Calco piše: >> Janko, >> >> I was wondering if you could reveal any grand plans you might have for >> the future of Aida? >> >> What I like about Aida compared to Seaside is its relative simplicity >> and portability. Seaside uses features of Smalltalk that are not really >> portable between smalltalks to do its magic (continuations and pragmas >> being the big ones that I've noticed, which prevent it from being used >> fully in Dolphin, for example). >> >> It feels to me like Aida doesn't try to reinvent too many wheels, >> meaning it's a bit more accessible to people coming from, say, Rails, >> like myself. It has relatively more steak than sizzle, whereas Seaside >> has relatively more sizzle than steak. I like my steak rare ("still >> twitching" is what I tell waitresses at restaurants), so I don't care >> about sizzle so much. That said, my favourite way to prepare steak is >> 'black and blue' -- but it takes a rather industrial-size furnace to >> cook it that way, but, working for a charity, I usually only have a >> couple matches and a little kindling to start my fire pit. ;) >> >> What I don't like about Aida is the documentation, which is a bit >> scattered by topic and somewhat stream of consciousness. Seaside has >> Aida beat hands-down in this department. There are books, well-designed >> tutorials, lots of samples, etc. It's actually very hard, if you're me, >> to ignore that big plus for Seaside. >> >> I think Aida needs a much better, much more in-depth tutorial, that >> really highlights its best parts, and suggests where it's going to get >> better over time. I am not sure I like all the parts of Aida included -- >> for example, I've been reviewing the (very involved) Parties/Roles >> packages and it encroaches a lot on my domain model, meaning I either >> have to use all of it or none of it. But maybe I have misinterpreted its >> design? Maybe it's better than my slogging in the code has revealed, and >> I should use it? Some documentation about the rationale for the >> abstractions chosen and how they're implemented would be nice. >> >> What I'd like to see in Aida is a greater commitment to REST and maybe >> XMLRPC API support (seems you're working on that one quite >> aggressively), more of an MVP vs MVC pattern for rendering, and perhaps >> support for rich web clients a la Amber (I see there is WebDAV support >> in Aida, so perhaps you're already intending to go that route), and >> better security (I really need to support HTTPS, and support API keys >> securely). Seaside has done a good job in its HTML API, but Aida's >> abstractions feel somewhat heavy (gazillions of methods). Some >> refactoring of that seems like it could be good. >> >> Neither framework handles layouts, look-feel, or any of the design >> intensive side of web development as nicely as I imagine it could be >> done. This could be an area for huge win in Aida, as I see you've tried >> to make it easy to reskin a site by supplying a new web style. However, >> I tried doing this with the demo app and only just mucked stuff up. >> Again, good documentation about this important area of implementation >> and some idea of what the end-goal is for it would be awesome. >> >> I'm willing to contribute but I need to get up and running and confident >> in what I'm doing still. It's been a bit of a ramp up. But I think I'll >> do well with this choice for what I need to do. I would just like to >> know what the future holds as I think there is still a lot of room for >> innovation in web development, and it doesn't all have to be heretical >> to be on the bleeding edge, so to speak. I'll feel better about Aida >> knowing that it's roadmap is a good one. >> >> - Bob >> >> >> >> >> _______________________________________________ >> Aida mailing list >> [hidden email] >> http://lists.aidaweb.si/mailman/listinfo/aida > -- Janko Mivšek Svetovalec za informatiko Eranova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565 _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Hi Sebastien,
Welcome to the list and thanks for your kind words! About Blog tutorial, yes this one is quite old and you are very welcome to upgrade the tutorial and also the blog code itself to work on recent Aida and Scribo. Maybe Nicolas Petton, author of the Scribo Blog will find some time to help you too. Best regards Janko Dne 11. 03. 2012 12:02, piše Janko Mivšek: > I'm forwarding a response from Sebastien Paquet, posted on Nabble which > has also problems sending posts to our mailing list. I'm investigating > the problem ... > > 23:43, 09.Mar.2012 sebastien paquet > > HI, > > I recently started using Aida and learning Smalltalk at the same time > and I have to say that I really believe in a great future for this > framework and where it could go. > > I just did the blog tutorial that used to be on the Aida site and where > the link is broken. I squinted my eyes over the clip on Youtube and did > it. I realized that a couple things in the docs on the site and > tutorials seem to have changed. I mean code wise. Sometimes I ll do > exactly what It says and it doesn t work. I ll try something else and it > does. I guess it could be related to the versions but I m not sure. So, > I wish i could contribute and maybe write down the blog tutorial from > the video, it s really good for showing how CRUD operations integrate > with the framework. Also how to route the views. > > Aida is awesome and not that Seaside is not good but coming from Avi > Bryant himself saying that its outdated as a lot of frameworks since it > was built at a time when problems were different. I think Aida is > different and can only get better especially when I hear people talking > about integrating Amber on the client-side. Wow! Technology at its best > and the future of the only real OOP language(!) looks bright. > > > Dne 10. 02. 2012 16:37, piše Janko Mivšek: >> Hi Bob, >> >> You just inspired me to write down my vision and future plans for Aida, >> so let me start with that: >> >> Main *Aida vision* from the start is to extend the Smalltalk philosophy, >> elegance, simplicity, power to the web applications as well while >> preserving all those beauties of Smalltalk. >> >> And to be on the *bleeding edge of web technology* with Smalltalk all >> the time. Which we are. I'm most proud that initial architecture was set >> good enough to be adaptable through all that time since 1996 and that we >> are not stuck even now supporting the current HTML5 wave. >> >> And here are the plans. Short-term, long-term? Well, we'll see :) >> >> 1. *Documentation*! It seems Aida core features are stable enough now >> that we can document it and that this documentation will last for a >> while without needing to update it constantly; >> >> 2. More *HTML5*! like FileSystem, DragDrop, Video and Audio etc etc; >> >> 3. More *realtime*, actually realtime anything, everywhere. WebSocket >> standard is now de-facto complete and in a year all browsers will >> support it. What I mean by realtime anything, everywhere? Any data >> you show everywhere on your web page will be updated in realtime, >> that is, immediately when data changes. And this will be switched on >> by default! >> >> 4 More *client*! That is, more processing moved to web client with >> Amber Smalltalk. Here the end goal is to partition your app in >> runtime where to run. All on server as now, all on client (and >> offline), or parts on server, parts on client. Client parts are >> "emitted" to Amber Smalltalk and sent to a client for execution; >> >> 5. More *local updating* at the client. On server only data is >> updated while all dependent views are refreshed locally on client; >> >> 6. *Automatic forms building* out of domain model, with help of >> forthcoming AidaFields by Nicolas Petton; >> >> 7. More *relational domain model* support; >> >> 8. More *JavaScript libraries* supported as Aida Addons; >> >> 9. Aida as provider of *REST-full web services* accessible from other >> web or mobile apps >> >> 10.*Cloud* support, Aida apps as both as client as service provider in >> the cloud; >> >> 11.*Aida hosting*, both free and commercial. >> >> >> Best regards >> Janko >> >> >> >> S, Robert Calco piše: >>> Janko, >>> >>> I was wondering if you could reveal any grand plans you might have for >>> the future of Aida? >>> >>> What I like about Aida compared to Seaside is its relative simplicity >>> and portability. Seaside uses features of Smalltalk that are not really >>> portable between smalltalks to do its magic (continuations and pragmas >>> being the big ones that I've noticed, which prevent it from being used >>> fully in Dolphin, for example). >>> >>> It feels to me like Aida doesn't try to reinvent too many wheels, >>> meaning it's a bit more accessible to people coming from, say, Rails, >>> like myself. It has relatively more steak than sizzle, whereas Seaside >>> has relatively more sizzle than steak. I like my steak rare ("still >>> twitching" is what I tell waitresses at restaurants), so I don't care >>> about sizzle so much. That said, my favourite way to prepare steak is >>> 'black and blue' -- but it takes a rather industrial-size furnace to >>> cook it that way, but, working for a charity, I usually only have a >>> couple matches and a little kindling to start my fire pit. ;) >>> >>> What I don't like about Aida is the documentation, which is a bit >>> scattered by topic and somewhat stream of consciousness. Seaside has >>> Aida beat hands-down in this department. There are books, well-designed >>> tutorials, lots of samples, etc. It's actually very hard, if you're me, >>> to ignore that big plus for Seaside. >>> >>> I think Aida needs a much better, much more in-depth tutorial, that >>> really highlights its best parts, and suggests where it's going to get >>> better over time. I am not sure I like all the parts of Aida included -- >>> for example, I've been reviewing the (very involved) Parties/Roles >>> packages and it encroaches a lot on my domain model, meaning I either >>> have to use all of it or none of it. But maybe I have misinterpreted its >>> design? Maybe it's better than my slogging in the code has revealed, and >>> I should use it? Some documentation about the rationale for the >>> abstractions chosen and how they're implemented would be nice. >>> >>> What I'd like to see in Aida is a greater commitment to REST and maybe >>> XMLRPC API support (seems you're working on that one quite >>> aggressively), more of an MVP vs MVC pattern for rendering, and perhaps >>> support for rich web clients a la Amber (I see there is WebDAV support >>> in Aida, so perhaps you're already intending to go that route), and >>> better security (I really need to support HTTPS, and support API keys >>> securely). Seaside has done a good job in its HTML API, but Aida's >>> abstractions feel somewhat heavy (gazillions of methods). Some >>> refactoring of that seems like it could be good. >>> >>> Neither framework handles layouts, look-feel, or any of the design >>> intensive side of web development as nicely as I imagine it could be >>> done. This could be an area for huge win in Aida, as I see you've tried >>> to make it easy to reskin a site by supplying a new web style. However, >>> I tried doing this with the demo app and only just mucked stuff up. >>> Again, good documentation about this important area of implementation >>> and some idea of what the end-goal is for it would be awesome. >>> >>> I'm willing to contribute but I need to get up and running and confident >>> in what I'm doing still. It's been a bit of a ramp up. But I think I'll >>> do well with this choice for what I need to do. I would just like to >>> know what the future holds as I think there is still a lot of room for >>> innovation in web development, and it doesn't all have to be heretical >>> to be on the bleeding edge, so to speak. I'll feel better about Aida >>> knowing that it's roadmap is a good one. >>> >>> - Bob >>> >>> >>> >>> >>> _______________________________________________ >>> Aida mailing list >>> [hidden email] >>> http://lists.aidaweb.si/mailman/listinfo/aida >> > -- Janko Mivšek Svetovalec za informatiko Eranova d.o.o. Ljubljana, Slovenija www.eranova.si tel: 01 514 22 55 faks: 01 514 22 56 gsm: 031 674 565 _______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Free forum by Nabble | Edit this page |