Linux advocates have for so long advocated browser-accessed software as a service as a way to break out of Microsoft’s proprietary desktop. Now that this world has arrived, there’s less incentive to work on native Linux apps.
Linux advocates have for so long advocated browser-accessed software as a service as a way to break out of Microsoft’s proprietary desktop. Now that this world has arrived, there’s less incentive to work on native Linux apps.
Web applications diminish the incentive to make native desktop applications on all platforms, not just on Linux.
The sooner we get to the point no one gives a damn, or has to for that matter, about the underlying OS their software runs on the better as far as I’m concerned.
That’s all well and good for you, but I have a fairly strict policy to only rely on web applications if they inherently do something that’s not feasible to do natively.
Google or LibraryThing or Last.fm are, by nature, tools that get their value from their network effects, so I’ll excuse that.
However, I’m now willing to commit myself to so many single points of failure (network connectivity, continued interest in the product on the provider’s part, provider uptime, potential differences of opinion regarding the importance of various potential features, etc.) for an application for which the only benefit of being in the browser is that I don’t have to worry about my update manager distracting me with a password prompt.
I would think that webapps in the future will be able to run offline and be packaged in a download.
I guess when they solve those 2 problems you’ll love webapps?
“In the future, we’ll have a solution to a problem you didn’t have with native apps”
Offline web applications are still slower and still don’t use the native UI toolkit. Why put lipstick on a pig? Not everything should be delivered through a web browser.
I keep telling it every day, but somehow it seems most enterprise applications are moving to web only interfaces and with it the trend is comming to the consumer applications as well.
Like it or not, web technologies make up the only universal UI toolkit. In addition to having a automatic update system and platform independence. In addition to being the faster way of implementing most UIs.
If you don’t need a lot of processing power, WEB is the best way to proceed.
As for enterprises, it helps with data loss prevention.
* Fast = more efficient = lower cost at higher quality
Edited 2011-11-06 15:55 UTC
For enterprise apps, it’s *extremely* convenient to do it that way. A lot of those apps have their roots in ancient “green screen” apps – once used via a genuine dumb-terminal, later via some sort of terminal emulator under Windows.
And when you have a software company with a lot of experience developing under Unix systems and clients with a lot of experience running those same systems, then adding a Unix-based web layer on top of those apps is the obvious way to go. The first step is probably a collection of Perl CGI scripts that screen-scrape the old terminal app, and which over time evolve into something more sophisticated. This kind of thing is probably a big part of why Java was so successful as a server language – it came out at just the right time for companies looking to replace their old green screen apps.
(And yes, speaking from experience here…)
Applications with web-based front-ends have a fair share of advantages over native ones, even if you don’t use them to collaborate with others through the Internet, and even if you run them on your own machine(s). Notes (including task / todo / buy-list management), personal finance management etc. would be good candidates, as it is useful to be able to access to these from tablets and/or phones besides your desktop/laptop, and having a web-based interface is still easier than having entirely different interfaces for each device type. (You will need somewhat different designs for different screen sizes, but it is still easier to use and develop than having completely different front-ends for each). They are also inherently multi-platform (for the client-side at least, but most web-apps are also developed in a portable manner anyway). Some of these services also happen to be managing information that one may not want to be hosted at a “cloud provider”, so the ability to self-host is also important.
Of course, there are still many cases where a native application is better, but I expect that there will be more and more web-based ones coming.
Edited 2011-11-06 10:11 UTC
Consider that GTK3 has a web based rendering back end available. It’s entirely possible that in the future web based apps will be able to use the native widgets on whatever platform they choose.
Sigh… GTK3’s “broadway” web backend is basically a remote-display technology like VNC. It’s in no way a web application, save that the client is a Javascript library that displays pixels in an HTML canvas widget…
I certainly agree that, as a platform, the browser has its advantages.
For example, I find it MUCH easier to craft custom GUI elements in CSS/HTML/JS than in raw GTK+ drawing code, even with PyGTK and it does make it much easier to write a single UI that adjusts to all form factors.
However, I’m also the kind of guy who uses Gentoo Linux because it’s the easiest way I’ve found so far to mix-and-match exactly the versions I want of various apps, lock them in if I don’t like the newer versions, and apply my own patches if need be.
For apps where the browser DOES provide the simplest solution which are also fully-open source (like TiddlyWiki), I’ve never had an issue with using web apps.
Here is a real life testcase of the challenges that a developer face developing a commercial high performance (low latency native) Linux application.
http://www.ardour.org/node/4643#comment-26973
Edited 2011-11-06 13:28 UTC
I love how this article was posted right after the “Support Linux by Not Writing Linux-Only Software” news item was posted in the News section. It puts together two good points of view. I have to agree however that cross platform development is better.
One example given in the article, “Support Linux by Not Writing Linux-Only Software” talks about a user frustrated that AppX does not exist in Linux like it did in Windows. Now that user just wants to go back to AppX in Windows or Mac OS X because that is what they are familiar with even though the Linux variant may be 10 times better! Sure education could solve this problem, but computers have become such a commodity appliance that people don’t want to ‘learn computers’, they just want to use it.
While I think the Linux ecosystem already has some killer apps in general, I think the only way for general users to actually use Linux is for developers to utilize cross platform development. It would ease the transition for new users in a new OS, which let’s face it, can be tough for some. Maybe if more popular cross platform software existed in Linux, people would actually INSTALL Linux instead of run it on a live CD or running it in a VM where it can easily be turned off and never turned on again.
What I would love to see however is a better cross development platform. Java is too bulky. Mono is a great alternative, but is also very biased. Flash wouldn’t be so bad if it weren’t such a performance hog. The web is awesome (HTML 5, etc.) in that just about anyone can code an app, but it’s naturally sandboxed (although that’s changing too). But that’s another soapbox to get on for another time.
Regardless, I am not sure if Linux-Only software is the way to go…although I must admit my little nerdy heart desires for people to move to Linux because of apps…not because they’re running away from OSX/Windows.
If you would like users to switch to Linux then you _should_ support the idea of Linux-only software. There’s a catch however. Cross-platform software doesn’t create any motivation to migrate OS’es. Why would it? Why would a user install a completely new OS when he/she can use the same software on the currently installed OS?
Linux has tons of mediocre-to-crap but very little “great” software. Linux needs oustanding Linux-only software that has no equivalent or is at least on par with rival software. Linux offers very little of that and thus very little reason to take it seriously as a Windows alternative.
But — if you are talking about end-user applications — how do you get there outside of serving very small niche markets?
The native clients for OSX and Windows should deliver about 99% of potential sales.
Even the FOSS developer can feel the itch for greater visibility and better funding.
The stats on the latest [and to my mind the weakest] “Humble Bundle” shows Linux sales generating a bare 25% of revenues while contributons from Linux gamers average about twice that from those running Windows.
http://www.humblebundle.com/
I would suggest small niche markets is a good place to start. When you know you can’t compete in one area, shift your focus into another where you can. Get your footing first. Ultimately Linux will have to serve the same needs & wants if it ever hopes to be taken seriously as a desktop OS. In that regard it’s going to have to look, feel, and perform like it’s got it’s act together — more preferably do those things even better than the Windows offerings. Something which to this point Linux has not managed to do.
Linux will never capture desktop OS marketshare by being subpar in the areas that matter to desktop users.
The problem with your HIB analogy is that they’ve started acting like douchebags with these single game “bundles” These las 2 bundles could have easily been just a single bundle. Because of this though I like many others have dropped our payouts significantly while many more fully decided not to buy the HIB because it only had the one game at release and ignoring that other games where added over time.
I still pitched in $20, though I’d usually throw in $50, but all of that $20 went to the EFF, nothing to the HIB or the devs. None to Child’s play either, Net Neutrality is far more important.
If he supports Linux-only apps there is no catch, at least not the catch you mention.
So it’s just like Windows, only with much less crap and mediocre software. One look at, say, Tucows confirms this without a doubt. There are great Linux software, there are great Windows software and great OSX software etc. Perhaps Linux has less, perhaps not. The only “great” software Windows has that I need are games. There’s not one other piece of software Windows has that I need. That’s just me though, it will be different for everyone and depend greatly what you do with your computer.
So you think adding more crap to the pile doesn’t make it stink any worse? We can agree to disagree on that point.
Comparing numbers directly you can say Linux has much less crap and mediocre software. Of course, it has much less software available period. But, if you scale the number of great software vs. crap limited to the range of what’s available, the resulting Linux percentage I’m sure is right in line with what you see in Windows.
Your closing point is really the only point that needs to be made. Every user has a different set of needs and his/her choices should be made with those needs taken into consideration. I’ve said repeatedly that users should use what works best for them. I myself am a daily user of both Windows and Linux for that very reason.
I understand this is a very pro-Linux/anti-Microsoft forum. There’s actually more Linux penis stroking here than on the Linux (user and dev) mailing lists I frequent. Regardless, people should make an effort to keep things in perspective.
The need to run software anywhere is critical.
What happens to a specialist programme that uses hardware, storage media or file formats that no longer exist?
I recently met a scientist with that exact problem. He wrote an extremely important Fortran programme for pasture management in the 1970s. The only copy of the code still available was a paper printout (about 2000 pages). No one else really understood his code so he had to come out of retirement to work on it.
Had the paper copy been lost years of work would have wasted.
I’ve recently been working on a major application push into the SaaS world. The app will be available for private enterprises or via a subscription over the internet.. The reason is very simple.. no loner do we need to maintain 2 or 3 different versions but rather a single version that works across all standards based browsers.. for many business apps that’s the way forward, there are some places where apps in the cloud may not be appropriate (i.e. anything that requires connectivity when there is none lol)