Wednesday, December 29, 2010

Menu Separator goodness...

Menu separators make a big difference. ;)   I know this is a relatively minor change, but it looks excellent with the theme.

Monday, December 27, 2010

More GNOME Theme Improvements

Bean running with the GNOME native theme
As you can see...  I'm making some progress.   I've corrected a number of problems with GNUstep's in window menu generation.   It's now very close to what most other apps generate in GNOME.

I considered a few approaches, one was to leverage some of the code I wrote for the Windows theme to generate the menu from the menu structure and create a GtkMenu to attach to the Window... the issue with this approach was that it would have required the window to be a GtkWindow, which wasn't a good idea.  The other approach I considered was to reparent the GNUstep created window into a GtkWindow which contains the GtkMenu.  The issue with this was that it would have been impossible to switch back to another theme which doesn't use the GNOME widgets and GtkWindow.

The approach I settled on is a good middle ground.   The changes fix a number of issues which were present in the code previously.   Also, it gives more control to us regarding the look of the in-window menus.

My plans are to work out the remaining bugs with this and release it so that people can start playing with it.   I will have more screenshots in the future as it becomes more mature.  Feel free to comment on anything you think can be improved. :)

Wednesday, December 22, 2010

GNOME on GNUstep: First look

Here is what it currently looks like:

As you can see, it's not perfect.  The icon is still on the bottom left, the menu is still floating.   I've made all of the changes necessary to get the GNOME theme working again.   I've also refactored it so that it loads nicely from SystemPreferences, which the previous version didn't do.

Once I get the final details worked out, you should be able to run your GNUstep applications alongside GNOME applications without any problems and without them sticking out like a sore thumb.

Any comments are appreciated.   I am trying to make GNUstep blend into GNOME as much as possible so that you can port your Cocoa apps to many different environments easily.

Sunday, November 21, 2010

Sony SNAP using GNUstep as it's development environment...

Sony SNAP is using GNUstep as it's development environment.   They are, apparently, going to use it as the basis for an SDK they're developing to build software for their Consumer Electronics devices, such as TVs and etc.

Here is the link:

We have been in touch with SONY about this and are very excited about the prospects.   More soon. :)

Tuesday, November 16, 2010

GNUstep Is Not OpenStep...

Hey guys.   I thought I would make this blog post to make a point: GNUstep is not OpenStep.  GNUstep is a Cocoa implementation and has been for quite some time.   I'm concerned that every so often in books or on blogs I see "GNUstep is an OpenStep implementation for Linux."  This statement is blatantly wrong in two different capacites: 1) GNUstep is Cocoa and 2) GNUstep works on Linux, Solaris, BSD, Windows, etc.

Let's also address a few other misconceptions.  GNUstep has been used to port a number of applications to Windows and Linux without any issues.  So when people say "GNUstep is incomplete" they, honestly, don't really know what they're talking about.  In most cases, GNUstep will contain whatever you need and, if it's not there then, for goodness sake, do the thing that supposed to be done in Free Software... implement it and contribute the code to us.

I'm beginning to wonder why so many people have trouble with this very simple concept.   Please, people, stop spreading misinformation about GNUstep.   GNUstep is not OpenStep, OpenStep is a dead standard.  GNUstep is [an attempt to implement a Free Software version of] Cocoa.  While GNUstep does retain some of the OpenStep methods which are useful, it is a Cocoa implementation at this point in time and I'm really tired of correcting people on this point.

Tuesday, August 10, 2010

GNUstep Development Visualization using Gource :)

I've just used gource to produce several videos to show GNUstep's development over the years.   I've only done the parts of GNUstep which reside under core and, of course, Gorm.

Special thanks to Andy Ruder for setting up his GNUstep git repositories at :)  Without these I would have had to suffer through the pain of importing GNUstep into git from SVN, not a painless operation. ;)

Hopefully, you'll see some familiar names from the past and present.

NOTE: I suggest viewing these in 720p (HD) as that will make the information easier to make out.

Here is Base:

Here is GUI:

Here is Back:

Here is Make:

Here is Gorm:

The command I used to make these was this (using gnustep-back as an example):

gource -s 0.01 --stop-at-end --highlight-all-users gnustep-back --output-ppm-stream - | ffmpeg -b 3000K -f image2pipe -vcodec ppm -i - ./gnustep-back.mp4

I was able to download gource using Mac Ports and also got ffmpeg from the same place and installed it on my MacBook. I also have gource built on my Linux box as well and it should work the same there for anyone who wants to give it a try. :)

Thursday, July 01, 2010

Analysis of the Bilski case

It's unfortunate that SCOTUS has ruled as it has on In Re: Bilski since this was a landmark opportunity to strike down the patentability of software.   Instead they bowed to business as usual and decided to preserve the patentability of software, so our fight goes on with respect to fighting this.

While it does seem to make software harder to patent, it doesn't go far enough and it seems to be too little too late.   More on this is here:

This is a frustrating day for me and many others, since it seems to make very little change to the status quo.   As others have said, this is a "no-op" and we're back to where we were before Bilski was even started.

Tuesday, June 29, 2010

Spam on my blog.... changing to members only for now...

I've recently been getting a lot of spam on my site, so I'm changing it so that only members can make comments.   I apologize for any inconvenience.

Sunday, May 16, 2010

Progress on Plans for Change...

The old blog post is here. Even though it's been four years, I'm happy with where things are at the moment. Over the past few years the following things from that list have been accomplished:

1) Adopt a more modern look. This includes the look of the windows, the color scheme and how the menus are rendered. It's okay to let that old gui go, it's not going to kill you to do so. ;) Users like things to look "good". This is entirely subjective. Personally, I think GNOME and KDE are quite ugly under the best of circumstances. To this end, we need to make integrated theming available in GNUstep and make it easy.

This has been accomplished by the Etoile folks without question. But my blog post was meant to push the project itself to adopt a more modern looking GUI. So far we haven't done that yet, but the mechanisms are in place now to do it. The theming engine is now much more capable than it was before and should be able to allow the creation of some killer themes.

2) Make regular releases. Start courting different distributions to include GNUstep in their package set. Start getting the word out. Start making sure that people KNOW that GNUstep is alive and well. This, I believe, is the main reason why people have the perception that GNUstep is dead. We don't push ourselves hard enough and into enough distributions to be visible enough for people to care.

Given that our last release was last year and it's now the middle of 2010, we've still got a long way to go on this one too. This release, however, was a big one since it included a lot of functionality, not the least of which is the theme engine I mentioned above.

3) Eliminate the need for, either by making GNUstep place it's binaries and libraries in more "standard" places, or by providing an installation procedure

We have a GNUstep.conf file in /etc/GNUstep which environment variables get read from.

4) Start appealing more to the Mac OS X/Cocoa crowd. While some people disagree with me, I believe that this group IS the group we need to be playing towards. In the past some have advocated that GNUstep be an "OPENSTEP-like" or a "Cocoa-like" environment. While I don't believe that GNUstep should necessarily follow all of the design decisions Apple has made, I believe that it should implement all of the classes which are useful and which are being commonly used in spite of whether or not people personally agree with having that class in GNUstep or not. A good, and recent, example of this is NSToolbar. It's not about us, remember, it's about them... the users and developers USING GNUstep. We are here to make life easier for our users not to make GNUstep into the epitome of "perfect design" by excluding classes we personally don't like. This is not productive and, not to mention, highly subjective.

This has happened. More free software and proprietary projects are starting to take notice of GNUstep and it's helped improve GNUstep since contributions have been made to the project which have increased stability, performance and efficiency for all concerned.

5) Focus and concentrate on one and only one set of display technologies per platform. We expend way too much time and energy on maintaining mulitple backends (xlib, art and etc) when we really don't have to. For Linux/BSD we have two functional backends and another on the away for cairo. What's the point of this? In my opinion we should complete the cairo backend and deprecate BOTH the xlib and art backends. xlib is hopelessly outdated and libart isn't really supported by anyone anymore.

This has happened just recently with Fred's recent change making Cairo the default backend. Cairo provides the ability for us to really forget about writing another graphical backend for any operating system that Cairo supports which takes an ENORMOUS burden off of the project and allows us to leverage the work done by the Cairo project.

6) Decide what we are. Yes, that's right. Some people view GNUstep as a desktop, others view GNUstep as a development environment. GNUstep needs to define itself as one or the other. The website says it's a development environment, but it has many aspects which fit the definition of a desktop environment. In truth, I believe it should be both.

This has happened and has worked out pretty well. GNUstep has defined itself as a development environment. GNUstep is what powers a desktop environment whether that is Etoile or just WindowMaker with GWorkspace.

7) Make GNUstep friendly with other environments like GNOME, KDE, Windows and etc. Make sure that GNUstep functions sanely in these environments. This might mean that we need to have behaviors for each different environment. How to implement this is unclear, but it's something that I believe would make the user experience better overall.

The recent theming capability has accomplished this. :)

I believe we should commit ourselves to getting the rest of these tasks completed. They should all help GNUstep move forward. Right now stability, and more applications are key for the project.

Tuesday, May 04, 2010

An Artist's Concept of GNUstep's redesigned UI

A few years back Jesse Ross came up with this concept for a new look for GNUstep.

I'm wondering if there are any ideas/looks/concepts we can glean from this which might be of use. I have always liked the general look of it.

One person I talked to about it suggested being able to "dock" the menu bar. That is... attach it to a particular place on the screen, such as the border or something so that it could act like the menu bar on OS X, if we really wanted it to. Interesting thoughts. :)

Saturday, April 24, 2010

A little fun with SIMH and OpenVMS

VAX/VMS has always been interesting to me. I'm currently a member of the OpenVMS Hobbyist program, so I have a copy of OpenVMS 7.3/VAX.

I decided to run it on SIMH which is an excellent collection of software aimed at preserving computer history through virtualization of obsolete machines.

I must admit that, for me, VMS brings about a bit of nostalgia, since it's where I cut my teeth. Some of the first systems I was ever lucky enough to play with when I was young were VMS systems and it inspired me to learn more and more about software and computers in general.

What I did here uses the latest version of SIMH built for PPC. You'll need to change SIMH a little in order to get it to build on the Mac, the instructions are here. Also, you'll need to follow Phil Wherry's excellent guide on getting VMS installed in the first place, that's here. And, finally, you'll need to get DECWindows installed, that information is provided here.

Information about the VMS Hobbyist program is available from HP and from this site. The only issue I found was that it takes a while to actually get the software since they want to first make certain that you have the membership so that you will not use the copy of VMS that they send for commercial purposes. :)

A fair amount of free and open source software is available for OpenVMS. I'm currently working on installing the latest version of GCC for VAX on my virtual VAX here.


Monday, April 19, 2010

Here's Toetag. Another example of portability. :)

Here's "Toetag." It's an open source Quake level editor being ported by Eric W.

As you can see he's been able to make a fair amount of progress in a number of things. The NSStepper/NSStepperCell for instance has been improved as well as Font display among other things.

Here's the original website here.

More to come... :)

Friday, April 09, 2010

TestPlant announces eggPlant for Windows based on GNUstep...

Please see the following link for the official announcement. Last year TestPlant released their application for Linux based on GNUstep on that platform as well.


Tuesday, March 16, 2010

Native File Panels done... on Windows with native file panels. :)

Wednesday, March 10, 2010

Progress on Theming...

Bean running on a Mac...

Bean running on Windows (along with Ink). ;)

Looking better... next up is native dialogs.

Sunday, January 24, 2010

Even more Windows stuff....

Looking better... next on the list native radio buttons and other widgets.


Friday, January 15, 2010

More Windows stuff...

More progress... actions are now being sent and the menu is properly rendering.

Saturday, January 09, 2010

Native Menus on GNUstep coming...

More progress. Native menus and scrollers. :)