Don't spoil Desktop Software Engineers with your Mobile First solutions, think about it
Once upon a time, my girlfriend started using Instagram. She asked me to sign up for it and subscribe to it. I tried — I couldn't do it because you couldn't register at Instagram from a desktop computer. I then thought — how weird people are. Well, what kind of fool would make a software product that can't be used with a normal computer? They won't succeed, and this Instagram will be a marginal service for a bunch of strange women, who for some reason don't like desktops.
It has only been a few years, the market has put everything in place — and the biggest fool was me. And the geniuses at Instagram predicted how and where everything would develop. Today, most of the user applications are made primarily for mobile platforms. At best, they include a universal web client, which is still optimized for mobile phones. Because users love iPhones, not computers. Business people sat down, counted, and made a decision — let's make more money, let's have mobile First everywhere.
The other day I myself was rubbing shoulders with the business that we would be doing mobile-first — because I am the eldest, and I know how to make the right business decisions. If a person today wants to make a mass product by betting on the desktop version, he or she will almost certainly fail.
But everything that is done in IT is done by programmers, each of them a PC user. The desktop has become a niche tool for professionals, and at first I liked this idea. I like to feel my technical and intellectual superiority. After all, it's us sitting behind companies designing the world of mobile interfaces, we decide everything ourselves, and we keep everything under control.
But now it's starting to feel like we're flirting.
I was out of the house once, and the Team leader asked me to do a code review. I answered — Sorry, bro, I'm on the phone, the review won't work. "Well, look at it from the phone". Stop. Stop. I won't look at the code from the phone — this is some kind of joke. The work on the code is very simple — it's done behind the computer, and it's highly productive in the IDE. Running your eyes through the 50 files on your phone is not a code tree, it's a hackwork. Leader said okay, but I understood that for him, phone code reviews are routine.
A friend of mine, with whom we are working on a pet project, told me that I do not use prefix 'I' in interfaces. I said wait, but that's a relic of the past — a time when IDE couldn't light them up. Now it does, the prefix goes to the dump of history. Yes, but it turns out that he often looks at the code from the phone, and it doesn't know where the interface is or where the class is. My friend's convenience is important, I returned the prefix to the rider's config, and I forgot about it. But now I remember, and I started to understand — it seems that I will have to write the code so that it is also convenient on the smart phone screen. What? WHAT!?
Call me a dinosaur, but it pisses me off. I myself — I hate phones. I don't understand why I should open Gira on my phone if I'm fucking working behind a computer. And Gira on the phone is better made than a desktop. Because their project managers — they don't do real work, they sit on a bench in the park and move the tickets on a beautiful iPhone. The slaves who have to use this Gira suffer from a terrible desktop version.
I have an iPhone that performs two tasks. Takes calls, and messages that I am not on the computer right now, and cannot answer. But that's what I want. And the market said that I'm not a person without a phone anymore, and even accessing Github should only work when I enter the authentication code from the message sent to the phone. Corporations trust my phone 100%, and I don't have any mechanism to make them trust my computer the same way. Not a single one.
I had a problem that I couldn't manage my banking business if I forgot my phone somewhere. I mean, what the hell? I'm sitting behind my computer, authorized and valid, but I need a phone to access my personal bank account. The web version is usually even less functional than a mobile application. And there is no desktop application. How is this possible? How do they imagine it? Here an accountant sits in the office, not behind a computer, but with a phone in her hand — and manages the company's assets in the mobile client of a savings bank?
Modern life literally imposes a smartphone on you, and that's only half the battle. I feel that my desktop experience is under increasing threat.
In a world where every product is made for mobile phones, all products will have only those functions that are convenient on mobile phones. On a small screen you will not be able to make a complex multi-functional form — so there will be no more complex forms. Yes, we have a desktop version, but we will not make features that will only work on it — this contradicts the ideas of empirical users. So if you come up with something complicated enough now — your product manager will explain to you that you have to simplify everything. After all, on the phone it will not be possible to implement. And the funny thing about it is that we have incredibly powerful phones. Lots of memory, top multi-core processors — to do what? It's simple. In the end, it turns out that since most people don't want to use complex but cool software, there simply won't be complex and cool software. Not for anyone.
It kills me to think that I could solve all my problems in general by sitting behind a laptop, but business and the market have decided that it is not profitable. And now my computer is just a marginal accessory for my phone. I still can't fucking get used to the fact that geeks are no longer engineers who live by hardware. Now, geeks are just super-consumers, and "testing the device" is now to check if the glass is breaking if it falls and hits the asphalt.
I always thought that Microsoft was the coolest development company in the world. And when MS released the next OS that was optimized for tablets — I believed them and bought a tablet with Windows 8. I honestly tried to use it, got disappointed, bought a keyboard with a mouse and turned it into a laptop. Microsoft failed then, but such things are now called "ahead of time", and I think that the second attempt to transplant desktops to mobile first software is just around the corner.
I'm not an old muttering grandfather who can't accept that things are changing. Because I'm fucking right. With complex and multi-functional software, it's better to work with a desktop. I have a hundred keys, two hefty screens, a mouse, a joystick and even a stupid touch-pad. This is the most fucking advanced and modern tool for working with programs. And everybody pretends that compilers and complex programmes are outdated shit, and the future lies in stupid applications ran by the touch of a screen.
And the worst part is that every day I have to come to work and build the wrong world to live in — and there's nothing I can do about it. I, and all the other craftsmen, have to nail the lid of a coffin every day for an instrument that we adore.