📜 ⬆️ ⬇️

“The web is the most complex platform in the history of mankind” - an interview with Vadim Makeev from Opera



In this issue of No Slides, Vadim Makeev, aka pepelsbey , an evangelist of Opera Software, one of the most famous front-end people in the country, organizer of many events in the industry, spoke.

We managed to discuss:

')
The interview was taken in February, but the hands reached the publication just now.

The video version of our conversation here:


And for those who prefer to read - under the cut the decoding of our conversation.



How it all began in the two thousandth


- How did you start to dive into the web? First, did frontend or Opera Software appear in your life?

- I wanted to do journalism. Then, unexpectedly, I learned that you can do websites, and I started working on the front end. And then, naturally, Opera appeared in my life as a browser that I used on Windows. At some point, when I had already professionally installed and worked at Yandex, guys from Opera company came to me and said that they need an experienced person who knows the community, knows how to organize conferences, make reports, and so on. And I very much approached them.

- Have you been to Opera since what year?

- Since May 2009.

- Before that, have you been in the industry for how many years have you cooked?

- I was lucky: I then worked in Moscow and participated in the organization of the first conference “Russian Internet Technologies”. There, for the first time in Russia, a lot of front-end vendors from Minsk, Moscow, St. Petersburg have gathered. It was a good start to driving.

- Now you yourself are doing so many things not as part of a large team, but as the head of your conference team.

- Yes, I was lucky to do the first RIT and make the first Yandex.Subbotnik. I remember how we sat in the office, came up with the name - it was all interesting. As soon as Ya.Subbotniki started spinning, I left Yandex, and at the end of that year we made the first Web Standard Days conference in Minsk. Actually, this was the beginning of a large free conference, which we do several times a year.

- Now you are actively cooperating with Oleg Bunin: are these frontend sections on RHS ++ and on HighLoad ++?

- Yes, when we gathered for the first time in the 2007th year, Oleg said: “Make some frontend”. I read my own report, invited friends. And every year in the spring, we meet again and again, and this used to be called RIT, then RIT ++ . Now the frontend on RIT ++ stood out in a big two-stream conference for two days - last year there were about thirty reports. In general, we are trying not only to do a free conference in different cities, but also a large paid one in Moscow.

- Clear. How did your interest in journalism start?

- Somehow it happened. I got into the city newspaper "Five corners", a hundred years ago, she was in the publishing house "Chance". I was interested in doing caricature.

- So you are an artist?

- I once dabbled, painted. Then it all went: comments, texts, something else ... Probably, it is not strongly associated with education. I remember how I looked for the first materials in English or in Russian in order to learn how the web works, how JavaScript works, how to write one version for Netscape, and another - for Internet Explorer. In general, I am an old man already.

At some point, I realized that there are few good sources in Russian, and I started writing my blog - doing some translations, publishing on forums, answering people’s questions. And slowly it all came to the first report within the company. Then there was an external report, a conference. And, in general, I realized that I am able to tell, and I have something to tell.

Pro standards


- Why web standards? Is it just a title, or is the topic of standards of particular interest to you?

- This is a very good question. Now a typical frontend developer or web developer, when he needs to make a website using some documents issued by the W3C or other committees, thinks: I read the spec and did everything. When I first started to impose, people did differently. Tried some garbage, work - it will not work. In one browser it works like this, in the other it is different, and in the third it is generally convenient to do it in another way.

Then the idea of ​​web standards was not obvious. And accordingly, we thought how to name the arisen association of people from different cities, sitting on the forum, to be engaged in education, to help each other. The idea of ​​web standards was key.

It was necessary to do everything not in the way we are accustomed to, not in the way that the browsers conveniently, but in the way it is written in the specifications, in the way it should be. The idea of ​​web standards is a topic that runs through it like a red thread. Now it is probably less in demand, but we maintain the continuity of the title in the podcast and in the conference.

- It turns out that now it is just a tribute to history?

- Today, web standards have won. And we, as a community, happily continue to carry this flag.

- In the two thousandth there was a problem - each browser did everything in its own way.

- Yes, and the developers, too, did everything in their own way to work simultaneously in several browsers.

- The last 10–15 years has been the process of standardization. Is the web now standardized?

- The term “web standards” itself appeared from the famous program book of Jeffrey Zeldman “Designing with Web Standards” , on the cover of which there is his photo in a blue cap. And everyone is celebrating the day of the Blue Beanie Day web standards - “Blue Hat Day”, in my opinion, in mid-April. All on the avatar yourself put a blue cap.

image

There was the site A List Apart - it is, in fact, still there, - from which all these ideas spread, and we picked them up. Webmascon translated a lot with A List Apart.

- Webmascon - what is this site?

- It was made by Alexander Kachanov. It was mainly a transferable resource: Nielsen, Zeldman, just Alestapartov articles - in general, the most important things. Then Max Rossomahin appeared in this team. The site was a concentration of frontend in Russian. And around this all our community was formed - from there we all go. And the Zeldman idea of ​​web standards, in my opinion, changed the web for the better.

- In the modern world, everyone is talking about the community, about the open source, but everywhere, as a rule, large companies rule. We perfectly understand which corporations are behind the Safari, Internet Explorer, Chrome browsers. Is that with Mozilla a little differently and, probably, with Opera. How did it happen that the giants could agree on something?

- It turned out that if the standards are not engaged and the browsers are not developed, then the web begins to curl. There was a period when Internet Explorer 6 occupied 90% of the market because it was a very cool browser and it was very difficult for everyone else to compete with it. Then agonized Netscape. And there was nothing new on the horizon.

There was Opera with a small share, and there was Firefox. They were all not very compatible with each other in many things. Flash began to appear, people began to seriously build websites on it. For developers who need to publish their content on the web, the web was not enough. Alternative formats began to appear.

At this point, other browsers began to undermine the share of Internet Explorer, and it fell to 40%, and then even lower. These were Opera, Firefox, Safari (the default browser on Apple, and with Apple it began to grow). Then Chrome appeared.

And it turned out that it is much more convenient to interact on a single platform. Why is that? I do not know. A typical programming language - C ++, Java, Perl, Python - have clear documentation, and one or two classic implementations of what they do. In the software area, compatibility is fairly easily controlled.

And the web from the very beginning is based on an open specification, anyone can make its implementation. Browsers used this from the very beginning, and this greatly complicated the way the web works in principle.

As a result, new browser engines are not written. In reality, the latest browser engine was WebKit. The web was so complex that the only form of interaction was open standards that did not belong to any of the companies.

About the history of browser development and the evolution of WebKit


- And how much did history affect the whole picture when Google came to WebKit?

- Google from the very beginning helped the WebKit project to develop, but was so carried away that it became cramped, and he made a fork - his Blink engine. This really really supported alternative browsers, because then there was a feeling that all developers use only Firefox, all tested in Firefox, this was the main browser in the world in 2006-2008. There was a feeling that Firefox won.

- But Chrome, in my opinion, began en masse year only in 2009?

- Yes, he started quite late, but very powerful.

And I remember how wildly I read the news that Apple released Safari for Windows. Prior to this, the WebKit platform on Windows was not in principle, it was Mac-only. So this was the first WebKit on Windows that could, in principle, be run. Now browsers for Windows are almost everything on WebKit: Chrome, Opera, Yandex Browser.

- The first port was made by Apple itself, and then Google went and finished it off?

- Yes. And the first Apple port was pretty curve. But by the way, Chrome, ported to Windows for the first time, was also not very good. Because there were some strings inside WebKit that made it difficult to make such a port normal.

How did Google start and why did it win? Advertising! Search! Search and advertising. Comfortable.

The company itself picked up the browser engine and did what she liked. And not just to show better advertising, but seriously invested in the industry. What Google does has helped us restart our browser on a new engine, which is much easier and more convenient than WebKit was in that state when Google had not yet arrived there. That arrival was a very significant step.

It is a little sad that Chrome now occupies a very large market share, because I like the more variegated browser landscape much more. This makes the web stronger and competition more interesting.

- Do you think the browser market is monopolized?

- I would not say that it is categorically monopolized. Firefox still has positions. Very strong Microsoft Edge application.



Microsoft Path and New Browser Model


- And the Edge is not a new engine?

- In fact, the story there is very similar to what happened with our browser. We at some point restarted it entirely, leaving the main ideas. Restarted the interface, changed the engine and so on. Here the guys at Microsoft did something very similar.

Microsoft, first of all, is the corporate giant. He has a lot of clients and a lot of money comes to him from the corporate segment. Accordingly, it is impossible to release a new version of the browser, in which the entire corporate structure, some internal networks, does not work at all. Therefore, they, starting with Internet Explorer 6, dragged along all the engines for compatibility. In IE11, there were all the previous engines, and they could be switched depending on the doctype, with all sorts of HTTP headers and meta-headers.

- That is, you can write in your code some instructions about what kind of engine is there?

- Yes. Suppose your site is sharpened for IE9 and it works perfectly. And here comes IE11, and on the site something breaks in it. You add a special header that switches the browser to IE9 mode, and everything works perfectly. It is incredibly compatible, ultra-compatible. But this prevented the development of the browser.

- I have been working on the Java platform for a long time, and therefore I know that the need to maintain strong compatibility hinders development very much.

- Exactly. Therefore, I believe that the guys from Microsoft made a strong, bold move. We are used to the fact that browsers are becoming evergreen over the past few years. They are not updated when the Windows update comes, which you do not install, because it is hacked, and when the browser decides to upgrade itself. And this happens once a month. This model of fast updates for the first time showed us Chrome. Then Firefox. And the versions began to increase at a breakneck pace. Actually, we also released a browser with such an update system.

As I understand it, Edge has rejected backward compatibility in order to become easier, faster to work and to update more often. And they do update quite frequently, with every little Windows update.

We are moving towards the fact that the web is starting to grow even faster. Not just because of the competition, but because there is a new model of evergreen browser. Even the Samsung browser for Android, which was previously updated with the firmware, began to be updated as an application from the Android Market. Also a big step.

About modern browser architecture


- What are the pieces of a modern Webkit-based browser? Yandex, Opera, Chrome, Safari - all of them are divided architecturally into the same pieces? Can you tell us what the pieces are, how they interact with each other?

“From the very beginning, the guys who made KDE made their browser engine, which was able to render HTML, CSS and JavaScript separately. Apple forked this thing and started doing WebKit.

There were two main components: the one that handles CSS with HTML, and the one that works with JavaScript. Accordingly, this division into layout and JavaScript is still the main one in the world of browsers, which went from Webkit. There is some kind of layering base, but there is a JavaScript-engine, each of which has its own.

When the guys from Apple and Google made a common WebKit engine, they had a common JavaScript and layout engine, and then Google wrote its own JS V8 engine, which, by the way, now uses Node.js.

Accordingly, the HTML and CSS engine for Safari, Chrome and other Webkit and Blink browsers is common. But the JavaScript engine is different for everyone. Safari had the Nitro engine, Google had the V8, we had our own Opera engine, Carakan. Edge has its own scripting engine, Chakra, which they zaopensorsili.

Is that why Chrome is the framework that everyone happily starts using, inserting into alternative browsers? Because there are rendering engines inside and there is a convenient interface layer that allows you to make a full-fledged browser by adding only network modules, some interactions with the system, password storage and work with windows and tabs.

All this allows you to quickly make your browser, because all this is Open Source: there is a Chromium project, which does not include some of the things that are included in Chrome, because they belong to Google and, let's say, are patented somehow especially. You can quickly download a few gigabytes of Chromium yourself, fork and make yourself a browser - Opera, Yandex Browser, Amigo, something else. The same can be done in the case of a mobile browser. There are so many mobile Chromiums on Android and on other platforms that carry the Google-based engine and draw their own interface on top.

- Is Chromium the main contributor - also Google?

- Yes, Google is the main contributor. But there is still Intel, Samsung, Opera, Yandex.

- It is clear that Intel is committed to, for example, inserting other processor optimizations into the intrinsic JavaScript engine. And the rest?

- There are different interests. Intel, Dell and various other companies have their own interests in web development. They have their own products and platforms.

In fact, amazing things happen when Microsoft contributes to Chrome the implementation of its pointer-events specification, which its browsers support, in order to achieve overall compatibility.

Everything is so mixed up now that almost everyone participated in Chrome, and in Firefox people from quite different projects often donate. Even if sometimes there is a feeling that we are losing competition due to the fact that Chromium occupies a large market share, in fact, the very same companies that seem to go to the edge are also engaged in Chromium itself, because it develops platform, increases its chances for a healthy life.

How Opera chose between Webkit and Blink


- When Opera chose between WebKit and Blink, how did you make the choice?

- In fact, it was not a choice as such.

First we switched to WebKit. They made a decision somewhere at the end of 2012, and at the beginning of 2013 this transition was announced. Therefore, my report of that time is called: “Why Oper WebKit” .

But immediately after that, somewhere in January-February 2013, Google forks WebKit. For the first six months, there wasn’t much difference between the Webkit and its Blink fork, in fact, it was just two different repositories. In Blink, structural changes occurred, some things were discarded, some appeared, but at the very beginning the difference was not very large. In addition, Google's JavaScript engine has long been its own.

At that time, we had invested heavily not in Blink or WebKit, but in the Chromium project: Opera was made not just on Blink, but on Chromium, and we are contributing to infrastructure solutions, not just rendering and other things. Since Chromium is made on Blink, we followed him, and did not stay on WebKit.

- Since then, more than three years have passed. If you look at how WebKit and Blink are developing now, can you briefly describe the differences?

- Apple is beginning to look like Microsoft in the sense that they need to maintain compatibility, because WebKit is the built-in engine on which Mac OS components work. Because of this, it turns out that they need to maintain compatibility: all sorts of instant messengers and other programs built into Mac OS, as far as I understand, work on WebKit.

- And iTunes, apparently, works on the embedded WebKite.

- Yes, and the App Store, and other applications. I'm not sure that they really need so much to maintain compatibility. They may have a different policy in this sense, but from the very beginning, the idea to fork WebKit in Blink was related to the fact that the pace and development style of Google are different, and they were close in that sense. Accordingly, now Google is much bolder in introducing new things, and in Safari, the exit cycle is a year. Together with the new operating system, Apple show a new engine for Safari.

More recently (interviewed in February 2016 - author's note) Apple released a beta, in which new features appeared. This was an event, because this beta should come out, in theory, before the release cycle. That is, there was a speed, discarded CSS prefixes, new embedded features. Google discards CSS prefixes much more boldly, deletes properties and generally develops much faster.

- These are steps towards standardization?

- Yes. And now browsers are moving away from browser prefixes. If in stable Chrome to go into the settings and enable experimental mode, then new features will appear in the browser, which are still closed to the public. Safari can't do this.

Safari has special builds that need to be downloaded and checked. And Google directly in the stable version introduces all the things, but it just turns them off by default, so that users do not break the firewood. This makes all these new features closer to the developers. They are included with one flag - “enable experimental features”. And everything in your browser that Google is currently working on appears in your browser.

Browsers began to abandon browser prefixes for CSS, for JavaScript and properties. But Apple still believes that this is the right thing, and experimental things immediately appear in the browser, they can not be turned on or turned off.

Apple still comes up with some things on the fly: “Why don't we make cool icons for the tabs?” And there’s nothing in the specs in the W3C. So they came up, did, and documented past the W3C.

Or: "We figured out how to install a web application on the desktop of your iPhone." No specification is normal, only some documentation on the site.

Apple is now a bit like Microsoft since IE6. Things are not so bad - Apple, of course, does a lot of standardization and development. But there are some features, so it is a little sad to look at it.

About how standardization occurs on the web and why this is the most complex technology of mankind


- How does the standardization of any big feature for the web occur?

- There are two ways in which everything is happening now.

The first path is an old one. When all the basics of the current web were written - HTML, CSS and others - they were written on paper. Typed on a typewriter or computer. They were first thought out, and then they said to browser developers: “It should work this way, implement it.”

And browsers answered: “We don’t like it. We realize otherwise. ” And because of this, there was a wild web of the late nineties and the beginning of the two thousandth. And this path has not disappeared anywhere - until now some standards are first written on paper, but already with a much better understanding, and such confusion does not work.

And there is a second way. At first he was a very bad idea and brought bad things, but now he is getting more interesting and better. This is the way when a problem appears inside a browser or inside a company, and they solve it in the manner of a browser. Suppose pointer-events with a specification that were born in Microsoft. The guys needed a Grid Layout to make the tiles for Windows 8 - the Metro interface. And pointer-events were needed because they made touch-devices — their first Microsoft Surface — and started moving into the touch-market.

Microsoft made these specifications for themselves, but they were so good that they almost immediately released these specifications to the market - they sent working drafts to W3C and other places and started to persuade the entire industry to implement them.

This is a good way - they showed, implemented and helped to make an implementation for other browsers, including Firefox. They have even broken Chrome - however, the developers did not immediately agree.

Now there are alternative implementations of Grid Layout in Firefox and in Safari and Chrome, and initially all of this appeared in IE10.

- How does it look formal? How hierarchically is this all structured? Browser developers simply say that our browser now supports a set of some independent specifications?

- In short, before, the main ones were the HTML and CSS specifications, and the developers tried to push everything into one of them. In HTML spec - a structure, some API related to HTML, and so on. In CSS too: CSS1 is a collection of some features, CSS2 is a collection of others.

Then CSS3 began to appear, and people realized that this was all nonsense, and now things like CSS3 and HTML5 do not formally exist. There are just HTML and CSS specifications, and each of them has modules, and modules have versions.

The same Grid Layout is now called “Grid Layout level1”. It used to be CSS colors level 3. And people said, “Well, these are CSS3 colors.” And in fact it is "CSS, the third approach to solving the problem."

Now there is a grid layout level1. This is just CSS and Grid Layout version 1. When new features are needed, they will most likely be included in level 2, level 3, and so on. That is, each module has its own version.

- Are there many modules?

- There are a lot of modules - there are dozens of them. On different topics: flexbox, grids, colors, blocks, floats behavior. And what is interesting is that if previously separate modules were written, and browser developers had to really understand how these modules interact with each other, now they started writing integration modules. That is, they take and bind different specifications together and write a third one that befriends them together. And as a result, the implementation appears much more interesting. For example, if before the float could be used to shift the image to the left so that the text flowed around it, now
There are things like float top, float bottom. And for this they write a separate specification, describe its interaction with other elements. Now there is a lot of integration work between the CSS and HTML specifications.

- There will not be a combinatorial explosion? When it is necessary to describe the interaction of each with each, specs begin to multiply, like mushrooms after rain.

- It is difficult to say, but it definitely complicates the writing of new specifications, because if you need to come up with a new layout system, such as grid or flexbox, you need to take into account the behavior of positioning, floats and all sorts of other things. It is necessary for each element or group of elements to nafigach everything in general in the world, so that it interacts clearly with each other, so that browser developers know how to implement these combinations correctly, and web developers - how to use them correctly.

The web is the most, I think, a complex platform for creating interfaces, for creating anything at all in the history of mankind. Therefore, there are no new browser engines, and the specifications are difficult to write, so one browser cannot cope - competition is needed, movement is needed.

About how difficult the work of a web developer


- Now most people in the industry are somehow connected to the web. And under the web, in fact, program. Is it hard work?

- The web still remains a platform under which it is quite easy to start. To program for the iPhone, to release the app in the App Store, you need to buy a Mac, you need to buy an iPhone, you need to pay for the Apple subscription one hundred bucks a year. You also need education to generally understand programming paradigms, patterns, learn a language, and so on ...

And to write your first HTML page and show it to several billion people on earth with mobile devices or desktops, you just need to open a notebook and write HTML tags there. Text. And do not pay anything to anyone. Put the site on some free hosting. The threshold of entry is still very low, no need to jump on some stools.

- Is the low entry threshold the factor that allows the web to move the entire industry?

- I think this is one of the main reasons that the web is winning and, in general, won. There are two reasons. First, the low entry threshold is important. A person who has a school or university liberal arts education can start to impose at any time.

- HTML is now in many schools in the tenth grade ...

- Yes. -. , . , , .

— . , Flash, , « », Macromedia, Adobe. , . , , - .

— -. , : « . , , - Swift». , , , . .

Objective-C, Mac OS iOS, Apple. , .

— , . , , C-, …

— . … , , , . , .

JavaScript, , «»


— , JavaScript, . , , JavaScript. , . . , ?

— . . , , , JavaScript — .

, JavaScript, : « , , ». — , -, .

— , ?

- Yes. , , . , — JavaScript TypeScript ..

— , : «, JavaScript, , ». , JavaScript - , ? ?

— ECMAScript. ECMA-, JavaScript. , , : , - , , ECMAScript 5 — JavaScript, . CoffeeScript. , , , , …

— — .

— . CoffeeScript ECMAScript, JavaScript . ECMAScript, ECMAScript 5 , ECMAScript 6 90. 10%, , . , ECMAScript 6, ECMAScript-2015, , , ECMAScript 5.

, , - , . CSS — Sass, Less, Stylus, PostCSS, .

JavaScript, . JavaScript .



jQuery,


— 10 AJAX. jQuery . , jQuery — .

— , - , jQuery. jQuery JavaScript , JS- . , . AJAX-, jQuery.ajax(), — , , , 30 .

. , , - . , , — Bootstrap, jQuery-, , — ! — , , , . jQuery . , , , .

, , jQuery . , jQuery polyfill- , . jQuery 2 , jQuery 3 , -, , : , .

. , jQuery , . , , , — . , .

Microsoft - XMLHttpRequest, AJAX. XHR2. , fetch , , polyfill . , jQuery , fetch, , . fetch .


— , , . ? ?

— SPA (Single Page Application). , , , , — : , , — .

, , json-, , . , , . JavaScript, . - ..

— , .

— . — , , JavaScript- HTML , HTML . .

, . , - .

— . , , ..

— . , - . , JavaScript — ! , . , - . - JavaScript, .

— , .

— . — HTML, HTML JavaScript- , . - .

Ember.js AngularJS : HTML, , JavaScript. « ».



HTTP, HTTPS HTTP/2


— . HTTP HTTP/2. ?

— - . JavaScript, , , . , , , — , .

— HTML URL-, 6, 10, 20. .

— , , , .

, , , — . SPDY , . -, Opera Presto ( Opera 12 — . .) .

— ?

— Google, . SPDY- Nginx, Apache, . SPDY HTTP/2. , , . , ; , .

— , .

- Yes Yes. , , , , HTTPS. HTTP/2 , , , . , , , — , , , , .

, , - , . , polyfill .

CoffeeScript. -, : « », : «, », , , .

— , ?

— , HTTP/2.

— HTTP/2?

— , . HTTPS, , , , , . , 90 .

HTTPS , API . HTTP, Chrome HTTPS.

, — . API, , HTTPS. , , HTTP.

: , , . , Let's Encrypt , . - HTTPS, , API . , HTTPS HTTP/2.

— ?

— , . — HTTP/2. . , , .

— , ? , , , HTTP/2 — . What's next? , , ?

— . .

— , ?

— , , , , . , .

— , , HTTP/2...

— … - . , , HTTP/2.

«-» - HTTP/2. . HTTP/2 , HTTPS, …

— ? ?

— - . — , , . , . . Smashing Magazine , HTTPS, HTTP 2, . , . – , , , . , . .

— , HTTP , . , — , — Highload: HTTP-, HTTPS. () HTTP , HTTPS.

— , . . : , HTTPS, - . , . - .

— , , , , — HTTPS. , — .


- Is evangelism for you - are speeches at events, articles, communities, conferences?

- If I were an evangelist with the Bible in one hand and with a cross in the other in the old era, I probably would not have got out of any horse-drawn carriage, I would go through the villages, I would tell.
Naturally, the Internet allows you to do much more online. For example, a bunch of people will see our interview with you - I do not need to go to each of them to go home.

It so happened that we are so stuck on the web that some forms of communication are poorly perceived. And the idea of ​​conferences, the idea of ​​meetings, when you can look into a person’s eyes and convince him of something, tell him about something, is still working. Therefore, I try to attend conferences more often.

On the other hand, there is a feature of my team in Opera Software: it is all distributed - now there are five people in the team. We all come down several times a year to the central office or somewhere else. Soon we will come together again to synchronize, socialize and plan what we will do.

- The main directions of what you tell? Now, for example, we talk a lot about standards, talk a little about Opera, about Opera Software. Why is this so? How do your interests fit into the Opera business?

- When I was called for an interview in Oslo in 2009, I was asked: “In general, what would you like to do? What are you interested in? Naturally, I told about myself, they told me about the company. And I asked what I would eventually have to do. How much to sell Opera and how much percent to talk about web standards. I was told that, roughly speaking, web standards - 70%, selling Opera - 30%.

In fact, they didn’t lie to me, because by talking about web standards, talking about the web, about technology, and generally being an expert in this field, you become noticeable . They know you, they hear you. And accordingly, if people have a question or a problem with Opera, they recall: “aha, Makeev spoke at the conference. Here he works there. Let us turn to him. "

Tell me, what will you do if you have something wrong in Firefox? If something is wrong in Safari? Probably write them in the tracker. And here you can meet, talk to me, can I write a letter or contact in other ways.

- To twitter. Even two Twitter, as we yesterday found out with you.

- Two twitter - English and Russian . We must also start in Chinese. Joke.

- Well, it's a hard story. It will be easier to hire an evangelist there.

- Something like that. By the way, we had Zi Bean from China. Then we had a team of 13 people, and people were in Latin America and Asia. When we switched to a new engine, compatibility became better, and as a result, fewer people needed to solve problems. As a result, my workload has increased, and now I travel more.

- Is it Russia, Europe, basically?

- Not only. For two years in a row I already go to the Chrome Dev Summit - a very interesting event in California. It takes place in the office of Google. Since there Chrome is leading in many directions, they have very interesting reports. And they all broadcast it and immediately post the records. Therefore, if you have not watched the recordings from the Chrome Dev Summit , I highly recommend it because the newest things happen there.

Pro mobile web and Opera Mini


- About two years ago they said that they won mobile traffic, traffic from mobile devices: this is a mobile browser and applications. How is it that, in your opinion, does the web change at all? How should the web developer reorient in this regard?

- There is a big problem. The developer is closer to what he is developing. A modern developer will not develop on a mobile phone, which is in his pocket - there it is just inconvenient to do it. It develops on the desktop. Therefore, the websites that the developer develops work best on the desktop, as there are debugging tools and everything else. Convenient debugging tools began to appear in mobile browsers, so you can connect some Android via USB and start convenient debugging, immediately look at the desktop and debug it on your phone, but you need devices for this. It’s good if you have a target platform phone in your pocket, and if you have a Nokia with buttons, it’s complicated. You need to get access to some factories with devices and so on.

- We used to put a bunch of virtual machines ...

- And still, in order to test in IE or in Edge, you need to have a virtual one. Although it has become easier - you install some free Virtual Desktop. And Internet Explorer began to lay out free virtual machines, comfortable, with the right versions. You download them right there.

- "Microsoft is thinking about you."

- Yes, in terms of testing, they helped a lot.

There is a tendency that developers care more about the desktop, although it is no longer worth it. And browser developers are trying to help them in this. For example, on Chrome Dev Summit last year in November announced a new debugger for Chrome, for browsers based on Chromium, which immediately shows an adapted version. If earlier you opened the debugging panel in Chrome, and it showed you the usual page and the panel below, now it opens the adapted version automatically. Opens a window that can be re-edited, where you can select a phone model - it will make the zoom, scale and so on. Browser developers are trying to solve problems. But still, if the modern Android developer, iOS on the table, most likely, he is already behind.

- I know that the guys who are engaged in mobile development have a whole fleet of these devices. The role of the test labs is played by a box with smartphones, in which a person takes on receipt what he needs.

- I have 4 phones at home, 3 tablets, something else. The specificity of my work is such that I have all the devices on which the products of our company work. But if a typical developer only has his own phone and not the same platform, he is not lucky.

- On the button phone is Opera Mini.

- I sometimes go to the store, looking for any phones with buttons, some Nokia. They still continue to produce simple mobile phones. If earlier there was some kind of browser, then the year before last we signed a contract with them that they all switched their Java S-series phones to our solution - they put Opera Mini on all new phones.

- In Opera Mini was born a lot of interesting technologies, which then came to the "big" Opera. For example, in the old Opera on the Presto engine, there was an interesting story - optional server rendering, when you start rendering pictures through your servers, which compress the pictures, thereby saving the user traffic and speeding up the loading of pages.

“It was not directly related to Opera Mini, because other things are happening there, fundamentally much more difficult and evil. We passed traffic through ourselves, respectively, the images were compressed - at first, just stronger jpg, then we started using WebP and so on.

But Opera Mini came to the moment when it is still popular, but some sites in it still do not work. Client Rendering in Opera Mini will not work, because JavaScript cannot be executed right away. You need to go to the server, and even that on the way nothing is broken, and go back. In order to draw the next frame, for example, the drop-down menu, you need to go to the server. This is too long. Therefore, we continue to work on technologies that will compress as much as Opera Mini, but work differently.

- Does Opera Mini evolve or not? Is it the Internet for old phones or is it, say, some embedded devices, or TVs?

- Once Opera Mini worked on simple push-button cell phones, then we launched Opera Mini for Android - this is a full-fledged browser, where there are bookmarks, an interface, buttons, touch and so on. But the page is rendered anyway on the server.

The launch of Opera Mini for iOS was an interesting turning point. There were 3 compression modes: there is the usual Safari engine, because on iOS there can be no other, Safari with compressed pictures and just Opera Mini. And you could switch compression modes depending on how much you need to save traffic and be compatible. As Christine Uribe, Product Manager Opera Mini told me, compression in Mini mode happens a little differently, depending on the device. On the iPhone, people are accustomed to higher quality pictures, and therefore they are given less compressed pictures. And for small mobile phones, a stronger compression works.

Today we have gone from ordinary mobile phones to large devices. In many markets we have two full-fledged browsers for Android - Opera and Opera Mini. Opera has its own engine, rendering takes place right on the phone. Everything is drawn with the help of the Chromium-engine. In Opera Mini, the rendering works on the server, everything is compressed, some features, say, JavaScript, do not work at all. And what is interesting: people are increasingly choosing Opera Mini on their powerful smartphone!

- And from an engineering point of view, what is the difference between Opera and Opera Mini?

- Visually, they look the same, but the pages in them are rendered differently. As a result, people in countries where traffic is expensive, bad, networks are overloaded - some Asian or African countries - they often choose Opera Mini. They have 3G started earlier than normal Internet by wire. Accordingly, the networks are overloaded, everyone goes to the Internet exclusively from mobile phones. And there are very different problems we need to solve.

Pro RFID tags and browser support for Beacons


- How does the web change due to the geolocation API? I know an example: you get out of the metro, and your provider, who has a contract with the nearest beer shop and has data on air temperature from Gismeteo, sends you an SMS: “Something is hot. Would you like to drink a cold beer in such a beer house? ” The web really becomes what we have never seen it: geo-data appear in it, big data appears ... What do you think about this? Maybe Opera in this area is doing something?

- We somewhere in August released support for beacons - the physical web, just an experimental build of Opera for Android. And this was our attempt to explore this area. These are real-world RFID tags that are broadcast to the browser. If you have a browser open on your phone, it sends you notifications to Android that there is some sort of label. For example, you go to the bus stop and you can see the bus schedule on your smartphone.

- Opera itself sends me notifications?

- Yes. The browser is able to work with these tags. Not Android as such, namely the browser.

Most tags are links. There are several ways to encode. At my house there is such a little white box that can work for two or three years without a charge - it is simply sealed. She has a sticker on the side. I stuck it, stuck it, coded it so that it would broadcast some addresses or current temperature. And all this can be sent to the browser.

- If you put such a beacon at the exit of the subway, then I do not even need to
contact provider ...

- Yes, Opera itself will offer you some thing related to the location. And this was, by the way, one of the cases when we were ahead of Chromium, because it started quite recently in Chrome. And we managed to do this in August 2015. Although we have the same engine. We just invested a little more in the experiment, hurried with it to try some things. And so, on the same Chrome Dev Summit, about which I spoke, each participant was given a small beacon. As a result, 400 people left there with these little little things that could be programmed.

- We have long been offered to make all sorts of mobile applications so that a person came to the conference, went to the hall and the conference application showed him not everything, but something specific related to this hall. For example, information on a specific report that is currently underway in this room.

- It was very funny when we were given beacons at the conference. Sits hall for 400 people, each has a beacon in his pocket. And you open the phone and try to figure out which one is yours - and there are a lot of them. They are all included by default, straight from the factory.
And I thought of a way to find my own! Since there is a temperature sensor there, I rubbed my beacon a little bit - its temperature increased, I registered it to myself.

- You can solve many problems with them. You can shoot data: how people go, in what halls. You can send feedback forms to them in detail. You can hang on a badge.

- In principle, this is an interesting task. The question is how to apply this technology, because we have supported all this, but it is necessary for advertising producers, entertainment manufacturers or other businesses to start using it.

Source: https://habr.com/ru/post/305394/


All Articles