Bio Panos Astithas is a software engineer at Mozilla, working on Firefox Developer Tools. He has worked for more than fifteen years as a senior developer, development lead and architect in various organizations. Panos holds a PhD from the National Technical University of Athens focusing on computer network security.
Software is Changing the World. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.
1. Hi we are here at QCon San Francisco, the second day, Tuesday, we are here with Panos Astithas from Mozilla and he’s been kind enough to answer a few questions and welcome Panos. We'll get right to it, Panos do you work on developer tools on your own at Mozilla or it’s part of a team or both?
I’m actually a member of the Firefox Developer Tools Team, so it’s about a dozen or a couple of dozen people who work on everything that is related to the Firefox Developer Tools and yes, that is my team.
For my own work I’m mostly using the traditional stuff like text editor or compiler and that sort of low-level technology. Because you know for working on Firefox, Firefox is a desktop product but it is made of web technologies. So tools for web developers do not apply because we cannot target desktop applications and tools for desktop applications do not provide that kind of insight that we need in my day-to-day works, so often we just have to use simple tools.
Martin: Simple tools, like what are some of the tools, 'simple tools like…' name a couple.
I’m not sure my experience applies directly to someone else because it’s sort of a, we are trying to target what we do to ourselves like in a way, I was doing a demo few months back when we first introduce the Browser Debugger where I was debugging Firefox and in other window was debugging the Debugger and in another window was debugging the Debugger who was debugging the Debugger, so that is not the kind of tool that a regular people would want to create and use, it’s more fun.
4. [...] Or it’s like the results of all your coding efforts are only like discernable as a more seamless Browser experience from what you’ve done, from your work, like zero individual presence necessarily other than maybe the sounder performance from what you’ve done with your coding?
Martin's full queastion: Or somebody that has difficulty saying things like that three times fast. Do you see so rather, is there any part of the Mozilla Browsers, Add-ons or other applications that you could ever single out and point to and say like maybe the “M” in Mozilla or something, "I created that." or it’s like the results of all your coding efforts are only like discernable as a more seamless Browser experience from what you’ve done, from your work, like zero individual presence necessarily other than maybe the sounder performance from what you’ve done with your coding?
Since I work as part of a larger team I cannot point out a specific tool and say: “This tool is all my work”, I think nobody in my team can say that. But then again it's not like I’m working on tiny little pieces as part of a huge group of people so my only contributions are like 0.5 improvement in some benchmark.
There are certain areas like in the Debugger or some API’s in the web console that I have helped create, and that certainly makes me feel fulfilled by my work.
Martin: Excellent, maybe you should come out with something like movie credits for browsers and stuff.
We actually do have that sort of thing, there is, if you type in a Firefox tab in the URL about Column Credits you see the huge number of people who have contributed to Firefox all these years. It’s even better than in the movies.
It’s actually really old, it’s when Firefox started back in the day they decided to make a cross platform by not having separate versions of code for every platform but having a common layer to build the UI and that layer was XUL which is pretty much like HTML, it’s hard to tell the difference sometimes.
Certainly, because you know Firefox is an Open Source project and we basically do not consider my team, which is Mozilla Staff, do not consider ourselves something separate from the community. It’s just one big group of people working together to improve Firefox, so we have a large number of people and as the developer tools in Firefox improve, because we just started a couple of years ago. I think we’ve been getting more and more contributors and more sustained contributions, so that’s been really great for us.
10. Firefox is an Open Source browser? And the tools for developers that want to contribute are just right there, just right click it or something? Great, can you give us some advice to our Mobile App Developers out there on some of the common pitfalls that they might run into when they are developing their apps?
For Mobile App Developers and I say that as someone who hasn’t actually done very much mobile development for the past couple of years since I joined Mozilla, I think still the main issue is the proliferation of the different device, forms and screen resolutions.
So developers have to actually take that into account and I don’t think that will cease to be a problem anytime soon. Because vendors produce all these new kind of devices like smart watches or TV’s and as consumers we want to have apps running on them, so I believe it’s a problem but it’s a good problem to have.
Well no, we don’t actually work with smart watches but we do have a new Firefox OS. This is an operating system that runs on mobile phones currently and it’s based on web technologies as well.
If people decide to use that because this is all Open Source like everything Mozilla does, if they decide to take that operating system and put it on smart watches then certainly yes.
I think in the subject of different device forms at least, the iOS has the advantage that it’s a single vendor ecosystem. So Apple controls everything and they have a limited number of devices they produce, so a developer can have it easier. But then again Android has the much broader reach of market and people. So I think you just cannot avoid that, even in those two ecosystems. And as an ecosystem becomes more successful, this is the kind of problems that you need to deal with as a Mobile App Developer.
So Firefox OS is an attempt to just take the web platform and put it on mobile devices. Which is something that when I first heard about it, I thought it was so obvious that I could not understand why nobody did it before. And actually that wasn't exactly true. Some people have tried something like that, like PAM with WebOS.
But the thing is Firefox OS provides some unique capabilities from the perspective of both OEM or carrier. Like this is a fully Open Source project that they can take and work with the community to advance to various different directions.
There is no single gatekeeper from a developer point of view. There is nobody that dictates what kind of application can go into a market or that the user does have to use some sort of Marketplace to get their application from. And also creating apps for Firefox OS is basically the same as creating a web application for desktop, it’s pretty much the same thing.
There is a specification called Open Web Apps that we are implementing and which is quite similar I believe to what Google does. In the future I hope, we can standardize both of those. And it’s easier to create applications for that platform because it’s not a new platform; developers are by and large already familiar with it. And it gives more choice to consumers and that it’s a good thing.
No, we are not a hardware company, we just create software that others can take and use.
Well the Simulator is useful in the case where you are a Mobile App Developer but you don’t have access to the device that your users are using. So you want to try to see how your application behaves on that device without having access to them. But right now Firefox OS is in the beginning so there are not too many devices like, there are like three right now, being sold worldwide. But even so, even if you have a device, the time you need to spend between modifying your application, uploading on your device, testing it there, going back and changing the things that needs changing. That's a cumbersome process and Firefox OS Simulator speeds that up significantly. Because it runs in your quad core 3 Ghz computer. So that's a much better experience when you are iterating your application.
17. Right there you are making easier for developers to get their app up and running on the new Mozilla OS, so that is not quite out yet, has been release yet already, Mozilla OS, it’s available, people can download that?
Firefox OS has been Open Source since day one so if you wanted to run prerelease versions you could do that for 2 years now. But actually this summer we launched the first devices, not we but our partners, so we are launching in the past few months in Europe, Latin America, Mexico I think and more are coming.
Martin: Not yet in the US?
No, not that I know.
Martin: Will have to look forward to that, do you know when that is going to happen here in the states?
No, I don’t know, I have no information.
I think by and large they are already familiar with the web. But from the perspective of how it differs from other mobile ecosystems I would say that the strengths of the Open Web are that it’s built around the concept of the URL, Which is something that can be shared freely and it’s an Open Platform for innovation; there is no gate keepers. Many vendors implement rather that allows consumers to consume the Open Web. So from that sense it’s safer to invest in that platform. Because you don’t have the fear that the Internet can sometimes pull the rug out from under your feet and you know.
No, it’s just the web, it's just that we put the emphasis in the fact that the web is Open, everybody can come in and contribute and create their own space.
Yes, it’s a separate issue but yes that is the thing.
In my view and I’m certainly not an expert in the area, but what I find really interesting with mobile devices is that the usage patterns are slightly different than what we are accustomed to on desktop computers.
For instance we always keep our devices with us and we use them differently, for brief periods of time. Like I just take out my phone and check something on Yelp or Foursquare or whatever and put it back in my pocket.
And that means that I usually don’t have a strong password on my device. And may have a pin number which is weaker, and also the amount of information that my device has about me is staggering. Because it knows where I’ve been since I’ve been carrying it with me and it has all the information about me and my friends, my photographs, my videos, my emails.
So I believe Mobile App Developers need to seriously consider the implications of security and privacy issues for their applications. And I think that this is something that it will become more important as we become aware of that.
Martin: Our attorney general here in California was doing her part to make a lot of people aware of just that issue, the privacy issue. Did you guys at Mozilla get one of those letters? She sent out fifty letters, you were not one of the subjects but I guess…
I don’t know, I work from Greece so.
Martin: Much better, you guys at Mozilla you get to telecommute? That is kind of nice.
That is right, we are pretty big on remote working and distributed teams working together.
There are few and I’m not familiar with, I’m just an engineer, I don’t know much about resource issues.
We are working on a new feature in our development tools, we call the App Manager which is a tool that allows you to work with your Firefox OS device right now and soon with Firefox for Android too.
And it lets all the tools that we have created for traditional web applications like Inspection, Debugging, Profiling, target that device and make you, provide you with more insights into how your application behaves there. And we are iterating over that and we are pushing that forward and I think we will come up with useful things in that area in the future.
I haven’t actually used them because of the kind of work that I do. So I think it's useful to have more options. And I think back in the day when I was doing that sort of work I would have been glad if I had the option to use that. So I expect that this is something that will be useful for many people.
I think it's the people. I’ve met a whole bunch of very interesting, sophisticated people and the quality of the talks is phenomenal. So I’m really happy about what I’ve seen so far.
No, my talk is tomorrow.
It’s going to be about Front-End Debugging and what kind of tools you can use to apply to the problem. And what a few techniques that we can use to get more insight from the tools. On how our programs behave and how we can identify pain points and how can fix them.
I’m going to be talking about Debuggers, about Profilers and some of the stuff that my team has been working on but is not ready to release yet. So I’ve been giving some sneak peek into the work that will be coming down the pipeline in the next few months.
29. You said you guys make most of your Debuggers. But there some Debuggers you might illustrate with in your talk or you are going to use some off-the-shelf ones, people can download themselves and use?
I’m going to be using the Firefox Developers Tools as my main example. But there are also tools from other vendors that can be used in the same way. It’s not going to be just Firefox specific talk; the lessons can be applied more broadly. But I will be using the Firefox developer tools to demonstrate the things that I’ll be talking about.
I cannot pinpoint a single person. But it’s always been fascinating for me to see how you can make a computer do all those different things like start from nothing and create something that is so complex and so useful at the same time.
Certainly. We regularly have security reviews of new features that we add and we keep thinking how a malicious party could potentially use our tools to harm the user in some way. The good thing is that the area that I’m working on is not relevant to the vast majority of browser user population; it’s only relevant to the minority of developers. So I’m not aware of any sort of attack to any user through the Firefox Developer Tools so far.
Actually the security team which is a different team than the developers tools team, has a bunch of very interesting tools. I think quite a large number of them is homemade. So they create their own tools, create tools called Phazers which try various types of input to the programs to see how will would react and which is sort of a thing that hackers do as well hackers in the bad sense, one of them try to brake your computer so essentially try to imitate what an attacker will do and each time they succeed, they say: “This is something that didn’t work and you have to fix that” and we do that.
It’s not like something that we do very often because most of the changes do not have any security impact at all. But sometimes when you introduce new features or new ways for the users to provide input into the browser, then that is the case when it becomes more interesting from a security perspective because that is what can lead to security exploits if it’s not being done correctly.
I’m not that informed into the security engineering bits. Because we do have a great security team, so we rely on them for that testing.
It’s not about secrets. It's just I don’t have much visibility in what they do. Because we don’t have the time to follow what every other team in Mozilla is doing. I’m not sure if you know but Mozilla is really big these days. It's not Google big or Microsoft big but…
Right, it’s more like Mozilla is close to those companies in terms of the importance or the reach of its products. But not in terms of the size of the people who are employed by Mozilla. And still you always need to consider that Mozilla is an Open Source Project.
And if you just count the number of people who are paid by Mozilla to work on those products, you are missing the bigger picture. Because this is just a tiny minority of the people who are working on Firefox and other related products.
I’m not aware, it could be, personally I have not useful information provided, is not something that I have thought about.
I would say that, since this was my first QCon, I’d say that if you haven't had the chance to experience QCon live, you are missing a great deal and you should definitely check it out sometime.
Martin: Thanks again Panos for your time!
Thank you for having me!