|
|
Subscribe / Log in / New account

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



to post comments

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 18:23 UTC (Fri) by flammon (guest, #807) [Link] (14 responses)

I completely agree. We should be using HTLM5 instead of GTK and QT and everything should be rendered by Gecko or Webkit. A display server completely optimized to render HTML5 would be a great replacement for X.

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 18:48 UTC (Fri) by Kit (guest, #55925) [Link] (13 responses)

I really don't see the point. HTML5/JS don't really solve any problems that GTK/Qt don't (doubly so, since Qt can already handle that model). Cloud applications are one thing (easy access from anywhere is their one advantage), but making a cloud application a local application just makes zero sense to me (lets take the benefits of cloud, remove them, so we only have the handicaps!).

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...)

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 19:35 UTC (Fri) by flammon (guest, #807) [Link] (12 responses)

Here are the points:
  1. Write your app using a defined standard toolkit. No more KDE vs. GNOME because of QT vs GTK. It will now be KDE vs GNOME based on different merits such as user inteface design, style, features and options.
  2. Save memory. Instead of loading GTK, QT and Gecko just load Gecko.
  3. 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.
  4. All the major commercial players are behind it. Google, Apple and Microsoft so it is not likely to fail.
  5. There's a huge pool of web developers with HTML and JS skills that can now contribute to desktop apps. Watch how fast GNOME and KDE advance when this happens.

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 20:11 UTC (Fri) by oak (guest, #2786) [Link] (7 responses)

> Save memory. Instead of loading GTK, QT and Gecko just load Gecko.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 21:30 UTC (Fri) by cmccabe (guest, #60281) [Link]

> Hm. I'm still getting a Java Déjà vu.

By the way, when Java was still under development, one of the codenames it went by was "Oak."

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 22:54 UTC (Sat) by flammon (guest, #807) [Link] (5 responses)

Alright, memory usage is not a good point when you're the running the jit/renderer in separate processes today and that is the trend so I'll take point back for now. I do however believe that memory sharing optimizations have not been completely explored. We've seen huge performance jumps in the JavaScript in recent years and I think memory sharing and usage optimization is next and a few ideas will be borrowed from the hypervisor guys.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 3, 2010 19:41 UTC (Sun) by oak (guest, #2786) [Link] (3 responses)

> Alright, memory usage is not a good point when you're the running the jit/renderer in separate processes today and that is the trend so I'll take point back for now.

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...

McGrath: Proposal for a new Fedora project

Posted Oct 9, 2010 21:20 UTC (Sat) by nix (subscriber, #2304) [Link] (2 responses)

The memory overhead that comes with GC is nearly nil these days, even by the standards of mobile devices.

See this?

RSS VSZ STIME TIME COMMAND
7464 9076 Sep27 02:52:33 ekeyd

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.

McGrath: Proposal for a new Fedora project

Posted Oct 9, 2010 21:33 UTC (Sat) by oak (guest, #2786) [Link] (1 responses)

This particular comment "thread" is about memory overhead of interpreted languages using both GC and JIT (which is needed for interpreted languages, particularly JavaScript here, to have decent speed). And the overhead of all these together.

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. :-)

McGrath: Proposal for a new Fedora project

Posted Oct 10, 2010 0:57 UTC (Sun) by nix (subscriber, #2304) [Link]

The code was not native code: it was Lua code embedded in a C string and then executed. So, no, not JITted, byt not native GC either.

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.)

McGrath: Proposal for a new Fedora project

Posted Oct 3, 2010 22:17 UTC (Sun) by Wol (subscriber, #4433) [Link]

You've obviously never come across UCSD P-code (or indeed, plenty of other such similar systems ...)

Cheers,
Wol

McGrath: Proposal for a new Fedora project

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...

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 13:32 UTC (Sat) by flammon (guest, #807) [Link]

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 3:55 UTC (Sat) by elanthis (guest, #6227) [Link] (1 responses)

"There's a huge pool of web developers with HTML and JS skills that can now contribute to desktop apps. Watch how fast GNOME and KDE advance when this happens."

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.

McGrath: Proposal for a new Fedora project

Posted Oct 4, 2010 3:34 UTC (Mon) by servilio-ap (subscriber, #56287) [Link]

(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

Posted Oct 1, 2010 18:48 UTC (Fri) by dcg (subscriber, #9198) [Link] (3 responses)

I don't mean to be offensive, but my first though reading this was: "OK, someone just drunk the Web 2.0/Ajax/HTML5/GoogleOS kool-aid"

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.

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 21:40 UTC (Fri) by wmf (guest, #33791) [Link] (1 responses)

Your GNOME Mobile was called Maemo, but then they replaced Gtk with Qt and fell too far behind Android to catch up.

At this point, I would suggest looking at what comes after phones.

McGrath: Proposal for a new Fedora project

Posted Oct 3, 2010 11:23 UTC (Sun) by drag (guest, #31333) [Link]

More phones will come after phones.

There are a few major things people want from computers (in no particular order):

1. Get work done.
2. Play games.
3. Communicate.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 4, 2010 0:29 UTC (Mon) by Lefty (guest, #51528) [Link]

GNOME Mobile died of neglect and inattention on the part of those given the responsibility of directing it, and meta-neglect and meta-inattention on the part of those in a position to correct the problem.

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 18:55 UTC (Fri) by slothrop (guest, #69834) [Link] (1 responses)

My favorite response to this is still:
http://www.youtube.com/watch?v=UOEFXaWHppE

McGrath: Proposal for a new Fedora project

Posted Oct 5, 2010 3:30 UTC (Tue) by bojan (subscriber, #14302) [Link]

Fantastic, really enjoyed it!

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 19:02 UTC (Fri) by RCL (guest, #63264) [Link] (3 responses)

If all you have is a hammer ... That guy's viewpoint is totally skewed.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 3, 2010 13:55 UTC (Sun) by drag (guest, #31333) [Link] (2 responses)

Cloud computing is Virtual Machines combined with Clustering.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 5, 2010 11:35 UTC (Tue) by sorpigal (guest, #36106) [Link] (1 responses)

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

Posted Oct 5, 2010 15:14 UTC (Tue) by jthill (subscriber, #56558) [Link]

Cloud computing, as near as I can tell, is the promise that the Morlocks will stay far away: ops&admin happens elsewhere and is done by other people. There is no computer (which term has messy ops&admin connotations), there is no file (which can get lost or damaged). There is only the cloud.

"Cloud" is a catchy tag, and there's a lot to be said for economies of scale on ops&admin.

Android.

Posted Oct 1, 2010 20:29 UTC (Fri) by aashenfe (guest, #12212) [Link] (1 responses)

Just My 2 Cents.

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)

Android.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 1, 2010 23:18 UTC (Fri) by pgquiles (guest, #70318) [Link]

And Wt looks like the right toolkit to start such a project.

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 0:31 UTC (Sat) by kripkenstein (guest, #43281) [Link]

> 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.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 2:15 UTC (Sat) by nicooo (guest, #69134) [Link]

It is official; Netcraft now confirms: *BSD the desktop is dying.

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 7:07 UTC (Sat) by znmeb (guest, #18291) [Link]

Chrome may not be free software, but isn't Chromium? I'm not a Fedora user -- I run openSUSE - but I'm pretty happy with Chromium.

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. ;-)

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 7:43 UTC (Sat) by obi (guest, #5784) [Link] (1 responses)

I don't think we can compete with the likes of Google or Microsoft on soft-as-webservices without changing the rules somewhat.

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).

McGrath: Proposal for a new Fedora project

Posted Oct 2, 2010 12:05 UTC (Sat) by nicooo (guest, #69134) [Link]

The problem is not HTML5 and Javascript. They are only symptoms

Posted Oct 2, 2010 8:59 UTC (Sat) by nim-nim (subscriber, #34454) [Link] (1 responses)

I welcome this initiative. It's high time FLOSS distributions people started re-examining their consumer strategy. However Mike McGrath is not going far enough.

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.
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.

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.

Desktop linux

Posted Oct 4, 2010 19:55 UTC (Mon) by dbruce (guest, #57948) [Link]

I think we've primarily succeeded in making nice Free Software desktop environments for _ourselves_. Maybe just having it available to those who are interested is a sufficient achievement.

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

Prediction the future is (very) hard

Posted Oct 2, 2010 12:40 UTC (Sat) by job (guest, #670) [Link] (7 responses)

OSF UNIX is the future. No single vendor will survive this multi vendor effort. (1994).

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.

Prediction the future is (very) hard

Posted Oct 2, 2010 13:37 UTC (Sat) by mmcgrath (guest, #44906) [Link] (5 responses)

> Pick the low hanging fruit first. Make Linux a fast and easy to use desktop.

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.

Prediction the future is (very) hard

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.

Prediction the future is (very) hard

Posted Oct 2, 2010 16:17 UTC (Sat) by mmcgrath (guest, #44906) [Link] (3 responses)

Today it is, yes. But I'm not talking about today am I?

Prediction the future is (very) hard

Posted Oct 2, 2010 18:36 UTC (Sat) by job (guest, #670) [Link] (2 responses)

You can't extrapolate a few data points from today's trends to predict the future. 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.

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.

Prediction the future is (very) hard

Posted Oct 2, 2010 19:45 UTC (Sat) by mmcgrath (guest, #44906) [Link]

> Focus on what's important.

That being?

Wow!

Posted Oct 4, 2010 17:39 UTC (Mon) by khim (subscriber, #9252) [Link]

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.

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.

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.

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...

Prediction the future is (very) hard

Posted Oct 3, 2010 22:36 UTC (Sun) by Wol (subscriber, #4433) [Link]

You missed microkernels! Microkernels are the future! Tannenbaum awarded Linus an F for his choice of a monolithic architecture in 1991.

Cheers,
Wol

McGrath: Proposal for a new Fedora project

Posted Oct 3, 2010 7:07 UTC (Sun) by Lefty (guest, #51528) [Link]

Mike, I think you make a lot of sense here, which is why I'm filled with a sad certainty that this will likely never happen.

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 Javascript—led 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!

missing the point about freedom

Posted Oct 3, 2010 19:58 UTC (Sun) by wingo (guest, #26929) [Link]

I think Mark really misses the point about freedom and the cloud, as eloquently described by Eben Moglen in an a recent essay under that title. Let's not mistake the market for the mission.

how about ipv6 and the decentralized cloud?

Posted Oct 3, 2010 21:23 UTC (Sun) by filteredperception (guest, #5692) [Link] (1 responses)

I tend to agree with the sceptical comments thus far. Perhaps mostly with the idea that such a directional vision is not such a great fit for fedora, but rather some secondary project which utilizes fedora as long as fedora is the right tech for its infrastructure.

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.

how about ipv6 and the decentralized cloud?

Posted Oct 5, 2010 12:49 UTC (Tue) by sorpigal (guest, #36106) [Link]

I'm with you on this. For Free Software it's not so important to control every widget and webapp that the user runs, it's far more important to control (ie, have the source for) the service layer. Today I can install apache on my desktop and serve my own web site from my house. I could do that in 1998, and I did. The problem with today is that most people would rather hand their data and lives over to a 'free' service that will host things for them than run a local web server. What good is a GPL browser running on a GPL OS when the only thing the user does is use twitter, flickr, facebook, pandora and google docs? The user doesn't control his data and it's locked up in non-Free services. I'd sooner see Internet Explorer on Windows connecting to a local AGPL'd service hooked in to a federated system.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 3, 2010 23:45 UTC (Sun) by jcm (subscriber, #18262) [Link] (6 responses)

I strongly disagree that the future is some fluffy web-app dross. No offence to Mike, but what Fedora needs are good distribution cohesion, very aggressive policy toward updates that harm user experience, and a solid server-friendly workstation-leaning Linux distribution. Otherwise, it just sounds like the fear of a need to be more Apple-like is being replaced with a fear of not being enough HTML5.

McGrath: Proposal for a new Fedora project

Posted Oct 4, 2010 1:24 UTC (Mon) by mmcgrath (guest, #44906) [Link] (5 responses)

You think people would prefer not to be able to access their content from everywhere via the same application no matter what platform / hardware they happen to be on? That sort of functionality / technology just doesn't interest people?

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.

McGrath: Proposal for a new Fedora project

Posted Oct 4, 2010 4:55 UTC (Mon) by jcm (subscriber, #18262) [Link]

I think even Apple learned the hard way that people don't want just HTML (even full HTML5, AJAX, whatever) apps, and that connectivity is not so reliable that everything can live online in some cloud forevermore. There will always be a need for locally running applications, and I will always want to have things like a local mail client from which I can read email without an internet connection. Yes, web apps are great, but they are never going to fully replace running real applications on the local system.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 4, 2010 6:04 UTC (Mon) by ajf (guest, #10844) [Link] (3 responses)

One thing we really ought to learn from the success of the iPhone and (to a lesser extent) Android is that there's more to the web than the web browser. You just don't have to sacrifice the unquestionable superiority of native applications to "be able to access [your] content from everywhere".

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.

McGrath: Proposal for a new Fedora project

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/

Screenshot of layout

Here's the cSS

@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}

That's quite powerful and very easy to update. What other toolkit allows for such ease?

McGrath: Proposal for a new Fedora project

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".

McGrath: Proposal for a new Fedora project

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.

McGrath: Proposal for a new Fedora project

Posted Oct 5, 2010 1:22 UTC (Tue) by jmorris42 (guest, #2203) [Link] (3 responses)

Amazing how someone can be so clueless how the Free Software world works yet still be in such a position of authority.

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.

McGrath: Proposal for a new Fedora project

Posted Oct 5, 2010 2:13 UTC (Tue) by mmcgrath (guest, #44906) [Link] (2 responses)

It amuses me that you think you know more about what Fedora can be then someone who works with it every day.

So lets put it in these terms, simplified since I think talking in abstracts has confused you.

RHEL: Mostly server stuff
RHEV: Mostly cloud / virtualization
Jboss: Mostly middleware

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.

McGrath: Proposal for a new Fedora project

Posted Oct 5, 2010 3:17 UTC (Tue) by mmcgrath (guest, #44906) [Link] (1 responses)

Bad form replying to myself but I didn't address the "doesn't know what a distribution is"

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.

McGrath: Proposal for a new Fedora project

Posted Oct 8, 2010 14:00 UTC (Fri) by compte (guest, #60316) [Link]

You don't have a hardware to go with Fedora. You could ask Intel to do it, to have their laptops pre-installed with a working stable Fedora desktop. I know, there is no stable Fedora desktop, and you don't want to invest money in it because it's not making a profit.
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

Posted Oct 11, 2010 17:14 UTC (Mon) by scaroo (guest, #70574) [Link]

You might be interested in the SeedKit project, which gives access to lower-level services in libraries to a Webkit view js context.
The 0.2 was recently released :
http://mail.gnome.org/archives/seedkit-list/2010-October/...

McGrath: Proposal for a new Fedora project

Posted Oct 11, 2010 17:53 UTC (Mon) by tux21b (guest, #70576) [Link]

I think I had a similar idea some weeks ago. My idea was to provide an alternate GTK implementation. So, what do I mean by that? Simplified I would like to change 3 things:

(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,
Christoph


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds