Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
One of the things that has worried me is how people are living more and more in their browser. I myself am guilty of this. I use the browser to check my mail, calendar, read news, track my todo list, check my bank account, check on friends, upload pictures ... [...] People doing everything in their browser scares me not because I think everyone should use the desktop but rather because I don't think the browser is the best user tool for doing all those things."
Posted Aug 10, 2009 18:23 UTC (Mon)
by drag (guest, #31333)
[Link] (8 responses)
IPv4 ip address exhaustion has cased NAT-firewalled networks to be the most common setup for people. Therefore the only reliable connection to most people's desktops have to come from the desktop to a server and desktop-to-desktop (or peer-to-peer) style architecture is no longer a viable way to communicate with other people.
This is nice from a security standpoint, but is lousy from a usability and performance standpoint. UDP-based protocols are more efficient when it comes to latency sensitive tasks and your forced to rely on central servers for managing connections.
Since people can no longer use their systems to communicate directly with other people, they are relying on larger and larger central management systems and as a effect we are losing much of the peer-to-peer nature of the internet.
So everything is now very service-oriented, even when the services itself is detrimental to the ease of use and performance of the task. The biggest example of this is VoIP. When the only reliable way to reach people is via HTTP protocol and your relying on central servers for everything.. then why not make browser-based applications?
-------------
I think one of the major things that Gnome and KDE could do would be to establish a standard way to allow desktops to directly link to one another.
That way people can do tasks like exchange photos, file share, IM, do voip, and other such things without relying on monolythic services were your forced to sacrifice your freedom and privacy in exchange for some small portion of a website.
I don't have any objection to things like Facebook or Google's online applications. They have their positive benefits and acceptable trade offs for lots of things..... however I do not want that to be the only game in town. These things offer little security and no privacy and your surrendering your control of your data to a large corporation. (and I am a capatilistic type of guy, but that doesn't mean I trust corporations any further then I can throw them)
Setting up huge server farms to provide open source alternative services is just too difficult and expensive. Peer2Peer is a much more inexpensive and scalable solution. So I hope that while building service support into the 'connected desktop' that the only connections go through companies like google.
Posted Aug 10, 2009 21:34 UTC (Mon)
by wmf (guest, #33791)
[Link] (7 responses)
Posted Aug 11, 2009 2:58 UTC (Tue)
by dannyobrien (subscriber, #25583)
[Link] (6 responses)
The question is: is that a feature of a centralised, third-party controlled service, or something that autonomous, free software-running computers can compete with?
It's a bit like the "can Linux compete on the desktop" writ large. Can the Linux ecosystem compete with features Google, which presents an easy-to-use, always-available, set of features with just a dash of lost privacy, inflexibility, lack of source code access, and network lock-in?
Posted Aug 11, 2009 3:29 UTC (Tue)
by dlang (guest, #313)
[Link] (5 responses)
there are a lot of reasons besides NAT/IPv6 that people do not run such systems out of their houses. maintaining an always-available system is non-trivial, both in knowledge, maintinance effort, and money. it's hard to do at home even for those of us who do this sort of thing routinely at work.
you aren't really wanting to know if linux can compete, you are wanting to know if opensource applications with an AGPL-type license (that forces the code to be available to anyone who uses the website) can compete.
in general I think the answer is probably not.
everything is getting turned into a commodity from the low-end up. first you had the hardware (the PC), now linux is doing the same thing to the kernel and OS level, but there is always something custom somewhere in the stack. once in a while it's special hardware with a fairly generic user laer on top, but usually it's the specific software that you are wanting to use that is the tailored part of things.
specific applications are going to be commoditized, I expect that (if ODF ever takes hold) the word processor will quickly fall into this category (like the text editor it grew up from did), and I would also expect the spreadsheet category to go that way but I expect that there will continue to be other new 'must have' packages that show up.
Posted Aug 11, 2009 4:26 UTC (Tue)
by dannyobrien (subscriber, #25583)
[Link] (4 responses)
I think that there's more to the Linux ecosystem than just what's running underneath Google, and more options for it to survive than simply attempting to oblige Google and other centralized companies to use AGPL licensing (perhaps I erred in emphasising the Linux connection, but this is LWN after all. Let's call it the FLOSS ecosystem). And commoditization can work both ways. Many of the advantages that Google originally had in the marketplace and which they leveraged to create their new products have now been commoditized: Hadoop, distributed file systems, innovation in the Javascript space. Google's core competancy, search, still seems (to me at least) to be something that a centralised company can excel at. But I don't see why a Flickr or GMail service has to, per se, depend on a single company, a single server farm, or me handing over all my data to a third party.
Posted Aug 11, 2009 8:04 UTC (Tue)
by mjthayer (guest, #39183)
[Link]
Posted Aug 11, 2009 10:40 UTC (Tue)
by khim (subscriber, #9252)
[Link] (2 responses)
Yup. And this one percent of user will continue to use free software and
AGPL applications. But we are talking about remaining 99% here: will they
continue to use Windows and spend billions for upgrades, AV software and
support, or will they use something else? Most users don't care (never cared and will never care in the future)
about control (that's why Kindle is so hot). They don't want control - they
want something usable and the less hassle the better! Because selling point of Flickr or GMail are not the stellar software
behind the offering, but actual service. You know: servers, administrators,
that kind of things. And these benefit from "economy of scale" enormously.
Software is of secondary concern here.
Posted Aug 11, 2009 12:46 UTC (Tue)
by NAR (subscriber, #1313)
[Link] (1 responses)
Exactly. And don't forget that in order to control, one needs specific training, skill, probably even some talent. Not everyone has that and most people are not willing to invest in that. Driving a car is so much simpler that administering a home server, yet look around in the streets that how many people are driving a car who really shouldn't, because they lack the necessary skills.
Posted Aug 11, 2009 13:58 UTC (Tue)
by drag (guest, #31333)
[Link]
Anyways....
-------------------------------------
Maintaining a server at home is difficult because Linux servers are targeting professionals. This does not mean that setting up a simple P2P server has to be difficult, though.
Am I going to think that 'apt-get install apache2' and then editing text conifguration files can be made easy for the 'average person'... NO! Of course not. But that does not mean that a 'desktop internet share' service should be difficult or require lots of software.
All you need is a small python-based http server and some other protocols to setup and your done. It's not going to be much different from the stuff it's going to take to make Gnome and KDE be 'online' and 'connected' with online Web 2.0 stuff. Write it in high-level code and design it for simplicity and the security problems should be rather small.
The only 'server-client' relationship that is fundamentally needed is one used to find other people on the internet. So you need to have a server that a person can connect to in order to find other people. DNS is good for servers, but getting a DNS name is fairly expensive and since most people have a combination of a NAT firewall + dynamic IP addresses it makes it fairly worthless nowadays to find individuals. So you have to find something else...
And that "something else", in my eyes, is XMPP.
It doesn't take much. There are free servers all over the place.
Using XMPP you get online notifications, friends listing, and you can locate people on the internet, blah blah blah. Pretty much everything you'll need. You don't need to have people typing in IP addresses or whatnot. And if the person's desktop is offline then you are not going to waste your time trying to access them or look for them.
If a person is walking around with their laptop and whatnot and connecting to wifi hotspots or traveling then you'll be able to find them easily, too. Once they connect then their desktop should send connect to their XMPP server and all their online friends will know about it. If they don't want to be bothered then a single button on a Applet would be all they need to go into 'shadow mode'
Because you different notifications right? Offline vs away and all that stuff. Offline means that you can't access the content. Away just means that the person is away from the desktop, but you should be able to access the content served by the desktop if you have authorization.
So I don't think it's impractical to use XMPP as a location and notification service and then use that to locate people and initiate file sharing, give authorization for viewing personal data, twitter-style mass-messaging, chatrooms, photo albums, mass file sharing via bittorrent, and whatnot.
and it's all using Kerberos and whatnot so you never have people sending passwords and whatnot over the internet as a way to identify themselves.
Besides IM and file sharing then other stuff like VoIP and music streaming should just fall into place naturally.
If it's kept as simple as possible and the installation is easy and requires no configuration beyond getting a online identity, then it should actually likely be easier then going to all these different online places and setting up accounts.
And if people want to tie all of this into online services then that should be possible, too.
Then the difficult thing after that is going to be how to transverse firewalls, which most NAT firewalls are actually surprisingly insecure and easy to transverse. You can use techniques like uPNP to request port forwarding on most routers sold in the past few years, for example. You just have to look at the P2P folks and look at the techniques they use to get data to each other. (Transmission Gnome bittorrent client does a good job, it seems)
----------------------
I had a experience about how difficult it is to setup a 'server' on the internet a few years ago.
I was visiting my folks and my brothers were there. So I decided to setup a little 'LAN Gaming' action with Nexuiz.
It was fun. We were playing and then all of a sudden I thought my brothers changed their username. I made fun of him and somehow that person did not appreciate my humor all of a sudden.
Turns out that Nexuiz has uPNP support so that when you setup a gaming server, even if it's behind your firewall, it opens a port and sends out notifications to the internet 'Master' servers.
I had, completely by accident, setup a internet gaming server and people were joining and playing against me and my brothers without me realizing it right away!
---------------------
I know that right now my Gnome Desktop has some stuff for sharing files and whatnot. But it's way too heavy and requires setting up Apache and whatnot for Webdav.
That's the wrong approach.
For example for LAN sharing a simple http/dav python server on a high numbered port can send out Avahi or uPNP notifications that other desktops can pick up on is all you need. No need to setup some heavy multithreaded server for that sort of thing.
It does not even really need to be running the entire time. Having a desktop equivalent to a Inetd super-server is all you need.
Posted Aug 10, 2009 22:45 UTC (Mon)
by smadu2 (guest, #54943)
[Link]
In Linux based distributions, take for example thunderbird, there is serious lack of such tight integration, but performance is very good. I think for now its seems impossible to achieve functionaly and experience.
Posted Aug 12, 2009 15:30 UTC (Wed)
by alankila (guest, #47141)
[Link] (4 responses)
"Applications running natively on the desktop can provide a much better user experience than running an application inside a browser on top of the desktop. Mobile devices like phone and netbooks may make this obvious but the same holds true for a full size desktop."
This is probably true, but: applications inside the browser are improving all the time. And there are too many desktop systems to bother with making applications for them all. Heck, even linux distros aren't very compatible with each other. At the minimum you seem to need both GTK+ and Qt versions of the same app, or people complain. Such a waste of time, and you still need to multiply that by windows and os x versions if you are targeting the world as opposed to just Linux users. Even in mobile space, there are a number of platforms, so again app writes are forced to waste effort on porting between them, or settling for a fraction of the total market.
Anything that provides a single target is made of win, and currently the strange virtual machine composed of html, css and javascript with network connection to server is a more sensible idea than writing the code for any actual machine, unless the browser on that machine sucks, if that indeed is the case for mobile devices. I confess that I briefly tried the Android browser earlier this week and thought it felt entirely serviceable.
Outside the browser, there's things like python, java and .Net for making desktop apps in, and none of them seems to provide super good user experience. All start slowly, eat quite a bit of RAM, and you can't run that many of them simultaneously because every one of them insists in private memory footprints for everything, even the stuff they ought to share. Outside of these, you have to go for native stuff, with more porting problems.
Consequently, I find it very hard to believe that the browser would be in any hurry of dying out, even if browsers sucked on mobiles. I claim they don't suck that much, the apps improve and brower apps are probably still written before the other apps arrive, because web site simply serves everyone, including the mobile users.
Posted Aug 13, 2009 19:38 UTC (Thu)
by dmag (guest, #17775)
[Link] (3 responses)
- when you find you need a phone number at a friend's house
What's the difference between sampling applications on your desktop vs sampling applications on the web?
Simple, the web won't make your computer unstable, and web pages can't force themselves into your bookmarks.
Also, the search engines for web apps is half-decent, while the ones for desktop apps isn't so good.
Posted Aug 13, 2009 20:36 UTC (Thu)
by khc (guest, #45209)
[Link] (1 responses)
Posted Aug 19, 2009 2:26 UTC (Wed)
by dmag (guest, #17775)
[Link]
If an app is going to talk on the internet, it may as well come to me via my browser, so I don't have to do care and feeding, upgrade, and copy it around whenever I move computers.
Side note: Netbooks could not become popular without the web, because they would require too much work to install and sync.
Posted Aug 15, 2009 7:41 UTC (Sat)
by michi (guest, #60274)
[Link]
> - when you find you need a phone number at a friend's house
You have it stored in your mobile phone.
- when you upgrade your computer
You put your old hard disks in the new pc or copy everything including the os to the new
- when you switch from your computer to your laptop
You know when you want to do this and copy the data on an usb stick. You use server
- when your computer crashes
You restart it. What do you do if the web server all your data is crashes?
- when someone sends a document that requires an upgrade
> What's the difference between sampling applications on your desktop vs sampling
When you run desktop apps, you can see the source code and know that this program is
> Simple, the web won't make your computer unstable, and web pages can't force
Web pages can *easily* make the computer unstable. I have seen websites which do this
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
It's matter of scale...
But there are also advantages to having one's own control over
software, and that control has traditionally been one of the reason why
users
and administrators have chosen open source offerings over proprietary
offerings.
But I don't see why a Flickr or GMail service has to, per se,
depend on a single company, a single server farm, or me handing over all my
data to a third party.
Most users don't care (never cared and will never care in the future) about control
It's matter of scale...
It's matter of scale...
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
- when you upgrade your computer
- when you switch from your computer to your laptop
- when you find you need to try to sync your desktop and laptop
- when your computer crashes
- when someone sends a document that requires an upgrade
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
Peters: The Desktop or the Browser: Is the Netbook Escalating the Battle?
hdds. You have to do something even if you use wes apps.
- when you find you need to try to sync your desktop and laptop
based synchronisation like e.g. imap, if you have an internet connection on your laptop
when traveling.
You tell him why this is bad and request the document in a sane format.
applications on the web?
running. Your distribution takes care that programs do not do bad things, like logging user
data, displaying ads. Many websites are totally vulnerable to cross site scripting. You do
not need to upgrade to a unstable new version on your "production" systems, if you do not
want to. Nobody can shut the desktop application down in order to tell you "If you want to
continue using it, pay us $$$".
themselves into your bookmarks.
unintentionally on every slow computer, which can run normal applications fine and do
not have trouble displaying sane websites.
