McGrath: Proposal for a new Fedora project
From: | Mike McGrath <mmcgrath-AT-redhat.com> | |
To: | advisory-board-AT-lists.fedoraproject.org | |
Subject: | (unknown) | |
Date: | Thu, 30 Sep 2010 16:38:48 -0500 (CDT) | |
Message-ID: | <alpine.LFD.2.00.1009301634490.3326@laptop1.mmcgrath.net> |
I'm no lame duck, I swear. This is a pretty dramatic proposal, my hopes are it will generate much discussion. It's no secret I'm not big on the future of the desktop[1]. With great reflection and further research I've come to realize something else. Google is about to destroy just about everyone. There's a tiny handful of people that don't like the idea of cloud computing and information "in the cloud". The majority of the world though in love with it or will be and not know it. The problem: Free Software is in no position to compete with the web based applications of the Google of tomorrow. What am I talking about? HTML5 and javascript. Javascript has gotten significantly faster in just the last two years. In some cases over 100 times faster then just 2 years ago. Who drove that? Google and Chrome. Why did they do it? They realize HTML5 is disruptive technology. What we think of advanced "web technologies" today, are still based on html 4.01. Not changed in over 10 years. Ajax was a nice addition 7 or so years back but the foundations, the primitives are 10 years old. Think about how much computing has changed in the last 10 years. From 2000 to 2010. They will change that much if not more in the next 10 years. HTML5 adds some amazing new features. Local database, offline storage, canvas and inline SVG to name just a few. If you do a little research you'll see Google employees are tipping their hand. Many are releasing youtube videos of the work they're doing. Google has a great deal of institutional knowledge about HTML5. Very interesting since the standard isn't even complete yet. When it is, they'll be ready and those applications won't look ANYTHING like what the web apps today look like. They'll look like native desktop apps. Take this example: http://www.youtube.com/watch?v=XhMN0wlITLk Imagine that technology applied to actual applications.... That run anywhere HTML5 does. Our idea of the desktop is gone. This next part is VERY important. This is an opportunity. So what am I proposing? I think Fedora should slowly transition itself to be similar to how the Apache Software Foundation is setup. We should put more resources into fedorahosted and grow it. (Perhaps our new infrastructure lead would agree? ;) but the infrastructure is only one tiny part of it. We build these applications, get communities around them then let OTHERS actually run them. We'd need engineering coordinators, architects, planners. Not just from Red Hat but from other major stakeholders as well. We create these tools for others. Our best plan for Google isn't to take them on directly but to build tools that let everyone take them on a little bit at a time. Clearly this isn't something that will be done next month. This is an ambitious, long term goal that would take place over the next several years. The reason it will work is we'd be getting on the HTML5 bandwagon early. Very early. Others are already doing work here. Like Mozilla's skywriter: http://mozillalabs.com/skywriter/ - https://bespin.mozillalabs.com/ Take a look at that thing. That's the future of office/productivity applications, the future of communication, the future of computing. Don't just admire what skywriter does. Imagine what it will do, what it could do. Imagine what Google's applications will look like when they're converted. Businesses are already moving to cloud computing for their backend. What are they going to run on the front end? At the moment? Not free software. We're no where near that market right now.. But we can be. There's no reason in the world we can't spread free software via web applications / cloud computing. Even though someone chooses to run windows or OSX, there's no reason they can't do their primary computing on free software. Perhaps provided by their ISP, their business, other ISPs. -Mike [1] http://mmcgrath.livejournal.com/35659.html
Posted Oct 1, 2010 18:23 UTC (Fri)
by flammon (guest, #807)
[Link] (14 responses)
Posted Oct 1, 2010 18:48 UTC (Fri)
by Kit (guest, #55925)
[Link] (13 responses)
I can only see this /possibly/ working if you do the same thing as Chrome OS: target devices at the bottom end of the netbook range... but then again, Android is already stealing ChromeOS's niche- with the advantages of local applications!
(the Quake 2 demo was impressive... for a web browser. Remember, that's a -thirteen- year old game they got to work... and only using unreleased browsers...)
Posted Oct 1, 2010 19:35 UTC (Fri)
by flammon (guest, #807)
[Link] (12 responses)
Posted Oct 1, 2010 20:11 UTC (Fri)
by oak (guest, #2786)
[Link] (7 responses)
Apparently you have no clue about how much these use memory. If you have your "web-apps" as separate processes, they are way heavier RAM-wise than Gtk or Qt. For starters, normal UI toolkits don't run virtual machines or use JIT...
> The write once run anywhere promise is much closer to reality. Even I9 is stepping up and putting in an effort to follow the standard.
Hm. I'm still getting a Java Déjà vu.
Posted Oct 1, 2010 21:30 UTC (Fri)
by cmccabe (guest, #60281)
[Link]
By the way, when Java was still under development, one of the codenames it went by was "Oak."
Posted Oct 2, 2010 22:54 UTC (Sat)
by flammon (guest, #807)
[Link] (5 responses)
Write once run everywhere is much more real today than it ever was. HTML5 and ECMAScript are public standards that are not controlled by any individual company, unlike Java and .NET.
Posted Oct 3, 2010 19:41 UTC (Sun)
by oak (guest, #2786)
[Link] (3 responses)
And if they were in the same process, one can of course do the same with native code to save memory too...
> I think memory sharing and usage optimization is next and a few ideas will be borrowed from the hypervisor guys.
In that case there's same code (or data) bin all these VM instances which can be shared.
If user is surfing a single site, s/he may have multiple pages open for it. If code on those pages share common JS "library/ies", the JITed code for those could be shared. If user has open pages for different sites, I doubt them to share much code as JavaScript isn't well known for having established libraries that are shared by everybody on the net...
Data is mainly images I think. Except for things like site backgrounds and smaller images, images are probably page specific (I would assume browser to already share & cache images that are commonly used). In native applications images come for common widget & icon theme that is shared by all the applications using the same widget set. I don't see that happening for web apps.
And lastly you have the memory overhead that comes just from having a VM & GC. That's always going to eat memory than native non-GC code unless that has leaks (which may be easier to avoid with higher level language & GC).
> HTML5 and ECMAScript are public standards that are not controlled by any individual company, unlike Java and .NET.
I'm not so sure that the backend code for these HTML5 applications is written in ECMAScript. Java or .NET sounds more likely for that...
Posted Oct 9, 2010 21:20 UTC (Sat)
by nix (subscriber, #2304)
[Link] (2 responses)
See this?
RSS VSZ STIME TIME COMMAND
That little bugger is making several hundred GCed allocations a second, incrementally GCing as it goes (using the Lua 5.1.4 collector), and has been doing that for a couple of weeks now. Memory usage attributable to GC and heap fragmentation (overhead with respect to memory usage of GCless implementation at startup), across all that time: perhaps 1-2Mb.
Posted Oct 9, 2010 21:33 UTC (Sat)
by oak (guest, #2786)
[Link] (1 responses)
If your example was of native code using GC and not having JIT, 1-2MB overhead sounds on the largish side for that sized program, but it of course depends completely on how dynamic your program's memory usage is.
Whether the program does lots and very differently sized allocs and how good its allocation patterns are. Heap works like stack so one should in general alloc last things you're going to free first if you want to minimize fragmentation. The allocator you use may utilize buckets for smaller alloc sizes which can affect this or not.
GC and interpreted languages of course have other advantages, but the topic was memory overhead. :-)
Posted Oct 10, 2010 0:57 UTC (Sun)
by nix (subscriber, #2304)
[Link]
1-2Mb overhead, well, yes, it seems excessive because it was tuned to find a good tradeoff between GC frequency/intensity and CPU consumption. (I suspect that most of that overhead is actually heap fragmentation, which even a non-GCed program is exposed to.)
(We are in luck sizewise, though: most of the allocations are the same size. Not all, but most.)
Posted Oct 3, 2010 22:17 UTC (Sun)
by Wol (subscriber, #4433)
[Link]
Cheers,
Posted Oct 2, 2010 1:08 UTC (Sat)
by vonbrand (subscriber, #4458)
[Link] (1 responses)
And gecko will run on what? It doesn't exist in a vacuum... neither is "let HTML replace X11" viable, whatever draws HTML has to do so on something...
Posted Oct 2, 2010 13:32 UTC (Sat)
by flammon (guest, #807)
[Link]
Posted Oct 2, 2010 3:55 UTC (Sat)
by elanthis (guest, #6227)
[Link] (1 responses)
That's like saying that there's a huge pool of high-school physics teacher who can now contribute to solving cold fusion.
I've worked in the web industry for years. The last freaking people you want touching code are web developers. They are -- with very few exceptions -- utterly freaking useless for anything other than building broken, slow, buggy applications that are just hodge-podges of cut-n-pasted jQuery scripts (which themselves are atrocious monstrosities of poor engineering) that function so long as you don't look at them the wrong way. The fact that there are a ton of them doesn't mean shit other than that it doesn't take much effort to go from knowing nothing to knowing enough to be considered as a web developer. there's a TON of people who breath air, but that doesn't mean they're qualified professionals when it comes to wind-powered electric-generator engineering.
The cool web apps you see springing up are not the work of web developers. They're the work of real programmers -- people with an extensive background in C, LISP, Java, or all of the aforementioned -- who decided to toy around with HTML and JS.
The really goofy thing is thinking that a browser is the best platform for application development. It isn't. You're confusing a popular application with its feature set, which are really two distinct things. You don't need a browser, you just need a development environment that has the advantages of a browser (and ideally without its disadvantages). What you're asking for are:
(a) a toolkit that focuses on content, semantics, appearance, and logic as four distinctive entities. HTML is a crappy language to work with, and SVG is only marginally better. CSS is HUGELY limiting. there are better models that exist today, and they exist without the huge legacy cruft of crap that browsers need to support those old HTML, old CSS, and old JS files that make up 99% of the Web today.
(b) a very fast but easy to use programming language, that lets the programmer focus on his application's features and algorithms instead of on tons of boilerplate, memory management, and other low-level details that have been solved a billion times over. once again, there are other languages that fill this niche that do not have the historic mistakes of JavaScript (global-by-default variables, confusing for-each syntax, barely present standard library, lack of a module system, and just a ton of language features that only the native-code backend can hook into; look no further than the "magic" behind document.location that you can't pull off using pure javascript code).
(c) easy XML and JSON processing. once again, libraries already exist for this, and are wrapped up in just as easy to use APIs for easy to use languages. even better, there are libraries for even more formats out there, for those cases when XML is too stupid (most cases) and JSON is still not condense enough (which happens way more often than your average low-bar web programmer could even begin to realize, out here in Real Programmer Land).
(d) write-once, run-anywhere computing. again, exists many times over. the problem with this approach is that it's impossible to actually pull off without running into the exact same problems that JavaScript, Java, C#, Python, or so on have. the only way for a platform to be complete is to offer access to the native hardware, which in turn requires the platform to be low-level. Without hardware access, you require the platform to include a hardware abstraction for every possible piece of hardware that could exist. the web browser is still massively limited in what it can achieve, which is why we're still adding tons of new APIs (and massively bloating the browser platforms) at such a rapid pace. and unless those platforms actually _are_ updated frequently (which is not the case for IE, or even the mobile platforms that never release updated OSes for old hardware), you still end up with a write-once, run-on-some-platforms ecosystem.
(e) a project focused on all these things. go start your own, you don't need Fedora to do it for you. Fedora already has a goal and a vision. instead of forcing another project to become something else entirely, just start a new project to realize your vision. if the community believes your idea has merit, they will contribute; if they don't, you'll flounder on your own with bringing an existing successful project down with you.
The browser is a nice model or prototype of what you want, but it isn't the final product you want.
Posted Oct 4, 2010 3:34 UTC (Mon)
by servilio-ap (subscriber, #56287)
[Link]
Posted Oct 1, 2010 18:48 UTC (Fri)
by dcg (subscriber, #9198)
[Link] (3 responses)
First of all, it's not like these ideas need to be evangelized anymore. Every geek on this planet already knows that HTML5 is "the future". In fact, the future is already here. Studies say that people spends 50% of their time using the web browser. A web browser is most of what Joe User needs these days. In one conference, Google said there hasn't been any killer desktop application for Windows since Gmail was released, and it's true. All the new things are being developed for the web.
We have seen all this in the past. In fact, Unix was developed with the "cloud" mindset. Unix shells were the 80-90's "web services". And clients didn't going away. Yes, there were "dumb terminals", but then Linux appeared and it became fun to run a unix client on a PC. The history's wheel isn't stopping on HTML5 and Google.
The client isn't becoming irrelevant. The browser is slowly becoming the most used app development toolkit, a substitute for QT/GTK, yes, but that's not bad. Instead of QT, I suppose will use the Webkit toolkit (plus javascript libraries). But client's aren't going away. iPhone is succesful largely because it's a great _client_. Native desktop apps are becoming cool again thanks to iphone. While everybody was blogging about how the desktop was dead, Apple asked developers to write desktop. There are hundreds of thousand of mobile apps - but before iPhone's announcement everybody was swearing that the web was the only future possible. These days, the success of a mobile platform these days is not measured by how well it runs the internet (all platforms do well in that front) but by the number of native desktop apps that are developed for it. In the next years a mobile phone won't be worthwhile because of its HTML5 implementation (all them are similar). Running HTML5 will be the boring standard, it will be the _client_ side what makes a mobile phone different.
The problem for Fedora/Gnome isn't HTML5, it's Android. Android has become Google's desktop, development platform and distro. Where is my Gnome Mobile? Where is my KDE Mobile? Where is my Gnome Mobile App Store? Where is my Fedora Mobile distro for HTC devices? Yes, Gnome/KDE/Fedora are becoming irrelevant for end users, but only because end users are going mobile and there is not a KDE/Gnome/Fedora for mobile devices, only Android. That's what it needs to be fixed.
Posted Oct 1, 2010 21:40 UTC (Fri)
by wmf (guest, #33791)
[Link] (1 responses)
At this point, I would suggest looking at what comes after phones.
Posted Oct 3, 2010 11:23 UTC (Sun)
by drag (guest, #31333)
[Link]
There are a few major things people want from computers (in no particular order):
1. Get work done.
PCs are only good at communicating when your at your home. Tablets have the same problem. Netbooks and laptops are more mobile, but awkward.
Essentially if there is anything 'beyond phones' it's going to be nearly disposable tablet-like terminals. Pick it up, login, use it, then leave it for the next guy. After that implants into your eyeballs or something like that.
The Linux desktop is behind the eight-ball because of the technical problems and fragmentation that people refuse to address and instead try to patch over with package management systems. The web is good for Linux desktop because it takes the distribution of applications out of the hands of the distributions. It eliminates the middle man.
Posted Oct 4, 2010 0:29 UTC (Mon)
by Lefty (guest, #51528)
[Link]
Posted Oct 1, 2010 18:55 UTC (Fri)
by slothrop (guest, #69834)
[Link] (1 responses)
Posted Oct 5, 2010 3:30 UTC (Tue)
by bojan (subscriber, #14302)
[Link]
Posted Oct 1, 2010 19:02 UTC (Fri)
by RCL (guest, #63264)
[Link] (3 responses)
Cloud computing is just a buzzword so far and ChromeOS will likely be a stillborn child, if they even decide to release it at all to cannibalize their Android marketshare. Let's see what happens to OnLive, which is more serious attack on traditional desktop than NaCl currently is.
Posted Oct 3, 2010 13:55 UTC (Sun)
by drag (guest, #31333)
[Link] (2 responses)
Linux clusters of cheap commodity hardware when combined with virtual machines provide the management facilities and power needed to run applications on a massive scale.
That is it.
That's all it is.
Cheap hardware and proper management software allows organizations to run software to serve thousands of people simultaneously much cheaper then ever before possible.
When combined client side scripting to offload most of the application logic to the end user's computer and with AJAX stuff so you can relay information realtime between everybody and their browsers you can literally have the ability to serve applications out on a global scale.
This is a new thing and people are now pushing it to see how far they can take this sort of technology.
Posted Oct 5, 2010 11:35 UTC (Tue)
by sorpigal (guest, #36106)
[Link] (1 responses)
Posted Oct 5, 2010 15:14 UTC (Tue)
by jthill (subscriber, #56558)
[Link]
"Cloud" is a catchy tag, and there's a lot to be said for economies of scale on ops&admin.
Posted Oct 1, 2010 20:29 UTC (Fri)
by aashenfe (guest, #12212)
[Link] (1 responses)
Maybe the Fedora project should consider mergin Android features into the next release.
Either a complete Android setup, as a desktop environment.
And/Or
The ability to run Andoid apps and widgets on my Gnome Desktop. (KDE too, of course)
Posted Oct 1, 2010 20:41 UTC (Fri)
by cesarb (subscriber, #6266)
[Link]
They are going in that direction too, only with Meego: MeeGo Netbook UX 1.0.
Posted Oct 1, 2010 23:18 UTC (Fri)
by pgquiles (guest, #70318)
[Link]
Posted Oct 2, 2010 0:31 UTC (Sat)
by kripkenstein (guest, #43281)
[Link]
I realize this is nitpicking, but this isn't true. Google V8, WebKit's JSC (which is to say, Apple's Nitro) and Mozilla's TraceMonkey all came out around the same time, and all brought huge speed improvements. It isn't Google that is soley responsible for this.
Posted Oct 2, 2010 2:15 UTC (Sat)
by nicooo (guest, #69134)
[Link]
Posted Oct 2, 2010 7:07 UTC (Sat)
by znmeb (guest, #18291)
[Link]
Yeah, Javascript is the language of the future on the client side, although I hope to Hell server-side Javascript never goes anywhere, because I think servers should be written in Erlang. ;-)
Posted Oct 2, 2010 7:43 UTC (Sat)
by obi (guest, #5784)
[Link] (1 responses)
I believe we'd need to build it on something like ccnx.org or freenet/gnunet and bypass the whole server infrastructure/single authority/trust part. And only then blur the lines between your desktop and the internet (making your PCs just a cache for the network).
Posted Oct 2, 2010 12:05 UTC (Sat)
by nicooo (guest, #69134)
[Link]
Posted Oct 2, 2010 8:59 UTC (Sat)
by nim-nim (subscriber, #34454)
[Link] (1 responses)
Today's Linux success was built on it's network orientation. At a time when others were still trying build some network genes (Windows) or adapt from Company/Campus network mindset to WWW mindset (legacy unixes, all the technical bits available but no turnkey solution) Linux proposed a complete pre-packaged WWW-ready solution (that became better known as LAMP). You can still install today this stack on all the major Linux systems in 5s of apt-get/yum install.
This was sufficient to make Red Hat and Suse the big Enterprise computing actors they are today.
However, it was *not* sufficient to make Linux a big consumer success. Because consumer computing demands yet another level of turnkey integration. Just like 2000-era legacy unixes demanded too much work to assemble existing bits into a turnkey solution, the 2000-era linuxes were not a consumer turnkey solution.
Thus, Red Hat and Suse looked at the consumer market, (correctly) assessed they were not ready for it, and refocused on the Enterprise, while funding the efforts of several teams to try to eventually crack the consumer Linux problem.
Those teams looked at the Linux software stacks, saw nothing that looked like the consumer software king's offerings (Windows), and decided to rebuild from scratch a new Desktop stack, modelled after Microsoft and Apple products.
They are still at it today.
Interestingly, Google targeted the same consumer market, but chose a radically different strategy. They didn't expend resources on building a Desktop clone. They took the traditional Linux enterprise/network stack and pushed it another level, making it consumer-ready. The Android gadgets that are flooding the consumer market now are succeeding where other Linux-based efforts failed, and they do so without trying to clone Windows/OSX.
It is not incidental that Oracle is suing Google now. Google took the good points of Java (huge software library, lots of developers), dumped the bad parts (terrible system integration) and managed to commodise it, making it a hit.
At the same time Linux consumer people frowned at Java (Enterprise stuff not fit for the desktop, not interesting) and Linux enterprise people ignored its problems (what if it needs hours of J2EE server setup before anyone can use it, other Enterprise OSes have the same problems) and completely missed the boat.
But it is not too late.
Linux consumer people need to re-assess all the Enterprise/Network heritage of Linux, and think of ways to re-purpose anything which can be of consumer use in the consumer space (for example, NetworkManager people finally realized that ISP DNSes sucked big ways, and that they've been sitting for years on perfectly fine DNS implementations which could be used to short-circuit the ISP DNSes and make Linux a better consumer system). You can't afford to put a blind eye to what Enterprise people do. You "simplified" your problem by ignoring non-desktop computing for years, and that's why you were not the ones who released Android.
Linux Enterprise people need to work harder at streamlining their components, and not stop at the "good enough for the Enterprise" level. In 2000 one could install a state-of-the art LAMP stack on Linux. Since then many new elements were added in Enterprise computing. Most of them can still not be installed natively in Linux systems (mostly, because they've been written in Java and Linux people have been complacent about Java integration). That was the thinking of the legacy unix vendors before Linux people ate a lot of their lunch.
A streamlined Enterprise stack will make Linux once again the natural platform for writing Enterprise apps (and not just a "as bad as others, but on cheaper hardware" solution, others can release x86 solutions and Google most definitely will eventually).
A streamlined Enterprise stack will make it easier for consumer Linux people to pick the good bits for their own needs. A lot of thought has been extended in the Enterprise space to make multi-server computing work, the natural Linux answer to the cloud should be to make multi-desktop system work together without depending on huge system farms controlled by more or less "evil" entities. Those farms do not exist because they are a requirement to fulfil consumer needs. They exist because they are a requirement for the data-mining the builders of those farms engage on.
Linux consumer people need to stop thinking in 2000-era client/server terms, with their part limited to the client one (consuming web services and web apps hosted gods know where), but start producing internet-exposed apps that can be consumed by desktop peers. Yes a network service makes your system a "server". No it does not need to be a "server" in Enterprise computing terms. Please invent consumer network services. Please invent network services people can apt-get/yum install on their systems, sharing computing with friends, instead of continuing to focus on the client part, with the smarts moving the other side of the network link. Especially when this other side is slowly but steadily reducing the Linux part to basic platform needs.
Posted Oct 4, 2010 19:55 UTC (Mon)
by dbruce (guest, #57948)
[Link]
Look at pop music, television, Hollywood movies, and the most popular "restaurant" in the world (McDonald's), and then consider whether the general public is ever going to care what computer operating system is technically superior. That isn't going to happen. We are never going to see the general public messing with partition tables to install another OS.
What we could see is Windows becoming irrelevant, with OEMs then saying "MS stuff costs money, but Android/Linux/whatever is free, and customers don't care anymore, so we are going with what's free".
Anyway, even if "desktop linux" never goes beyond the 1% mark, that doesn't make it a "massive failure" in my book.
DSB
Posted Oct 2, 2010 12:40 UTC (Sat)
by job (guest, #670)
[Link] (7 responses)
The object embedded desktop is the future! Apple and Microsoft bets a lot of money on this. Those who do not adapt will perish. (1996).
IA64 is the future. It is completely backed by Intel and will rule from the PC all the way to the supercomputers and mainframes. Other players will be run over so drop your own efforts and join while you can. (1998).
Thin clients are the future! Since everything will be written i Java anyway nobody will want a PC. (2000).
Desktop search is the future. Any desktop will need to implement metadata indexing this year or the users will abandon them completely. (2002)
These predictions come and go every few years and from the perspective of those who conceive them they are always completely inevitable. Only in a static world would their logic hold. But the world is complex and constantly changing so most predictions do not materialize.
The few that are proven to be correct creates new markets and leaves very little room for the original players to actually benefit. UNIX sort of won, with Windows as a new contender nobody expected, but none of the big players are still around to cash in. The IBM PC sort of won, but it is a market where IBM is irrelevant.
Those who survive these predictions are always the ones who solve real problems for real customers. And there are plenty of those. Pick the low hanging fruit first. Make Linux a fast and easy to use desktop. Those will be required even when web browsers are the only thing that run on them. By all means, do cool things with HTML and Javascript on the side, but don't ever let it take resources from what's important for your users.
Posted Oct 2, 2010 13:37 UTC (Sat)
by mmcgrath (guest, #44906)
[Link] (5 responses)
You must be kidding. We've been trying that for years. For longer then I've been involved with Linux. So right now, at a time where people are more and more using internet connected devices, phones, tables, televisions, etc but the desktop less and less. Thats the time you think we should be focusing on the desktop?
Peoples comments here are completely missing the point. Anyone arguing that we should be focusing on the tiny 1% of the market / desktop we already have is just nuts. There's a whole 99% we could be targeting, simply by focusing on web efforts.
Posted Oct 2, 2010 15:45 UTC (Sat)
by vonbrand (subscriber, #4458)
[Link] (4 responses)
"Web efforts" is one (or at most a half dozen) applications/programs on the average machine. It just won't get anywhere on its own.
Posted Oct 2, 2010 16:17 UTC (Sat)
by mmcgrath (guest, #44906)
[Link] (3 responses)
Posted Oct 2, 2010 18:36 UTC (Sat)
by job (guest, #670)
[Link] (2 responses)
If we are to learn from previous attempts to predict the future, some applications will probably follow this trend but in a few years the increase in computer power would cause large shifts in what people want to do. For a hypothetical example, by the time web browsers are powerful enough for office applications the fact that movies can easily be edited on that very same hardware made the desktop more important, not less.
It is worth noting that Wired magazine had a cover story a few months back on how web apps were "out" now that everyone uses native "apps" instead. Some people make it their living spouting these predictions. There's no need to pay them any more attention that necessary. Focus on what's important.
Posted Oct 2, 2010 19:45 UTC (Sat)
by mmcgrath (guest, #44906)
[Link]
That being?
Posted Oct 4, 2010 17:39 UTC (Mon)
by khim (subscriber, #9252)
[Link]
Well, you've just picked up the best example you can imagine. Desktop games are dying. They are money-losers and few reach even break-even point. Consoles save them today, but it's not clear if the trend will last. Web-browser games are thriving - and most "serious" studios think how they can switch to web. Who will win the battle? Flash (which boasts 3D and C++ compatibility today), NaCl (which promises the same plus VMs like Mono), or some newcomer? The conclusion is not clear yet, but the fact remains: non-browser games are less and less popular, while browser-based games pick up the slack. When browsers will be powerful enough to handle office applications they will be powerful enough to handle video. They are almost powerful enough today: the only limitation is JavaScript (which does not support thread), but there are many groups who try to overcome this limitation...
Posted Oct 3, 2010 22:36 UTC (Sun)
by Wol (subscriber, #4433)
[Link]
Cheers,
Posted Oct 3, 2010 7:07 UTC (Sun)
by Lefty (guest, #51528)
[Link]
Between the folks who are still fighting valiantly to win 1995's future for Linux on the desktop, and the loud (if spectacularly uniformed, and occasionally paranoid) minority opposition to "computing in the cloud" or "software as a service"not to mention Javascriptled by folks who don't even actually use the web, I expect more time will be spent in bickering over what it all means, and how free it is, than in actually getting much useful work done.
Good suggestion, though!
Posted Oct 3, 2010 19:58 UTC (Sun)
by wingo (guest, #26929)
[Link]
Posted Oct 3, 2010 21:23 UTC (Sun)
by filteredperception (guest, #5692)
[Link] (1 responses)
What I would like to see in a similarly corporate distruptive vein, is the fruition of the decentralized cloud. It often seems to me that ipv4 and nat are the major blockades to a world where everyones desktops and other devices can act as a replacement for the current corporate provided 'cloud'. That, it seems to me, implemented well, would be how free software could really make an impact against the big $$ corporations that pose the most severe threat to a higher level of computing freedom in the future.
What it would take it seems to me, is perhaps lots of similar groups like the Diaspora project. On top of a foundation of presumably ipv6 where there is no blockade to all of our devices giving 1% of their resources to the decentralized cloud.
But again, this vision is also nothing new, just a different flavor of the koolaid. And again, something that would be a project/movement outside of fedora, utilizing fedora as long as fedora is the right tool for the job.
Really, I think it will be very interesting to see where CentOS-6 takes us. It seems that will be the validation or invalidation of what fedora has been for the last few years. I'm actually pretty optimistic on that front, and see C6 quite possibly providing a solid platform for many radically different, and all disruptive computing stacks.
Posted Oct 5, 2010 12:49 UTC (Tue)
by sorpigal (guest, #36106)
[Link]
The thing we need isn't more GPL'd HTML5 widgets but easy to install, easy to set up "cloud" type services that can connect with each other and do useful things that normal people want (and do it without being chained to a centralized corporate master.) If "running Linux" meant simple LAN sharing, like streaming video or audio between boxes and accessing your files from any device, instead of just meaning "my games don't work" then a lot of people would be on board. I know plenty of 20-something's who don't do anything application-wise outside of a web browser and would be perfectly happy with Linux if only it made managing music and photos easier (where "easy" is "no more difficult than filling out a form.") If syncing those up to the internet so friends can get them was easy, too, then that would be a killer feature.
Posted Oct 3, 2010 23:45 UTC (Sun)
by jcm (subscriber, #18262)
[Link] (6 responses)
Posted Oct 4, 2010 1:24 UTC (Mon)
by mmcgrath (guest, #44906)
[Link] (5 responses)
Side note, these aren't fluffy apps. HTML5 can flat out do several things that current HTML can't do. Fluffy's got nothing to do with it. Its the difference between only being able to use ints, vs also having floats and strings.
Posted Oct 4, 2010 4:55 UTC (Mon)
by jcm (subscriber, #18262)
[Link]
As to fluffy. Yea. I just bought a new netbook and I'm seriously considering finally ditching GNOME while I'm at it. It's not just web stuff that I think of as "fluffy". I probably won't ditch GNOME as it's so ingrained in Fedora and I want to keep up with what's going on, but there's a strong part of me that wants to go back to the days of enlightenment 0.17, complete with esd. All of this talk of being a window onto the web is something I generally look on as fantastic BS that won't ever really work until we have internet links that don't rely on physical cables, wireless networks, or other real world non-cloudy buzzwords to actually make them work and remain reliable.
Jon.
Posted Oct 4, 2010 6:04 UTC (Mon)
by ajf (guest, #10844)
[Link] (3 responses)
As for ints, floats and strings, working in CSS compared to the layout model supported by any decent native toolkit is like having floats (CSS pun intended) but no ints. Sure, you can do a lot with floats, but it's a hell of a lot more work than it ought to be, and no matter how hard you try you still get mysterious and unprofessional-looking errors in weird edge cases.
Posted Oct 4, 2010 15:12 UTC (Mon)
by flammon (guest, #807)
[Link] (2 responses)
Please have a look at the CSS3 Template Layout Module and let me know if you're opinion still holds.
http://www.w3.org/TR/css3-layout/
Here's the cSS That's quite powerful and very easy to update. What other toolkit allows for such ease?
Posted Oct 4, 2010 22:57 UTC (Mon)
by ajf (guest, #10844)
[Link] (1 responses)
I'm familiar with that, and I think it has been unfairly derided as "ASCII art". But I also think I know why you had to post a link to a screenshot instead of a web page containing that in its stylesheet so I could see it for myself: because nobody has actually implemented this proposal. Even positive comment describes it as "How we'll lay out websites in 2016".
Posted Oct 5, 2010 15:20 UTC (Tue)
by flammon (guest, #807)
[Link]
I doubt it will be 2016 before the relevant browsers implement it. Browser development is starting to heat up again and they all seem to want to follow the W3C specs. Even IE9! My guess is that within 3 years we'll see CSS Template Layout implemented in Gecko, Webkit and Trident.
For now we have Flexible Box Layout Module which is still quite nice.
Posted Oct 5, 2010 1:22 UTC (Tue)
by jmorris42 (guest, #2203)
[Link] (3 responses)
Dude, Fedora is a free software distribution that serves as the proving ground for RHEL. It does (or better to say RH does) sponsor original new code, mostly in the system integration and infrastructure areas but it's mandate isn't to boldly explore radical and experimental new frontiers in information technology. Most of what they ship is slightly customized packages of the same software everyone else is shipping. More bluntly, do you see RH trying to pitch your new notion to corporate RHEL customers anytime soon? If not why are you expecting Fedora to reorient itself to the mission of implementing your vision?
Get your new reimagining of the the software stack up, at least to the prove the idea has merit level, and let several distros eventually package it and distribute it to a wider audience, perhaps someday as the default.
But don't bet the rent money on it. You aren't the first to propose a totally new computing model based on a pet theory. Just for starters you could ask the Sugar guys how their attempt to take over the world worked out. And in another year or two ask the Meego crew how their far less ambitious project ended up. Or if you can find one willing to cop to the charge, find someone with the Bob project.... that one sure redefined the user experience forever... NOT! Sudden leaps in evolution do happen in IT as in nature. But they are very rare, slow improvement is the norm. Most of the really strange mutants just die a quick death after everyone gets done laughing.
Posted Oct 5, 2010 2:13 UTC (Tue)
by mmcgrath (guest, #44906)
[Link] (2 responses)
So lets put it in these terms, simplified since I think talking in abstracts has confused you.
RHEL: Mostly server stuff
Which future better builds off of those three money makers? The Linux desktop? Or cloud hosted web services? Also keeping in mind that, to date, no one has come close to making money off the Linux desktop.
Posted Oct 5, 2010 3:17 UTC (Tue)
by mmcgrath (guest, #44906)
[Link] (1 responses)
I know exactly what it is. And I know that non-server distributions have gotten very little traction. Which is why I'm proposing something very outside the box. Even our poster-child Ubuntu hasn't been able to bump web client marketshare above 2%. We have roughly the same web client marketshare as iOS on the iphone.
Think about that. We've got roughly the same marketshare as an operating system that is only 3 years old, costs money up front *AND* in many cases has a monthly fee in order to use it. It's not free, at all. And yet it's, at the moment, got similar numbers. Some people don't care about marketshare or users. They're entitled to that. But I have higher hopes for us and this free software model and I'd hate to think that "this is it".
I'm just saying what we're doing... the status quo... It's not working except for on the server. So lets just embrace it, drop what's not working, and move on.
Posted Oct 8, 2010 14:00 UTC (Fri)
by compte (guest, #60316)
[Link]
Posted Oct 11, 2010 17:14 UTC (Mon)
by scaroo (guest, #70574)
[Link]
Posted Oct 11, 2010 17:53 UTC (Mon)
by tux21b (guest, #70576)
[Link]
(1) Drawing of GTK Objects. Each element in GTK knows how it is drawn. I would like that so that each element simply outputs is HTML equivalent (or just a HTML5 canvas and a special drawing routine for more complex ones).
(2) I would like to replace the GTK main() loop to a simple HTTP server.
(3) I would like to implement all events in JS.
But the main point should be, that all those changes are only done in the alternative GTK library and not in the application. After that, I could decide if I start any GTK program with the original GTK library to get a desktop application or to modify the LD_LIBRARY_PATH so, that the webgtk library is loaded, which then starts an HTTP server in it's main loop. After that I can access the application with any browser (even remote).
This way, nearly all applications will be runnable as web application too (ok, some custom widgets might not work directly and the application might leak memory which isn't a trouble for a desktop application, but fatal for web applications...) but still most of the apps will work (hopefully). Later, an alternative cairo library based on the HTML5 canvas and so on might follow.
After that, we might be able to integrate such web applications back in the desktop, e.g. by automating the task of starting the application as web application and open a window with the right URL automatically, which looks like the native window before.
And then the last step would be to provide additional features for the web application by adding additional scripts and additional callbacks between GTK and the HTML5 application and to tune the HTML5 application a bit (e.g. by adding more caching with the localstorage and things like that).
The benefit of this approach would be that existing GTK applications won't be lost, and that we don't have to re-implement everything...
I am neither a GTK ninja nor I've any time to become one. In fact I am just dreaming loudly... So feel free to implement something like that if you are optimistic enough :)
Regards,
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
Here are the points:
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
7464 9076 Sep27 02:52:33 ekeyd
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
Wol
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
(a) a toolkit that focuses on content, semantics, appearance, and logic as four distinctive entities. HTML is a crappy language to work with, and SVG is only marginally better. CSS is HUGELY limiting. there are better models that exist today
That sounds interesting, can you give us some links or names, please?
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
2. Play games.
3. Communicate.
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
The problem with cloud computing is that your definition is right, but so are a dozen others. Cloud computing, to hear people talk of it, is also any web-based application, any application that stores files remotely instead of locally, and any mechanism that allows in any way for the client to become irrelevant. More properly your definition is correct, it's clustering and virtual machines at a massive scale, it's software as a service, it's MULTICS all over again! In the end it's a useless buzz word without a proper meaning. HTML5 is almost as bad because it's used the same way, but at least it does have a proper meaning.
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
Android.
Android.
And Wt looks like the right toolkit to start such a project.
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
It is official; Netcraft now confirms: McGrath: Proposal for a new Fedora project
*BSD the desktop is dying.
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
The problem is not HTML5 and Javascript. They are only symptoms
It has been a massive failure.
Somehow, along the way, people forgot the point was to reach the consumer, not clone Windows and OS X.
Desktop linux
Prediction the future is (very) hard
Prediction the future is (very) hard
Prediction the future is (very) hard
Prediction the future is (very) hard
Prediction the future is (very) hard
Prediction the future is (very) hard
Wow!
You could just as well predict that since computer games has gotten insanely popular over the last decade, that's what one should focus on. This would be clearly incompatible with your future in the web browser.
For a hypothetical example, by the time web browsers are powerful enough for office applications the fact that movies can easily be edited on that very same hardware made the desktop more important, not less.
Prediction the future is (very) hard
Wol
McGrath: Proposal for a new Fedora project
missing the point about freedom
how about ipv6 and the decentralized cloud?
how about ipv6 and the decentralized cloud?
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
@page :first {
display: "A A A A A A A A A" / 5cm
". . . . . . . . ." / 0.25cm
"B . C C C C C C C" / *
"B . C C C C C C C" / *
"B . C C C C C C C" / *
"B . C C C C C C C" / *
"B . C C C C C C C" / *
"B . D D D D D D D" / *
"B . D D D D D D D" / *
"B . E E E . F F F" / *
"B . E E E . F F F" / *
"B . E E E . F F F" / *
* 3em * 3em * 3em * 3em *
}
h1 {position: a; border-bottom: thick; margin-bottom: 1.5em}
#toc {position: b; margin-right: -1.5em; border-right: thin;
padding-right: 1.5em}
#leader {position: c; columns: 4; column-gap: 3em}
#art1 {position: d; columns: 4; column-gap: 3em; border-top: thin}
#art2 {position: e; columns: 2; column-gap: 3em}
#art3 {position: f; columns: 2; column-gap: 3em}
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
RHEV: Mostly cloud / virtualization
Jboss: Mostly middleware
McGrath: Proposal for a new Fedora project
McGrath: Proposal for a new Fedora project
About Ubuntu, it's not stable either or anything close. I would be willing to pay a fair price for a stable desktop, but it has to be popular so its future support is guaranteed, and it want be popular if its not pre-installed. As I said before, RHEL is too outdated for a desktop user.
About Linux missing the Desktop. I know, but there are more than 1000 Linux distributions and various versions within each.
McGrath: Proposal for a new Fedora project
The 0.2 was recently released :
http://mail.gnome.org/archives/seedkit-list/2010-October/...
McGrath: Proposal for a new Fedora project
Christoph