BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Interviews Software Engineer Panos Astithas of Mozilla on Debugging Tools and Open Source

Software Engineer Panos Astithas of Mozilla on Debugging Tools and Open Source

Bookmarks
   

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.

   

2. Excellent, in your work at Mozilla how many different developer tools do you actually use?

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.

Simple like in sense that I use text editor not an IDE because there is not much benefit in the kind of work that I do at least, but we do find it necessarily to create our own tools like the same way we have a JavaScript Debugger for web developers, we have a Browser Debugger that can be used to debug Firefox itself or Firefox Add-ons, the extensions that as large communities of people creating those extensions so would have to create tools for that group of people and we are also consumers of those tools ourselves.

   

3. I see, do you have like any advice for somebody that wants to create their own unique tools for a particular job?

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.

   

5. That’s great, how about your team Panos, is there like, say like some particular section of the Mozilla Firefox Browser, that you could say: “Our team did this particular section”?

Actually our team did precisely what appears when you launch the Firefox Developer Tools, it’s sort of a toolbox that appears in the bottom of the Firefox window that presents you the ability to inspect web content, debug JavaScript code, brake points and anything like that. So it’s sort of quite specific the part of Firefox that my team helped create, so yes, it’s strict in that way.

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.

   

6. What languages and frameworks do you use to build the Firefox developer tools?

It’s basically Web Technologies, JavaScript, CSS, HTML, also a derivate of HTML called XUL. Which is an XML user Interface language, and occasionally my team needs to augment a platform to provide more insights into what the platform is doing, so we occasionally do get to write some C and C++ code.

   

7. Another version of HTML, can you talk a little bit about that and what is like?

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.

   

8. So their own version of HTML that works with HTML is compatible with it sort of, or?

It’s a different document format, it’s XML based and it has some additional tags that you can lay out more easily to create a desktop UI, but you can style them with CSS, you can interact with them with the JavaScript, so from my point of view it’s not that much of a deal.

   

9. Do you get community volunteers contributing to the tools that you use at Mozilla and can InfoQ viewers and readers contribute?

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.

   

11. Mozilla is working on these new variety like the, you got a specific Mozilla smart watch, OS version you are working on?

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.

   

12. Maybe adding some new features so that it'll work better on the smart watches and that type of stuff?

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.

   

13. Back to pitfalls for developers. Like say they are working in iOS, do you find or are you aware of any like different pitfalls that iOS developers run into as opposed to Android developers?

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.

   

14. Right, I know you guys are working on the new Firefox OS, it’s sort of gonna compete with Android and iOS, and can you tell us a little bit about that?

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.

   

15. Certainly, is Mozilla going to have their own smart phone?

No, we are not a hardware company, we just create software that others can take and use.

   

16. I see, there is a Firefox OS Simulator that I saw online there, what are some of the benefits of that, what is that all about?

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.

   

18. What do you think Mobile App Developers should know about the Open Web?

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.

   

19. What is the Open Web Panos, is it just a sort of a progression of where we are now, is it just like Open Source for the web?

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.

   

21. What is the biggest security threat for Mobile App Developers that you are aware of?

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.

   

22. All your work is part of a team, you're an individual employee from Greece, do you have a lot of other employees in Greece at Mozilla?

There are few and I’m not familiar with, I’m just an engineer, I don’t know much about resource issues.

   

23. What is, what will be the main focus going forward Panos with your mobile development efforts at Mozilla?

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.

   

24. What do you think of mobile backend as a service providers and their relative necessity for mobile app developers?

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.

   

25. We are in the second day at QCon San Francisco, what do you like most about QCon San Francisco Panos?

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.

   

27. Can you give us a little excerpt on what it's going to be about?

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.

   

28. What sort of tools are you going to recommend?

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.

   

30. Was there anybody in particular in your past that inspired you to become a coder, what is your favorite title description Software Engineer?

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.

   

31. Do you guys mainly use Java to do your work?

It’s most JavaScript and HTML and CSS, so that is my mainline work day-to-day.

   

32. Do you have any security things that you consider while you are working on your particular aspect at Mozilla?

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.

   

33. You just use like your debugging tools to look for maybe any security holes in the coding or how does that work?

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.

   

34. So your team finishes your particular aspect of it and you send it over the security team and they review it for like?

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.

   

35. Can you give us any security tidbits that you mention interesting wise?

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.

   

36. I see, can you tell us a little bit about your security team at all without spelling any corporate secrets?

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…

   

37. Maybe not quite there but enough to be proud of your success?

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.

   

38. Excellent, so what do you think of the Internet of things, is that anything on the radar of Mozilla?

I’m not aware, it could be, personally I have not useful information provided, is not something that I have thought about.

   

39. Do you have any parting messages for our InfoQ viewers that you’d like to say?

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!

Feb 05, 2014

BT