Francisco Tolmasky talks about Atlas, Cappuccino and 280 slides

Paul Boag

At the last Future of Web Apps Ryan and Stanton had a chat with Francisco Tolmask about the work he’s doing on Atlas, Cappuccino and 280 slides.

Paul (Stanton): OK so we are here at the Future of Web Apps London conference and we are here with

Francisco: Tolmasky from 280 North, Hello.

Francisco: Hi how are you doing.

Paul: Not to bad, we have just seen you up on stage demonstrating quite a range of things from Atlas,Cappuccino,280 slides do you want tot give us a brief overview of what you did talk about for our listeners.

Francisco: Sure I mean I kind of wanted to start out by explaining the idea behind everything which is we really want the web to be a fantastic platform for applications right. When people say web apps they put a lot of emphasis on web we put our emphasis on apps we think that apps are just this great thing it does not matter where they run they should just run really well, and unfortunately today we believe the tools just are not there to create fantastic apps. So one of the things we have done is create a framework that allows you to very easily bring up these kind of applications and the other thing I was showing today was Atlas which is kind of a IDE and UI builder application builder that kind of makes it a lot easier to put these kinds of application together.

Paul: So you are working to bring what you call desktop calibre applications

Francisco: I don’t really like that term, we say desktop calibre where it should really be good calibre right? There is no reason why these features should be limited to the desktop right, undo and redo, copy and paste all this stuff they are just great features. Unfortunately they only exist on the desktop today so we say desktop calibre applications.

Paul: and those simple kind of operations like copy and paste and saving for people to write those themselves into their app is insanely difficult.

Francisco: Oh yes that the …

Paul: So you are trying to flatten that aren’t you

Francisco: is the unfortunate part there are these things that are really important like that they are a) very small individually, ah we ant to include undo redo that’s not a big deal right , they are b) very difficult to implement right. If anyone has tried to ever do undo redo by themselves it is really hard to manage those stacks to know when to collapse multiple undos into one and then after all that to be able to reverse it all for redo when someone presses redo right. And on top of that and you know if you don’t do it, it is these little things that build up and it’s a secondary experience right. They use Office on the web they don’t know what it is about it but it is not as good as the desktop and it is all these little things.

Paul: OK you kinda come to the point the web is ready for this

Francisco: Absolutely yes

Paul: and especially the tools that you demonstrated absolutely fantastic to watch obviously I recommend anyone listening to the interview to go and watch the demo where can they find that

Francisco: So has the demo unfortunately it is a little outdated because it shows the web version and we are going to be shipping the desktop version since that’s what everyone asked us to do, but we will be updating the demo on that site and of course we are actually going to be releasing the public beta for $20 on November 15th (2009) so they are actually going to be able to get their hands on it at a very reasonable price.

Ryan: Though actual atlas you have lots of various modules to build up your applications built in haven’t you


Ryan: what, how difficult is it for designers to be building new interfaces elements

Francisco: It is actually very easy for a number of reasons, for starters everything I showed today was an external plugin so the thing is designed plugin base to begin with. It actually does very little without the first plugin we wrote

Ryan: right

Francisco: the second important thing is we are going to be open sourcing that plugin so people can look at it and base it from that the third important thing just like everything else we have done is it based on an existing standard it’s the same plugin architecture as interface builder so a) you will be able to convert the existing interface builder plugins from the mac and b) it is something that has been very functional for ten years and people have been using for ten years to build their own plugins so we think the mac community is going to start targeting this platform as well.

Paul: So when we first say this a a year ago it was strictly to build web applications

Francisco: right

Paul: and you mentioned today by the community kind of telling you or asking you to make it you can actually port them to desktop applications as well, can you explain how that works now.

Francisco: From a technical perspective ?

Paul: It’s one codebase isn’t it so you just write ..

Francisco: right, so so we kind of think what the big insight behind this is it is hard to get it to run on the web as it was an application framework from the desktop originally that we made work on the web so despite the fact it seems very strange and I am sure a lot of people maybe sceptical about this running on the desktop it was originally designed for the desktop. Again Cappuccino is not a web framework it is a application framework and applications make sense in a variety of environments so you know mobile,desktop,web Microsoft crazy table [laughs] whatever right.

Paul: [laughs] i like that name

Ryan: Its fantastic

Francisco: so again the desktop and the web are very very similar, right you can almost think of the desktop as just as the server has a very low latency so again the things on the desktop are actually easier right you are not constricted to one window and all these sorts of things. So it was not a very big stretch at all to get it running there. Does that answer the question I don’t know.

Paul: yes i think so, possibly.

Ryan: I was just wondering when you mentioned it like that you moved it to the desktop because people mentioned they don’t want to move their code base to your servers

Francisco: right

Ryan: Could they host atlas on their server and access it locally as a web ?

Francisco: Yes, Yes so I actually mentioned that as one of the options, the shipping the server option basically and that is something we looked into initially and although it made our enterprise customers happy it did not make individual consumer customers as happy right. If I’m one individual developer I am not going to be my sysadmin and run this server when I can just run a webpage right?

Ryan: yes, so there needs to be options is it going to be a facility that is going to be part of Atlas ? or are you just not going to go down that avenue.

Francisco: I think what we are going to do is release the desktop app first and then see if the response is we want these other options. We think the other options are really secondary to, I mean most companies today run desktop development software and they are all happy with it so to give them that it will be a very easy switch.

Paul: And you mentioned atlas runs, especially on the web platform agnostic can run on any server

Francisco: Yes, so Atlas, just like every Cappuccino app runs on any browser and separately the Atlas downloadable executable app will run on Windows and Mac and other things as well

Ryan: OK that was another question ticked

Paul: I noticed you did not mention whether it would run on Windows

Francisco: right, I always forget something and that is a kind of important something, but they have a podcast now to listen to.

Paul: I don’t think there were many Windows users in the audience to be honest. Another thing that would be interesting for listeners is that you are using this IDE to build, and the demos are a lot of drag and drop stuff and the thing a lot of people are concerned about and I have always steered away from this kind of programming is the code it generates especially on the web.

Francisco: So we don’t generate code, let me start by saying I think most people agree that MAc apps are pretty kick-ass this is the way you make Mac apps A to B to C it must not be such a bad way to do it. A lot of people are going to be becoming accustomed to this model because this is exactly the way you write iphone apps so a lot of people are learning to do this anyways. This is not swing where you put a bunch of elements together and it spits out a bunch of code it is not that at all. This actually archives objects and that’s why when I was up there I was as well able to create abstract objects as well as real UI objects it’s as if, I can’t really I do not know how to explain it other that it freeze dries the object graph it is not generating code, it is kind of

Ryan: It is not like Dreamweaver’s WYSIWYG where you are dropping in elements

Francisco: right, so a good way to think of it is this is kind of like this but essentially you could take your code and save the binary and run it and resurrect it and it is the live objects that’s the way this works we are taking the live objects and storing them, it is not serialisation it’s archiving and then we are awakening them.

Paul: OK, what about accessibility for the apps built with Atlas.

Francisco: So accessibility is a general problem on the web, it is a big problem in a lot of senses why the spec is not completely finished, the spec leaves out a lot for people writing these kind of apps in general. For example Bespin which I mentioned this mozilla browser is completely inaccessible because the ARIA guys completely left out what to do when you have a canvas tag right.

Paul: right

Francisco: and the Bespin editor is entirely canvas so what are you supposed to do. So what we feel is the right solution to this is to take it to a standards level, like what i really wish I could do is just like on the desktop there was a callback function where I could arbitrary say like you know say these words as opposed to today where it is all tag based, which does not work for applications that being said it is a problem we are working on and we are trying to provide the best applications, the best possible experience to start with. We are going to be using the same api as Cocoa just like everything else so I think it will be an api people will enjoy using and we are going to do our best to make it work as good as possible.

Paul: Fantastic and what kind of things are you seeing being built with it, at the moment or in the near future.

Francisco: a lot of surprising things, so obviously there are a lot of internal apps, there are a lot of companies that we can’t talk about these are like big apple companies that used to write cocoa software and are now looking to bring it to the web. So I think in the next six months you are going to see a lot of formally just mac apps now running on the web on cappuccino. Ermhh I know sofa some good friends of ours have a point of sale application called Checkout, there new version now runs cappuccino as well, so that was really exciting they released that, that is a product that actually makes money [laughs].
There is also almost dot add it is a really cool twitter application, the reason I like this application is it is kind of like those twitter applications that show you what was going on at conferences but you can actually scrub through time so you can like rewind and

Ryan: wow

Francisco: like you can have the video of someone talking and the tweets going by, it is pretty cool so lots of interesting apps that I never thought would be, like I though everyone was just going to write excel with this.[laughs] Not the case so.

Ryan: I think that is always the case when something new comes out isn’t it

Francisco: absolutely yes

Paul: People try and build what they know first and try and try and replicate functionality much like you did with the code editor it is like can we do this, yes quite easily. So I am looking forward to seeing what people do end up building with it, what about iphone development I think last time I saw it…

Francisco: yes, yes unfortunately I did not have time to talk about that today, I figured everyone has seen this, it is definitely another big thing we are trying to focus on. The really nice thing about the way we do interfaces is you can make a different interface for different platform right, so everything I showed today was you write one thing and it just magically works everywhere and the reason that is the case with the desktop is really they are so similar you do not need a complete different interface like I showed in the Bespin editor the same one made sense on the desktop and on the mac. However we allow you to actually branch the interface and say this is the one for the desktop and this is the one for the web and this is the one for the phone right.

Paul: right

Francisco: and the way we see things is you know we are heading down a very dangerous development path which is more platforms not less right and this idea of it is hard to make PC and Mac apps and it’s just going to get a lot worse Nokia, iphone, palm, palm pre, web, Mac, PC we are going to see an explosion of platforms and the current method of hiring someone who is an expert at each one of these isn’t going to scale so the idea that you can create a different interface for every platform is sound as long as it is easy to create those interfaces right. If it takes tons of code to do each one then it is as equally unscaleable so that is why we think Atlas is going to do really well it the mobile space because you will be able to write a desktop app and then you will be able to write a mobile version and they will share the same code, the same model, they will only have different interface files so.

Paul: cool, fantastic

Ryan: impressive

Paul: ermh I don’t have any more questions

Ryan: and neither do I

Paul: so er Thank you very much

Ryan: yes thank you very much, very impressive and look forward to having a play with it

Paul: So your public beta is going on November 15th and that is at is that right?

Francisco: yes

Paul: thank you

Francisco: thank you

Ryan: thank you very much.

Thanks goes to Shaun Hare for transcribing this interview.

If you recognise that the mobile web is important and you need help deciding on a strategy, then book a mobile consultancy clinic.

Book a consultancy clinic or contact Rob about a more in-depth review.