Future

The future of the web and native apps

Apple loves native apps: they are faster, interact with the system better, work offline and feel real. Google loves web apps: they don’t require installation, work on any OS and get all the browser features for free.

In the future, there will be no distinction between native and web apps. The two worlds will merge.

Google is heading into the future much faster than Apple. Apple, it seems, doesn’t even see what’s wrong with native apps. Google, on the other hand, does see what’s wrong with the web, and gradually fixes it.

While I mostly prefer native apps to web apps, I feel like this is about to change. One should not be blinded with the current state of the web. I believe, it will become the universal platform of the future, and native apps will die.

Performance and access to system

Native apps are fast because they are written in a low-level language and work with the hardware in a more direct way. The web is slow because of the multiple layers of abstraction (it’s especially bad when reflow hits).

But these are just historical limitations. We will get over them. Performance-critical parts of the web could be written in C instead of JS, if needed. The same way as performance critical parts of server code could be written in C instead of PHP (or whatever).

The web will gain access to the system. It will use my camera and gyroscope the same way as native apps do. Insecure? But how is it less secure than for the native apps? The risks are the same. Apple is dealing with it with sandboxing and by asking for your permission before letting an app see your photos. The web will work the same way.

URLs

URLs are the power of web. The browser address bar will die, but the URLs will not. They uniquely identify (ok, locate) the resource. This makes linking, the main navigation tool, possible. The links could be open in tabs, saved to bookmarks, found by robots, sent to friends. Native apps can’t do anything like this unless specifically programmed to.

When developers of native apps start to develop for the web, they have hard time figuring out how to manage all the application states in a consistent manner. The user can open any URLs in any order regardless of the developers plan. “How do I pass a variable from a page to the next one?”, a web novice would ask. The very question shows that the person has no idea what they are doing. And then we get the stupid websites where you can’t just press Back or Reload: the browser asks you if you want to resend the forms data. It takes years of experience to appreciate and embrace the beauty of the web technologies and start developing with full understanding of them.

Native apps try to support deep linking, but this is very inflexible in comparison to the web.

Tabs

Tabs are a great invention of human interface. They let you use the app the way you like. You can open multiple states at once or group related things together in a free way.

The developers of native apps often can’t even make their app capable of running multiple copies. Some online banking sites, too, suffer from dumb limitations like an inability to open a link in a new tab. This is probably due to the fact that they were developed by the developers from the native world.

Apple has added tabs to the Finder, but I can’t even open a folder in a new tab in a reliable way. And it’s crazy that the Finder has to explicitly ”support tabs”. Facebook and Wikipedia also support tabs, no big deal! Only for the clumsy native apps tabs are an accomplishment. The web just uses URLs and gets tabs for free.

I very much miss tabs in Lightroom, iTunes, Mail and Evernote. It may well be that these apps will learn to support tabs some day, but each one will have its own unnecessary limitations. Tabs must be a responsibility of the OS. Also, if iTunes and Evernote do eventually support tabs, I still won’t be able to group them in one window, like I do with Facebook and Wikipedia without them even noticing.

Bookmarks and history

Bookmarks, as well as tabs, are just an effect of having URLs. Every UI window is identifiable, and thus we can save the identifier for quick access. I don’t understand why I can save a Google Docs document on a bookmarks panel, but can’t do the same with iTunes search results. Actually, I do understand why: it’s because iTunes is a stupid native app. It works only in a limited set of pre-defined ways.

The same thing with history. I can always find what I’ve been doing yesterday or a week ago, and websites don’t have to “support” it. The best we can get from the native apps in this regard is a list of recently open files (very short, not searchable). You can only dream about the ability to search for an obscure Photoshop checkbox that you’ve enabled last week. For this to work, Photoshop has to implement search and history in preferences, which is obviously an overkill. I’m not sure any of Facebook developers have even thought about such a feature for their product, but Facebook does have it anyway.

Installing

Installation is an example of UI evil, as website registration is. I just want to buy a book, why do I need to register in an online store? I just want to edit a photo, why do I need to install Photoshop? Today, this question may sound strange to some, but in the future people will not understand this ritual of “installing an app”. It’s just a meaningless waste of time.

I hate the need to keep hundreds of icons in iPhone folders. Why would I need an app of my preferred airline? Can’t I just buy a ticket by typing “air” into the search box? In the world of native apps, no, I can’t.

Meanwhile on the web: thanks to history sync, I can easily open on my laptop something I’ve been doing on my iMac three days ago without even thinking about what’s “installed”.

Accessibility

On the web, you can copy any text or save any image by just dragging it to desktop. Again, a website doesn’t need to do anything to enable this, it is just how it works. A native apps would not care when you try to select a text in a dialog box, unless this is specifically programmed.

On the web, you can zoom. On the web, you have full text search on any screen.

On the web, you can do automatisation: any service can go to any other one and do something with it.

Offline

For web apps to work, you need to be online. While native apps don’t require that, they become less and less useful when used offline. If a native app can’t sync with the server, the fact that it launches may not be particularly useful. But it’s important that a native app starts and shows at least something when offline. You see your calendar as it was when you were online the last time. You cannot send or receive mail, but you can read and reply. This is much more useful than seeing the “You’re offline” message in the browser.

Web apps are now almost capable of working offline as well as the native apps. See Jake Archibald’s talk on ServiceWorker (it can even do push notifications). Google supports this in Chrome.

Browsers

The biggest problem the web apps face are the browsers. Seriously. When you use a web app, you feel its webbiness (?) every single moment. It’s not real. You almost see the tags and scripts behind the pixels.

The browsers are bad. It’s 2015, and they still cannot fight the white screen of wait. This screen is particularly effective at saying “hey, it’s the crappy web, and if your Internet connection is down, well, tough luck!”

I want any app to have a Dock icon, so that switching to Facebook would look like switching to Photoshop.

The future of the OS

In the future operating systems, there will windows capable of displaying web content and merging into one with tabs. The same way as nobody is thinking about the WindowServer process on the Mac today, nobody will think about “the browser”. That’s why a browser vendor would never make an ideal browser. Only an OS vendor would.

Under Windows, Chrome can save web pages as “standalone apps”, but this feature didn’t get much traction. That’s because the web apps are not designed to make use of it. They assume there is a browser around them. It’s unclear what a “standalone” Gmail app should do when I follow a link in a mail. Also, these app wrappers usually hide the pages’ URLs, which is a shame. You can no longer do any of the stuff the web is good for.

While the term “browser” will gradually die, the Back and Forward buttons will become a part of any window in an OS, as the close and minimize buttons. All windows will learn tabs. The address bar will not be constantly displayed on the screen, but there will be a way to copy or edit the address of any window.

That will be cool.

2015   browsers   future

The urban transportation in the future

Cities have many means of transportation with fixed routes: underground, trains, buses, trams, jitneys. This is ineffective. Some buses run empty because at a particular moment nobody wants to go where they go. Some directions are not served at all when needed. City administrations try to minimise these issues by carefully planning the routes, but this process is too inert.

This system should become dynamic.

You tell your watch where you want to go. The data goes to the special city software. The software analyses the data of the citizens in real time and comes up with the optimal current routes so that everyone gets where they need to. The watch then tells you when to leave home and taps your wrist when your bus arrives.

An auction system will emerge: the more you are willing to pay, the quicker the system will get you where you want.

The system will be open for new players. Some will be just drivers who have a spare hour (Uber). Others will anticipate a long-lasting demand and build a whole underground line. There will be a continuum of the means of transportation, from buses (spacious, rather slow, cheap to ride, popular) to taxis (compact, usually fast, expensive, custom). The will be no route numbers for buses as there are no for taxis.

The route-planning software will want to forecast the demand for its services. So it will request access to your calendar. At some point you will no longer need to tell your watch anything, the system will just know where you want to go.

If you don’t feel like sharing your calendar with the transportation system, that’s not a problem. It is just that the rides will be more expensive for you, as the planner will not have enough data for optimisation. The majority will prefer to share in exchange for a discount, as it does prefer giving up some privacy to get the free Google services.

Since there will be no place for transport officials in this system, they will oppose it vehemently.

2015   future   transportation

No privacy in the future, deal with it

There will be no privacy in the future.

It does not matter whether you think it is good or bad. Maybe you truly believe that privacy is a basic human right and should be respected and protected. But who cares about your beliefs? I like privacy myself, so what? Technology will make this concept obsolete: there will just be no such thing soon.

When technology makes possible something people want but has side effects, first it happens, then people learn to deal with side effects. People pirate music and videos, even if copyright owners disagree. Kids watch porn, even if their parents would prefer them not to. Terrorists plan attacks online, even if others object.

Freaked out about Google Glass? Yes, it is ugly and people who think it is the future are crazy. In reality, future is when what Glass does today will be happening without Glass. People will be constantly recording live video of everything they see. The video will be instantly made available to everyone. The software will be able to do face recognition on that video (by the way, the delivery drones will also be recording video). You will not be able to stop the spread of private information. Basically, at some point you will have a 3D model of the whole world where you will be able to look at anything at any angle or distance, live. And you will be able to search it and run any analysis on it.

Everyone will be able to learn where you are and what you are doing at any moment. And where you have been. And with whom. Everyone will be able to see you taking shower and shaving your balls. They will be able to capture a video clip and share with others. You do not like it, I do not like it, but it will happen.

If you spend time trying to protect privacy with the law, you are as stupid as copyright owners spending the time to shut down torrent trackers. Future is inevitable, and you are just being in denial. When you stop technology with law, this means that you restrict access to that technology to governments and grant them the right to use violence to everyone else who tries to use it. If you let governments enforce privacy on your behalf, they will do their best to make sure you do not have access to private data, but they do. NSA will be happy.

Protecting privacy with the law is a bad idea.

Now suppose there is technology that lets your friend spy upon you having sex. Then there should also be technology to check out who has been spying. Thus, while you cannot stop someone from spying, they will think twice before risking to ruin your relationship.

To adapt to the new world, first you make sure the new rules are for everyone, then you think how to use them in your own self-interest.

You should follow me on Twitter, here

2014   future

Wait, you mean they print this every day?

John Gruber telling a story about two young women and a newspaper on a counter in Starbucks:

I’m gonna just say there are twentyish. And they had a New York Times on the counter in front of them. And one young woman was explaining to the other — and I know it sounds comical, and I don’t think she was stupid, but I think she grew up on the Internet. I wouldn’t be surprised if she was in fact a college student, I don’t think she was living in a cave or something.

But the one really had no idea what a newspaper was, and she said to the other one: “Wait, you mean they print this every day?”

And the other one says: “Yes, exactly”.

And the other one goes: “Why would they do that?”

And she was clearly impressed.

I am also twentyish (okay, I’m 28) and I am also impressed. I find it amazing that people still print stuff. I have no reasonable explanation as to why would anyone buy a newspaper, unless they are a designer liking the layout. I was profoundly surprised by Apple’s announcement of Airprint a couple of years ago: it felt like I was taken back to the 1990s — by Apple, that is. Printing, Apple, are you serious? Come on.

Apparently, printing is still a thing.

Anyway, I was thinking lately: what will look really weird when one watches a today’s movie five or ten years from now? A criminal taking a SIM card out of a phone and throwing it away probably will. What is that thing, right? Or taking an SD card out of a camera to secure the pictures. Why, aren’t the pictures online already?

Fast forward some more years, and we’ll hear questions like, why does he need to hold this thing next to his ear to talk to someone? Why is she holding this thing in front of her saying “cheese” to her children? Why is he holding that round thing in his hands when riding a car? Why does she look so old if she is just 80 years old?

The future is awesome.

2013   Apple   future   life

App Store icon

It’s always a pleasure to talk to Kostya Gorsky, lead designer from Yandex and my good friend.

We’ve been discussing the future of browsers, apps and the Internet lately and have formed a vision of how all this stuff should work. I’ve been convinced that the address bar is not necessary and will die some day, and that there won’t be any meaningful difference between apps and websites. This simplification raises some questions and causes some problems at first, but they are all technical. People won’t care. We can make it.

Today one can find a site with Google from the Spotlight page on an iPad and add it to their home screen — all without knowing anything about web addresses. Even if you can explain the difference between an app and a website to your grandpa, this will not be of any value to him. Why bother, it’s all just coloured rectangles.

Kostya have recapped it all well: “You should have a screen with the coloured rectangles and a way to add them to it”.

And so I’ve coined a new design for iPad’s home screen. See the App Store icon. Before:

After:

Of course, manual updates will die, too.

We’ve went into much more detail with this, having talked for about an hour. And I wanted to publish this picture.

2012   design   future   user interface

SIM cards must die

So, Apple still fighting for smaller SIM card standard for future iPhones. What? Why isn’t Apple fighting to kill the SIM cards? In the future, there won’t exist any SIM cards, and we will choose carriers like we choose Wi-Fi networks.

The phone presents me with a list of available carriers. I pick the one I like or select to learn more about it (coverage, service plans etc). If I choose a new one, the phone asks me to choose a plan and other details. Then it asks me if it’s fine to share my payment information with the selected carrier. I confirm. Done. Something like this:

Carriers don’t want that because it will prevent them from locking in customers. But who cares? How many things the carriers used to like Apple has already killed? It’s about time to kill the most clumsy and archaic one, the SIM card.

2012   Apple   future   iPhone   service design