(Alternately wayland/X working on SurfaceFlinger).
They could port Unity to SF if they wanted, but what apps are you actually going to launch then, ones for android ?
I doubt they'll port all the apps they have to SF.
(Alternately wayland/X working on SurfaceFlinger).
They could port Unity to SF if they wanted, but what apps are you actually going to launch then, ones for android ?
I doubt they'll port all the apps they have to SF.
Both Gtk+ and Qt already run on non-X11 platforms like Win32. Canonical would simply need to add a SurfaceFlinger backend to the frameworks, and then the apps would just work.
The number of modern Linux apps that use X11 directly is small. Anything that makes substantial use of raw X11 is not going to feel "native" anyway by modern standards, so I doubt that Canonical would feel bad about abandoning compatibility there.
Read: "simple need to write thousands of lines of code". Writing a GTK and Qt backend is no minor task.
What apps do people actually use on Ubuntu today? All the Ubuntu users I know just use it to run a web browser, and maybe a few other things that can be trivially moved into the browser (IRC, text editing, ssh). Native software is dead. Move to Open Web Standards and you won't have to worry about platforms changing core libraries and breaking all your apps ever again.
That's just from recent apps.
p.s.: meld, kdiff3, pgadmin3, sublimetext2
Apart from Hacker news and reddit, I need nothing online, and in fact I hate to use the browser when a more suitable native option is available.
May be it is different for the million social apps in phones, but I don't need them nor care about them.
That's quite a leap considering that the big movement of late has been towards native apps (in the context of tablets/phones), and considering that everyone hates it when someone releases an iOS or Android app that's simply a web app in a wrapper. Also considering that much effort is being spent on things like PNacl to get native apps to run over the web.
Web apps still suck compared to their native counterparts. And as long as that's the case, native apps aren't going anywhere.
That was a few years ago, the industry has moved on since the iPhone. I can't think of any exciting new native apps in the last few years. Were there even any native apps at all created by the last batch of YC companies?
>Also considering that much effort is being spent on things like PNacl to get native apps to run over the web.
PNacl is not going to take off, and rightly so: it's Google's attempt to lock the web into their own proprietary platform.
>Web apps still suck compared to their native counterparts
I disagree. I don't have to worry about saving, I can use them from any computer anywhere in the world and continue what I was doing. I don't have to worry about updates. My system won't get compromised because I forgot to install a vital security upgrade for app X Y or Z. My app won't suddenly get deleted from my computer because the OS vendor decided to censor it. I don't have to worry if it will run on my system, or work out what dependencies I need to install. It will always just work.
Re: web apps sucking--many of the issues you mention are solved on iOS/Android, and can be solved by backup mechanisms like Dropbox.[1] Some of the issues you mention are imagined (OS vendor deleting apps from your computer). Finally, you fail to address the actual point, which is that web apps suck at what they do. The most popular and commonly used web app is probably Google Docs, and it's total shit. It's so shitty that I'm pretty sure AbiWord in 1998 was a better product than Google Docs circa 2013. I can't remember font rendering shittier than Google's PDF viewer in the last decade, and that's going back to GTK 1.x here. It's a cute trick that's helpful in a pinch, but it still sucks compared to even shitty native Office competitors.
[1] It's telling that arguably the most well-known YC company's product is fundamentally based on making it easy to integrate native apps with cloud storage.
About breaking cross-platform apps... there is simply a better solution -- open, solid protocols. If a protocol solves some problem, it will get great apps on all platforms and will be supported for years, outliving dozens of closed solutions (think of e-mail, jpeg, ssh, pdf, ftp, csv or BibTeX).
>security issues
web apps run in a secure sandbox. Native code is insecure by comparison. Users don't trust native apps.
>browser overhead
irrelevant in the age of multi GHz CPUs in your phone
> bugs
native platforms have bugs too
>file systems
most people don't need a file system at all when they have the cloud, but it's there if you need it http://www.html5rocks.com/en/tutorials/file/filesystem/
>cross-process communication
http://dev.w3.org/html5/websockets/
>i18n
libraries for that will come
>networking
Websockets, WebRTC etc
>device access
anything common or mainstream is already available (cameras, microphones, gps, accelerometers etc)
> compositing
https://www.khronos.org/webgl/
>UI look&feel
The freedom to create your own UI without being constrained by platform conventions is going to open up many new and exciting UI paradigms now that we finally get a true open and free market in interface ideas.
>About breaking cross-platform apps... there is simply a better solution -- open, solid protocols
protocols and file standards won't save your app from breaking when the OS vendor kills the framework you are using
Of course it is safe. You have at least two options: software sandboxing (NaCl, Vx32, OS-based sandboxing...) or proof-carrying typed assembly. Of course, the first option is complicated by the horrible state of the most prevalent hardware architecture available today, but that's something to be fixed in the future anyway.
"irrelevant in the age of multi GHz CPUs in your phone"
Oh, thank you very much. You're perpetuating the trend of "What Andy giveth, Bill taketh away" with this kind of thinking.
"native platforms have bugs too"
And studies confirm that the amount of bugs is largely proportional to the LOCs. The web-based approach, however adds a few million lines of code to something that would have, say, tens of thousands at most on its own.
Relevance of overhead depends on what you do. Not all people restrict themselves to decoding cat videos.
Browser and web-app server are additional SPOFs; and browser is unauditably complex piece of software.
Cloud has storage limits, low speed, great latency and zero privacy. Moreover FSes are all about interoperability; this WebKit-only API has nothing to do with that, it only gives an access to a restricted lease of space.
Websockets only allow your app to talk with its mothership and its friends, not other apps working locally.
Sure.
They won't allow me to connect two computers behind a NAT with SSH.
Nope, only certain fraction of their output. There is no option to configure them, and sharing policies do not exist.
I was thinking about a way to squeeze few things on one screen; most webapps are designed to work full-screen, at most giving you a chance to open a tab. BTW WebGL is a giant security hole because for years of GPU development no-one imagined that low-level access can be given to an untrusted code.
Great, but 95 in 100 of such innovations are total failures, 99 in 100 break keyboard navigation and accessibility, finally 999 in 1000 have zero personalisation options.
That's not the point; they give me a chance to switch to other, working app and continue using the service/data.
Sure, I don't have cool things like Evernote or Writeroom or Text Wrangler. But when I need to hunker down and get the job done, I do have my Eclipse, Emacs, vim, Firefox, Chrome, Thunderbird, LibreOffice, Gimp, Gedit, VLC, etc.
For every app in my Mac OS X dock, there's at least one native substitute on my Ubuntu boot. And it's just more fun to work on sometimes. There are errors you sometimes encounter which are simply easier to debug on a linux terminal than a Mac terminal in my experience.
Instead the user has to worry about whether or not the many libraries bundled by the webapp are all kept up to date by each and every app developer. Gone will be the days of shared libraries and centrally managed security updates for those. And don't suggest that webapps are secure because they run in a sandbox. Just wait, as more and more people move their work to webapps, more and more flexibility will be demanded. Soon you'll have to pierce sandboxes because AppA needs to throw data to AppB with a little Python script you wrote inbetween. Then the security issues will come, as will the library incompatibilities, and we'll be back where we are now, except the heterogeneous world of today will be replace by a JS monstrosity with browsers playing OSs.
Obviously, this doesn't cover particular applications that directly access X11 libraries, but porting the toolkit and recompiling the more 'simple' applications would probably be a decent start.