AEM Podcast: A Sightly Interview with Gabriel Walt

Hello,

Prior to the monthly Salt Lake City AEM 6.0 Meetup, Gabriel Walt, product manager for Adobe Experience Manager also the night’s guest speaker was able to spend a few minutes with our Adobe Experience Manager podcast team (Peter Nash and Joey Smith). After introductions they were able to talk about Sightly as a new templating language for AEM. Gabriel shared his thoughts on the creation of Sightly, and where the idea for it originated.

The ease of use and abilities that come with Sightly just go to show that this language was constructed by developers for developers. Being able to write more efficient code helps cut down time spent on a project, from writing to refactoring to completion.

If you are in the Salt Lake area come check out our next MeetUp, or let us know what you thought about this or any other podcast, email us at info@aempodcast.com or send us a tweet @axis41

Enjoy,

Transcript:

Music Intro: Code Monkey by Jonathan Coulton

Announcer: Welcome to the Adobe Experience Manager podcast: a weekly discussion regarding Adobe Experience Manager formerly CQ and other marketing and technical issues. This podcast is presented by, Axis41, your partner in Adobe Experience Manager Implementations. Your hosts for the podcast are Joey Smith and Peter Nash.

Peter Nash: I am Peter.

Joey Smith: And I am Joey.

Peter Nash: Welcome back everyone. We’re excited tonight. We’re doing another podcast here in conjunction with our AEM Meetups here in Salk Lake City and we’re lucky enough to be able to join, to be joined tonight by Gabriel Walt who is currently one of the product managers for Adobe Experience Manager sites and Sightly. You’ve been with Adobe now for what a few years? or probably about…

Gabriel Walt: Yes about five.

Peter Nash: About five years, yeah. So welcome. Thank you very much for taking the time to chat with us tonight.

Gabriel Walt: Yeah thank you. It’s great to be here.

Peter Nash: Yeah, I was unfamiliar with you. I’ve only been working with Adobe Experience Manager for a short amount of time. So maybe you could take a minute or so and just kind of introduce yourself…

Gabriel Walt: Sure.

Peter Nash: You know, How, Where did you come from in the world of development and whatnot.

Gabriel Walt: Okay. Yeah so I joined actually Day Software before the acquisition. I went through a number of roles basically first I was with the marketing team and I was implementing the day.com website with what was called CQ at that time. Then when Adobe acquired, I went more into the technical side, actually more into the technical team, I mean so engineering. And there I have been first implementing out Geometrixx Outdoors, the very first version of it. And after that I joined the Coral UI team who is responsible of the whole Frontend for the Granite UI new touch interface basically that’s the whole visual part of the product and then about two years ago I joined the product management team and yeah.

Peter Nash: Fantastic. So that’s, you’ve definitely been around the block as far as Adobe Experience Manager is concerned. So you’re the right guy we want to talk to about this. We specifically I think wanted to get in and really talk about Sightly…

Gabriel Walt: Yeah.

Peter Nash: So I think we’ll probably just kind of stick in that general area for the discussion tonight.

Gabriel Walt: Of course.

Peter Nash: Yeah, you know one of the interesting things about Adobe Experience Manager is how we can plug in different scripting engines and things like that. And so one of the things we hope you could speak to us a little bit about is what was the initial thought process that led into the creation of Sightly and adding it as one of those engines that’s available.

Gabriel Walt: So as you heard with my background I have been doing a lot of Frontend development. I am not so much of a Java person and I always had a hard time actually with JSP. Actually I knew Java but it’s not so much the Java side of JSP, but I found it hard to find an elegant way of building components and also in a very efficient way. So we have also been analyzing a lot of different projects and we have asked also a lot of people in the field about what they thought were the things that were holding back the projects…

Peter Nash: Okay.

Gabriel Walt: …and how we could make them more efficient. And we really identified the components, the way you build the components with this JSP to indeed be an area that…

Peter Nash: Kind of a paying point for the customer?

Gabriel Walt: Exactly, yeah. So we have been thinking a lot how we could improve that. We tried with JSP, maybe offering Tag Libraries out of the box. And we came to the conclusion that it’s really hard actually to do something with JSP because mainly the main difficulty was that you want your site to be really secure, that’s our top concern. And for that you need actually to escape things differently based on the context and so we came to the idea to make a language that was aware of semantics of HTML and to automatically apply the right security measures to the different expressions that you have in your template. And so it really takes away the pain of doing this XSS protection correctly.

Peter Nash: Okay.

Gabriel Walt: And it ensures that, it gives you a much more likelihood to do everything right because it does it right out of the box unless you disable it or you manually…

Peter Nash: Work around it?

Gabriel Walt: …work around it, exactly. It’s actually a state-of-the-art protection. So that was really one point.

Peter Nash: I think that’s probably something you know speaking for myself as a developer, that’s great to hear because you know if I forget in one place to do my XSS escaping you know the whole site isn’t secure now and who knows when somebody is going to find that and I didn’t even realize they did that kind of things so.

Gabriel Walt: And then, yeah exactly. And the process then went on, we actually also worked with a real project. So we had actually two of them Adobe.com and the Telegraph Media Group project.

Peter Nash: Okay.

Gabriel Walt: And we have been working with the engineers that were building these projects and to see what features the language needs so that they are free to build anything they need and that the language is not holding them back in any point in any way but that they basically are indeed more efficient.

Peter Nash: Sure.

Gabriel Walt: So it’s a language that has not been invented in the laboratory. It has been really invented with the…

Peter Nash: In the field, kind of thing.

Gabriel Walt: …in the field with the reality, facing the reality. Eventually the last part of the process was to take it back into our engineering and to ask actually all the main developers that have an opinion on this, what they thought about the different features of the language and any feature that wasn’t commonly agreed that it was a feature we want to have forever around and any feature that was criticized and not where we could not convince basically everybody that this is a good thing we remove them.

Peter Nash: So if you couldn’t reach a consensus basically?

Gabriel Walt: Exactly. So in the end we really went over each feature and made sure that this is something that everybody feels comfortable with and that is actually really the right thing and that we can stand behind every feature that we have in there.

Peter Nash: That’s really good. You know I can’t say that we’ve always come to a consensus on all of our projects. Sometimes whoever is the smartest person in the room wins the argument and we all just a walk away.

Gabriel Walt: You should have seen the mailing, the mailing lists was crazy.

Peter Nash: I’m sure it was pretty huge.

Gabriel Walt: We had threats with hundreds of emails and long emails not just like yes or no emails with everybody giving his opinion on that. It took us months and I have been doing just that for a while just to take everybody to agree on what we have and then yeah.

Peter Nash: Holy cow! How did you come out of that with your sanity? I only have to work with well about 20 developers and each one of them you know always wants to chime in and say, well it should be this way, so…

Gabriel Walt: Yeah but we have a bunch of brilliant people and in the end we all worked towards the same objectives and I think when they are understood the consensus is eventually possible.

Peter Nash: Got you. So with that being the goal kind of that consensus approach, are there any limitations that you felt that were really stand out to you that you wish you hadn’t gotten into in the Sightly?

Gabriel Walt: Yeah. So actually there’s no limitation of Sightly that I know of so far that for instance something that you would not be able to do compared with JSP.

Peter Nash: Okay.

Gabriel Walt: There are a few things that are maybe like edge case is harder to do with Sightly and sometimes it’s really I think a good thing because it’s probably not the used cases that we want to promote so much. So it’s…

Peter Nash: So you’re kind of trying to steer people back…?

Gabriel Walt: Exactly. We’re trying to exactly to give them a direction a little bit. And the language itself is not extensible in the sense of you cannot add features to the language.

Peter Nash: Sure.

Gabriel Walt: But the language has extension points in it. So you can basically call HTML template where you have additional markup that you call like a function and you have also something that we call a used API where you basically can call code that corresponds to your markups. So you have these extension points which are very flexible and in my opinion they allowed to do everything that you are used to or you would like to do like you can do comparable things with it like Tag Libraries. So it’s really flexible. So yeah, I don’t have limitations that I know in the language so far.

Peter Nash: Okay. So are there things like I mean every, you’ve been working on this for what, how long now?

Gabriel Walt: It’s about a year and a half now.

Peter Nash: Year and a half and I’m certain that you know over the course of the exploration and the discovery of you know what this was going to be you know it’s obviously different from where you maybe had intended it to go or whatever just organically it happens. Are there areas where you wish you hadn’t gone down or that you know as part of that exploration and discovery that you wish you would maybe had done differently?

Gabriel Walt: Well there’s few so far really, I think there are a few additional features we have seen that we should add now to the language, but it’s actually not even mandatory features. It’s things that would make it maybe in certain used cases a little bit more simple but it’s quite few. Then on the implementation so far we are only actually having a implementation that is for Sling. I think that would be one area we could open up also in the future. I think it’s a good thing that we start with focusing on just having Sightly being an implementation for Sling but it could be made generic. It could be something that you could have also Javascript implementation of client side’s implementation of it because it’s server side. So you could have it actually and that’s also one thing that went into the design of it. We wanted the design not to be limited that you can go client side if you wish with this language but so far we are just focusing on Sling. And this is maybe one area where I would wish that obviously it’s more widespread but first let’s focus actually on Adobe Experience Manager, let’s focus that this language really accomplishes what it’s aimed to accomplish on Adobe Experience Manager and once we’re sure and once it’s widely used in this field we can then maybe go for world domination of Sightly.

Peter Nash: Yeah, you know as an implementation partner with Adobe and you know some of the other customers that we have done you know the question has come up you know– “Should we go with Sightly?”, “Should we go with the JSP route?” And having that conversation with a customer, the customer has to be you know comfortable with whatever decision gets made. But what would you say to the customer saying, “yeah I’m not sure I’m ready to really jump into Sightly, you know it’s still kind of being fleshed out.”? You know what would you say to them to either you know reassure them? Or help them understand that the framework is you know –this isn’t just something new, this isn’t a new thing, new fad like this is really going to be something you know much more extensive.

Gabriel Walt: Yeah. Well first huge effort went into the quality. When I said that we worked on the field with these two projects to make it really something real, it’s incredible the number of issues these projects have failed. They basically went through the language systematically also on their side and they filed hundreds of issues. And so far we had about six issues additionally that came since it was released in AMC. So I think we really covered the huge, we covered this basically this part and the quality is one of the best I think that we could achieve for the first version definitely. It’s one of the only features that have been tested so intensively. We have a whole testing suit for Sightly and so. Obviously we have it for the whole product but this we really went through each and every features so that because it’s a language it’s more than product feature it’s language so you can’t go basically through all the combinations and so on. And then the other thing is well do you want your projects to be more efficient or not? So I think in the end okay it’s maybe a new thing, you might be a little bit afraid of something unknown but do you want really to get the benefit out of it or not?

Peter Nash: Right

Gabriel Walt: I think the efficiency that you gain through Sightly is considerable. It’s obviously hard to give a number because it’s not something you can measure scientifically. It’s not like you can have two teams that work, one with and one without Sightly on the same conditions with the same project. So it’s hard to measure what you gain with Sightly. We estimate from our experience with Adobe.com that it’s a gain of about 25% in efficiency. So it’s quite a lot. And the other thing is also, do you want your sites to be secure? I think obviously we can do also secure site with JSP but it’s much harder. You really need to have people that are extremely methodic with… XSS API to each and every output and you make it very easily wrong. You have no easy way to actually make sure that you made it systematically right that maybe through copy paste you copy the value that was in an attribute, you added into an HREF and you didn’t say that this should escape like for a link. So this is the kind of security that is done automatically. And I think in the field of enterprise software it’s something that really has value.

Peter Nash: I think understanding you know because it’s new, right? So it’s going to be new for a bunch of developers that have never touched it before and so they are nervous about, you know, what they can do with it and having an understanding, you know I –at least– from my perspective, as a technical project manager understanding that you know this isn’t something that you know just pulled off the shelf and just pulled out of someone’s back pocket in a matter of you know a couple of weeks. This has been something that’s been tested pretty heavily as you mentioned. So that’s good to know. I’m glad to know that.

Gabriel Walt: Yeah, it is.

Peter Nash: It definitely helps me. Well, Gabriel we really appreciate you coming in for the Meetup today and taking some time out with us to have this interview and it was really good to meet you.

Gabriel Walt: It was great. Thank you very much for having me.

Announcer: Thanks for listening to the Adobe Experience Manager podcast, brought to you by Axis41, your premier partner in AEM implementations. If you have questions, comments or something you would like us to cover, send an email to info@aempodcast.com.