On the episode 125 of ATP (A Better Future for Everybody) there was an intense talk abut the future of the software and its openness. The talk started as the usual fight between web and native software. Usually I don’t like to take part on this kind of fights. They are just people trying to defend the elections of their life. But in this case there was something different that make me meditate about it. And, honestly, I have to admit that I agree almost with everything Marco said.
Even so I completely understand Siracusa’s point of view. We need open technologies to ensure us a better future not controlled by any company. A future were everybody can write code and help the humanity without needing the approval of any private company. I agree with that, I like that future. But I think it's a mistake to try to defend the web with those arguments.
In my point of view the wrong part is defending the web, the browsers and the web standards as the way to make great apps for the users. The write “once for all the platforms philosophy” is not the way to go if you want to do things right. That’s a fact. Different platforms have different necessities and ignoring that is a dumb mistake in behalf of laziness.
Do you want to use a text editor to edit videos? No. So don't use a web browser to use Apps. Don't be lazy.
I will be totally sad to see a future where the web dominates all the important software of the industry, just because is easier (to make mistakes) and there is a lot of lazy devs that don't want to learn anything robust. We as an industry pushed it to the wrong place, leaving other good things for a quick and dirty way of creating apps.
Right, we all want an open platform not controlled by a single company. We also want, because we are lazy, write one single thing that can be deployed in any platform. Those necessities are there.
But why we can not do it in the right way? Create good native tools, languages and independent platforms. Standards that are good for everyone. An you know what? That's not anything new. Remember OpenGL? Remember C? There you have it. There is plenty of software out there that is written once and runs everywhere.
Now, I know what you are thinking. C? OpenGL? Seriously? I know, I know. It's not pretty for you web devs, okey. So we just have to create modern open platforms like those ones. We could pick Rust, or even Swift that will be open sourced soon. We just have to have the will to make things right.
And with Swift being open source there is no excuse to blame C. And the best part is that we can use this modern languages but still access the multitude of great libraries that are there and work.
Another topic is that I don't see a future were standards are what rules. If it was not for proprietary tech standards will not exist. Proprietary tech has to exist to push current tech beyond its limits, and yes then the standard can come behind and try to limit everything.
Yes, it's not pretty, it sometimes may be even scary, but guess what. Your loved open web is full of proprietary silos where people lives and you don't care about that.
On the next episode they go back to the topic, saying that companies want apps on the web to not be stuck with proprietary companies like Apple and iPad apps. Mainly because if Apple releases new OSs that break APIs, or even if it disappears, they will lose all the work done. Okey. I can close my eyes and accept that. But then a couple of minutes later they talk how web apps have been stuck with IE6 until Microsoft decided to kill it. So pelase, look for another argument.
I also don't want for us to be stuck with single companies, that's why I was talking about open, but native, technologies.
And it's possible.
Now is the time.
So please, don't be lazy. And don't defend everything just by saying the word "open".