Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Think long-term. What could you conceivably do on the desktop that you can't do on the browser? Media recording and management? HTML5 is well on the way and someone compiled a functional version of FFMpeg in Javascript just recently. Storage? Security? Dropbox and more of the kind. We already have document management. The only thing I can think of right now is a render farm but we'll do that in the cloud anyway (even if the cloud is a desktop computer right next to you). I scoffed at the idea not too many months ago but I'm starting to see how mobile and desktop are converging, and I think it's going to happen faster than any of us expect due to consumer demand.

Edit: thinking of program like Final Cut: someone will figure out how to do the hardcore processing over-the-wire using Thunderbolt or something. Dumb terminals, welcome back!



It's impossible to predict things long-term. I mean, maybe we'll eventually get web applications that look and feel exactly like native apps. But maybe we'll still be stuck with kludgy, hacky, JS/HTML5-based apps that have rendering problems depending on your browser, that load in ugly chunks, that save your data to some proprietary cloud, that fail at concurrency, that don't integrate with your OS's multitasking workflow (Spaces, Mission Control), that take 5 times as long to run, and that stop working as soon as you go into a tunnel. And that's only from the user perspective; as a developer, I don't look forward to the nightmare of being stuck in a Javascript universe. I love being able to pick and choose from so many different frameworks, libraries, and languages when developing native apps; with Javascript, as soon as I try to do something simple, I inevitably end up with an SO answer that looks like this: http://stackoverflow.com/questions/950087/how-to-include-a-j...

(And no, "use JQuery" is not an answer; it's a symptom.)

Plus, it just feels shitty to not be able to own any of your tools. I don't want to rent my applications from some multinational corporation. I bought them, so they should be mine. (Yeah, yeah, nobody really owns anything anymore, but at least the bloody bits are on my drive!)

In short, if web apps are the future, I hope that a) they're only one of several commonly used paradigms, and b) we have something better than a browser to run them in.


But why is that better? And won't native apps keep advancing in the meantime?


I don't think it's better: I work with heavy media files and it worries me when Apple makes OSX a bit more stupid every release. But I have faith that as developers we'll make it work (maybe the industry moves to Linux, who knows). But I also LOVE the idea that my mobile phone or some tiny gadget I wear around my neck is the key to my data, and I can rock up to any monitor or use any display, glasses, microprojector whatever. I just see the changes coming, where iOS and OSX are merging slowly. It's too early to say what this is going to mean for pro developers/users.


> What could you conceivably do on the desktop that you can't do on the browser?

Off the top of my head,

1) Anything low level hardware (reading data via USB, or pushing data into HDMI, for instance)

2) Interacting with ANY hardware that's not explicitly supported by Javascript. Try creating an HTML5/JS scanner app.

3) Writing super-fast CPU-specific code, think Assembly language. That's the reason there are no HTML5 apps of the Photoshop caliber.

4) Disk access. Try creating a Javascript-based antivirus. Or an app that watches for changes in a certain directory.

5) Internal network access. Try writing a JS app interacting with your localhost or TCP/IP or UDP.


All of your points are completely valid today. I would come back in 5 years and see that probably all of those are achievable by the browser and Javascript.

Eg: >1) Anything low level hardware (reading data via USB, or pushing data into HDMI, for instance)

I would expect that a Nexus device can do Chromecast from browser screen, if not today then soon.

>2) Interacting with ANY hardware that's not explicitly supported by Javascript. Try creating an HTML5/JS scanner app.

You mean like, taking a photo and processing it? You can do that right now.

>3) Writing super-fast CPU-specific code, think Assembly language. That's the reason there are no HTML5 apps of the Photoshop caliber

Yet, agreed. But soon - only CPU is slowing it down, not the technology.

>4) Disk access. Try creating a Javascript-based antivirus. Or an app that watches for changes in a certain directory.

There won't be a filesystem as we know it. The 'cloud' and browser-accessible storage will be all we need.

>5) Internal network access. Try writing a JS app interacting with your localhost or TCP/IP or UDP.

Sockets, it's possible now.


> I would expect that a Nexus device can do Chromecast from browser screen, if not today then soon.

No, that's not what I meant. Pushing any data into HDMI, controlled by the app, not the screencasting.

> You mean like, taking a photo and processing it? You can do that right now.

No, I mean connecting to a scanner, scanning a document. You can't do it now. And don't tell me taking a snapshot with a built-in camera is the same thing

> There won't be a filesystem as we know it. The 'cloud' and browser-accessible storage will be all we need.

Sorry, I wasn't aware you could predict the future, and I thought we were talking about now.

> Sockets, it's possible now.

No, your JS app can't access the internal network, unless you expose it to the internet with TCP/IP. Sockets only let you connect to public servers. And no UDP (at least not explicitly).


>I thought we were talking about now.

Ah well, I was talking about the future. You're correct about the above you mention, and regarding sockets I was of course referring to TCP/IP. I'm keeping an eye on the Jolla/ChromeOS/FireFox OS types, more than iOS as I think there will be significant changes to allow the above and more.


IMHO that's list what you can't do "with the browser" not "on the browser". If browser is somehow exposed to interfaces of peripherals/devices/etc there is no reason why you can't do that "on browser". Yes, you can't do that with browser alone, but you can do that on browser.


2) Scanner can act as a web server pushing its UI to the phone after Bluetooth handshake(I think this will be the future of Internet Of Things)


If anything can't be written in JS now, it will be written in JS in the future. Everything will be in JS some day.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: