I don’t really know what Sony wants with this, but they’re using GNUstep, so that’s something, I guess. “Sony’s Networked Application Platform is a project designed to leverage the open source community to build and evolve the next generation application framework for consumer electronic devices. The developer program gives access to a developer community and resources like SDK, tools, documentation and other developers. The foundation upon which this project is base comes from the GNUstep community, whose origin dates back to the OpenStep standard developed by NeXT Computer Inc (now Apple Computer Inc.). While Apple has continued to update their specification in the form of Cocoa and Mac OS X, the GNUstep branch of the tree has diverged considerably.”
More here, from GNUstep’s chief maintainer:
http://heronsperch.blogspot.com/2010/11/gnustep-is-not-openstep.htm…
True. There’s been quite the discussion the last few days in the gnustep-dev mail-list whether they should rename gnustep-base to Foundation and gnustep-gui to AppKit and general name confusion and such. Particularly because they track Cocoa now.
Given all this action, it may be worthwhile for OSNews to interview GregC to get the straight dope on the state of GNUstep and where it’s headed.
Thom, what say you?
I guess Sony looked at the iPhone, iPad etc. and could see if it works on them, it could work for them too.
To be honest, this is a very big surprise, I thought GNUstep was one of the really nice projects that are tucked away in the corner of the huge warehouse full of projects. Lets hope this boosts it out of relative obscurity.
Objective-C/C++ is really wonderful language to work in, first used in in 1994 on a NeXT Station. And, no, its not for everything, so don’t start the but C++ does this and Java does that nonsense.
Problem is every time I try to use GNUStep (last time was about 6 mos ago, installed from Synaptic on Ubuntu) and its pretty much a disaster. Cocotron http://www.cocotron.org/ seems promising though.
I don’t mean to sound really down on GNUStep, I really really want to like GNUStep, its that I’ve never had much luck with it. Apparently GNUStep has a GNOME theming engine, never got that to work either.
I think some GNUStep folks need to sit down and figure out how to get it to work well with GNOME. It think it should be possible to write some sort of utility that automatically generates .desktop files for GNUStep apps and so forth.
What would REALLY REALLY REALLY KICK SERIOUS ASS is someone spent some time on Nautilus and made it read the .app directory structure. The idea most if not every part of an application wrapped up in a nice self contained .app directory structure is probably the most brilliant idea that the NeXT folks came up with. It completely solves the packaging problems found on most OSs (writing .desktop files. editing menus, all that BS).
Furthermore, the idea of a .app directory structure is completely language / desktop env / OS independent. Inside is just a config file that tells what executable to launch, what icon should be, what the env vars should be and so forth.
Yeah… did they come up with that *before* or *after* Steve Jobs invented the mouse?
I don’t think it matters when, or who invented it, its simply a brilliant idea that Linux desperately could use. Have you ever tried to install something that is not available in a package manager? Where to put it, find all the dependencies, create all the desktop file entries, etc… If the app, config and icon is packaged up in a .app directory, it doesn’t where it is, just run it. Done with it, just delete it. No freaking 1000 files sprayed out all over your system, everything in one place.
It would be really simple to add support like this to Nautilus and the KDE file manager. The layout of the .app is already supported by GWorkspace. This directory layout format should be handed over to the freedesktop folks to manage and publish.
Again, such a simple idea: package up the binaries, icons, config in a structured directory that the file manager knows how to run and display. Again, it is completely language, desktop env, and even operating system independent.
Edited 2010-11-27 15:27 UTC
Then why attribute it’s invention to the Jobsian camp? Too often, Apple/Jobs supporters make glorified claims without thinking/researching.
It’s neither an idea nor brilliant — it is just the way it used to be done. That way became less prevalent as shared libraries got bigger and got utilized more.
In addition, Linux already has several versions of the self-contained “app” model, and it has had them for years. I am using one on my netbook — Tiny Core Linux. Not only is every program self-contained, but all programs exist in an archived format, so there fewer problems with corruption. To remove a program, one can merely delete the program from the “TCE” (“programs”) directory, or there is a simple package manager that will do it for you.
Tiny Core does share some libraries, but it also fits a modern desktop OS into just eleven megabytes (and boots in a blink) — now THAT’s brilliant.
And that is just the tip of the “brilliance” iceberg in the open source world. There are so many amazingly inventive and inspired projects in that world, that just cannot exist in the proprietary Jobsian and Gatesian (Balmerinian?) realms.
Furthermore, to install the Tiny Core OS (and a few other Linux distros), one merely drags and drops two files and changes one or two paths listed in a config file. Now that’s a “brilliantly simple” OS installation!
Yes. I have applications that I have installed manually in my current Debian-based distro, and I ran Slackware for a couple of years. It wasn’t that difficult, because I would install mostly small programs. I would not try to compile Gnome nor OpenOffice nor manually install Ardour nor Cinelerra, mainly because there is no need — all of the big programs are already packaged.
Is that why third party applications are required in order to completely uninstall programs on OSX?:
http://download.cnet.com/AppDelete/3000-2096_4-10614485.html
http://www.appzapper.com/
http://www.rawcomputing.co.uk/macappremover.html
http://www.digitalrebellion.com/fcs_remover.htm
Let’s not delude ourselves — OSX programs frequently scatter caches, logs, preferences, hidden files and other data in lots of different directories on one’s partitions.
In Linux, it is usually fairly straightforward to find a library that an uninstall command passed over. No third party apps are needed. Some distros even have install logs that list all of a package’s installed files.
As mentioned, Linux distros already exist that use a separate directory for self-contained programs — Tiny Core and Gobolinux to name two. Both Tiny Core and Gobolinux have Gnome, Nautilus and KDE (Gobolinux has full Gnome in source “recepies” but not in its packages).
Not everyone is keen on changing the basic *nix directory hierarchy. It works well in a lot of multi-user systems. As a single user, I would certainly welcome the Gobolinux directory tree/method into my distro of choice, but who is going to change all of the hard-coded paths in all of the big programs?
Huh? With every file manager in every version of *nix, Windows and Mac, I have been able to click on a binary to run it. This has always been the case as far as I can remember.
Certainly, one could even start a program in such a fashion with the Xerox Alto, the Three Rivers Perq, the Xerox Star and VisiOn (all of which preceded the Apple GUIs).
Heck, even in the DOS Shell, one could launch a program by clicking on it, and guess where all of the programs resided — in a directory called “Programs.”
True, judging from the fact that it has already been done on almost every platform since the beginning of computing.
Edited 2010-11-27 20:19 UTC
Indeed, the .app system as implemented on OSX is pure genius… Except when it comes to keeping apps up to date or managing security permissions, though. Some work still has to be done in these areas.
But I do think that after some improvements, it could become simply the best way to package desktop apps in an indisputable fashion.
The problem you have with Cocotron is that the primary mission statement of the guys working on in (Christopher Lloyd being the lead IIRC) is that it is intended to be used on a Mac to cross compile for other targets. So, in essence, you need a Mac to develop apps. The benefit of Gnustep should be that you can run it on any supported platform and develop natively. You can. It just doesn’t work very well most of the time.
Edited 2010-11-25 11:36 UTC
Hmm… I beg your pardon about “doesn’t work very well”?
The GNUstep core framework is very complete, much more than Cocotron. It allows to to write complex and complete application and run them on Windows too. Applications for which – last time I checked – Cocotron was missing the implementation of whole methods or even classes having only little more than stubs. Both commercial application as well as free software runs on Windows successfully.
Furthermore I may remind you that the ultimate goal of GNUstep is to be native and self-hosting. We appreciate and incentive the use of it to port application from the mac to Unix and to Windows. But we are a GNU project, so giving a complete environment on a Free operating system is the ultimate goal.
Neither GNUstep nor Cocotron are complete, they each have different areas of functionality. GNUstep has a lot of UNimplemented API, especially newer ones. For example, Cocotron has a functional CoreData and CoreGraphics implementation, GNUstep has basically nothing for these.
Agreed.
This is incorrect, Gnustep has CoreImage mostly implemented within the Opal Library. It could be very rapidly extended to support most of the osx display technologies.
URL? AFAIK, that is total nonsense, they have nothing for CoreImage and Opal is just a wrapper on Cairo, and a very incomplete one, not to mention Cairo is not as capable as CoreGraphics.
etoileos.com seems actually more promising to me. Unfortunately it has also been progressing very slowly recently.
I’m sorry to hear that you have problems with the Ubuntu packages, maybe you should bug Ubuntu about them?
The packages on Debian are usually a bit out of date, but they do work. Sadly many applications are missing, so the already small palette of GNustep application is further restricted.
As a GNUstep core and application developer, I have one of my main development machines running Debian. Thus I can assure you that at least when using “source” against all debian packages and dependencies, GNUstep works smoothly, I test it daily.
The gnustep packages in Ubuntu are really crap. gentoo (which is my preferred distribution) is much better, even if it is not the most gnustep friendly distribution. Personally I like the combination of gnustep libraries, x.org, windowmaker and gworkspace. It is much more responsive than the equivalent using gnome libraries, metacity and nautilus.
thanks for the heads up on gworkspace. For software development I’ve been using windowmaker for years. For my wife to be functional I’ve had to switch over most of my machines to xfce. Hopefully this is useable.
Notice: There is a setting in GWorkspace to use it as the desktop, which creates a desktop similar to nautilus in Gnome. The floating menu can also be positioned in the top like in OS X. I can’t remember the name of the setting, but I know it’s there.
Can someone explain me the value of having a menubar that’s separate from the application it belongs to and focus-dependent on a modern computer ?
I mean, on the original macintosh, it was justified by the very small size of the screen, but now is it still relevant to accept such a major hit in usability for a few extra pixels of height in each windows ?
Menus being logically attached to the window they belong to, closer to the mouse pointer, easily discoverable… What’s the problem with that ?
It depends a lot on the resolution, the mouse and the ration between horisontal and vertical resolutions.
With 1600*1200 on a 17″ CRT-monitor I have to admit I don’t like unified menubars. OTOH, on a 15″ widescreen monitor (11360/1366*762) it’s a completely different matter. The benefit of a unified menubar is that the target is infinite large and therefore very easy to hit, unlike menubars in an application.
This is a discussion almost as old as the war between Windows and MacOS. Growing up using both in the 80s, I can say first hand that besides being a matter of preference, it also goes to experience. Specifically, if one has only ever known the Windows way of per-window menu bars, they will be frustrated and confused by the global menu bar scheme. Conversely, a lifelong Mac user finds it annoying to constantly have to hunt down the elusive menu bar.
I won’t say one is better than the other, though I will say a global menu bar makes a lot of sense to me. It keeps the bar in the exact same place no matter what app you’re in (think muscle memory), and makes good use of what would otherwise be a lot of wasted space. But, I’m comfortable with both as I’ve used every major and a lot of minor GUIs in my life. I’m most comfortable in OS X these days, but as I don’t own a Mac at the moment I’m using Windows 7 and I’m getting by just fine with per-window menu bars (among other differences).
Not sure I understand this. I mean, I have an interpretation, but it requires you wife to be a computer…
I meant for her to be functional using the computer.
I just installed gworkspace on my work machine and ran it. Sadly it reminded me of why I had a negative reaction the very first time I sat down at a NeXT workstation (one of those cool black cubes). I don’t like the intrusiveness of the workspace manager.
Edited 2010-11-26 19:54 UTC
Forgive me of saying this. I thought GNUstep died a year ago. But please, I hope there are more updates to this wonderful Objective-C piece of work.
About damn time Gnustep got someone working on it. Gnustep is the single best project open source has. Rather than copying Microsoft. It’d be better to copy, then extend/improve on Apple. Imagine if a Linux server was as easy to manage as an Apple Xserve? Linux would easily take the market, especially once Samba 4 comes down the pipe with all of it’s active directory/open exchange goodness. The usability of Apple combined with the versatility of open source and the Linux kernel’s hardware support? bring it on.
How is GNUstep copying Apple? They are building on the foundation laid by NeXTSTEP and later OpenStep, which is what Apple is also doing (among other things).
Do some research before spouting of misinformation. It’s as easy as visiting gnustep.org and reading for twenty seconds.
I can imagine how their marketing is spinning this.
“Everyone thought GNUStep is dead. Think again. We are starting to use it in a mission critical role, starting next yer”.
People write us dead since 10 years or so…
The language and the API are far from dead. They are beating competition left an right, especially in the mobile segment.
I agree. OTOH if Puredarwin had suceeded we should have seen a NeXT renaissance.
Oh, what did you make think so? Given that I develop incessantly on GNUstep and GAP and during the past two years there were releases of libraries, frameworks, applications and blog posts…
Was there a certain post or blog that made you think us dead? I’m curious.
IMO, GNUstep is not exposed to the mainstream news often and I don’t like to see Objective C underutilized.
It’s just that most people don’t run GNUstep as an X GUI any more. It’s all GNOME now.
GNUstep is hardly dead. In fact a friend of mine is doing daily commercial development with it for a testing automation toolset called Eggplant. GNUstep is very very *FAR* from being dead.
Sony… Sells phones with Ericson of course.
But also the Playstation(tm), portable computers, HI-FI, blue ray readers and… TVs.
Providing and supporting SNAP sounds quite logical to my point of view.
Especially for future TVs, no ?
Went back to look some more at the Snap site, and its been shut down!!!, just an single page with
“SNAP development is currently on hold”
WTF, some CEO found out they were using GNUStep and shut down! I’m not usually a conspiracy theorist, but this is awful strange.
It’s a conspiracy indeed
.
Edited 2010-11-25 15:41 UTC
Indeed.
Sony adopts, then drops, Cocoa-like GNUStep plans
http://www.appleinsider.com/articles/10/11/27/sony_adopts_then_drop…
they should have continued with the Eclipse plugin though. Maybe clang can work for them if they co-operate with Etoile on Codemonkey.
GNUStep notwithstanding, apparently Sony missed the occasion when MeeGo was announced last february.
I’d like to see gnustep get its own windowmanager (Window maker is crap unless you want to live like a NEXT desktop), and I’d like to see etoileMenuServer cleaned up and released. atm I keep getting strange crashes/positioning issues with the mac-like menubars whenever I use the menuserver with apps/compiz/metacity. I think they could get a mac-like desktop up and running really quickly, which I know isn’t a primary goal of theirs, but I think it would attract more developers. An open mac environment built on the linux kernel is a pretty compelling environment to use versus a cross platform api that has to compete with QT/WX etc.
Windowmaker is a poor man’s NeXTStep UI Paradigm. It’s a hack.
exactly, they should stop using hacks and just implement an actual obj-c window manager/desktop. GWorkspace is mostly there. personally I’d like to see an entire distro built around the mac filesystem layout but I know a lot of people will disagree with me about that. But at least focusing on a DE based on gnustep would be a huge step forward IMHO. It has mail/music/irc. Cleanup mplayer’s gui for gnustep, finish webkit and a jabber client, and you’d be well on the way to a fully useful desktop environment. The best thing about gnustep is apps written for it using obj-c don’t just look like apple apps. They actually work like apple apps. With correct handling of linked services, proper UI layout etc.
Edited 2010-11-26 03:13 UTC
There used to be a Linux distro based around that exact thing, called LinuxStep. Exposure was low, and the developers killed it a few years back.
I could not agree more!