Monday, November 02, 2009

Theme module for SystemPreferences


I implemented a new preference module for System Preferences. It allows the selection of the preferred theme system-wide for the current user (NSGlobalDefault GSTheme)

This is finally the way an end-user should set his preferred theme, since currently either the command line was needed (defaults write) or only per-application setting was possible.

The module uses themes for GSTheme and they can be created with thematic. It displays a short description, the author, if available the version, the icon and a small theme preview. Since it would be almost impossible to do a preview in a subview, each bundle can carry an image of its preview.

The user can "Apply" the theme which means essentially to set the selected theme to the SystemPreferences application as a sort of preview or to Save, which writes the default permanently.

In the attached screenshot, you can see that the "ThinkDark" theme is applied temporarily and that the user is inspecting the Neos theme. The rest of the system however still runs the standard theme.

Thanks to the dynamic loading capabilities of GSTheme, after saving the theme all application get the new theme immediately.

The Themes module supersedes the Color Schemes control panel which is thus now no longer built and installed by default, although it remains available.

System Preferences 1.1.0 was thus released, combining some other minor code and makefile improvements already present

Up-to-date themes are present in the GAP CVS repository, they will be re-released soon.



Labels:

Tuesday, October 20, 2009

DataBasin and deletion of Salesforce records


I implemented delete in the Salesforce.com API Layer (DBSoap) of DataBasin.

The screenshot shows DataBasin running on the Mac, natively built in Xcode.

Delete is capable of deleting an array of records, on top of this I implemented a convenient function: QuickDelete. Just enter a Saleforce.com ID and delete it.

Full handling of the error results is still missing, currently only the verbose message are retrieved. For the QuickDelete an error gets conveniently displayed as if it were an exception in a small scrollable panel.



Labels:

Wednesday, October 14, 2009

Grr: RSS to go on GNUstep


Guenther Noack, the Author of Grr, donated the appreciated RSS Reader  and its Framework RSSKit to the GNUstep Application Project some time ago, since he had no time to maintain it anymore. I will not promise anything, but as it is usual for GAP projects we try hard to make our programs compatible.

Thus Grr got a general make up of crash fixes, makefile fixes and warning fixes. Then an extensive work of removing forward declaration of Protocols was done so that compilation on gcc 29.5 is now possible, expanding the list of platforms where to run Grr on.

I compiled and ported Grr to the MIPS based Letux 400 netbook as can be seen in the screenshot. Grr uns perfectly and thus tracking RSS on the small device is now smooth as butter. RSS everywhere with you!

Labels:

Friday, September 25, 2009

OpenOffice frustration

Subtitle: Why OpenSource continues to fail in many sectors.

Now. this is going to be a negative post full of criticism. Beware and decide if you want to stop reading. A rant.

A premise: I have mainly two uses of Open Source: the first is personal. That means I do stuff for myself. Or maybe I use it with my development of Open Source. That means I use it within a clean environment. Mostly I use developer tools but also Office and Graphics tool. But it is easy, I send material to a colleague that means he is most probably using the same thing.

The real problem is the second use: real business. Here things immediately take another turn. There are no excuses. My main rant is against OpenOffice and MS Office incompatibility. There are no excuses possible!

The new shiny 3.1.1 is out there and once again I give it a try. It is so appealing to have an alternative. An alternative which I can also use on Linux, on BSD or on Solaris. And on Windows of course. I notice many improvements, the applications on Windows XP looks good. I am pleased that OO did not yet follow the terrible "new MS style without menu bars and big fancy icons". I know it will happen, but for now it is fine.

But what is the real world task I need to solve? Take a file from a colleague, work on it, give it back. Sounds simple, doesn't it?

I take a power point file, modify it, give it back.

The file is ruined, the graphic images are broken. Things gets misplaced, connectors are broken...

The verdict is just one: OpenOffice is unusable in the real world. So sorry to say that. 

I reported a similar bug in Word documents about a year ago. The comments were more or less useless. Like "duplicate" or "we are different". Now indeed, there are a lot of bugs about similar problems posted. With that philosophy you can't go far with applications that need to inter-operate.

Also, I may note, that OpenOffice clearly dips into MS Office footsteps. It is not a "different" office suite. It is a suite that wants to appeal the MS user. You see it in almost every detail of the user interface. Also, the compatibility is actually high, but not enough. There are no excuses.

Heck, OpenOffice has that small office assistant even! But corrupts diagrams? 

Yet some of the compatibility bugs are there since months, years even. I do not care in this case on how much I can do "within" OpenOffice itself: I am not making a slide presentation for FOSDEM, I am making one for someone else, that someone else will be using MS Office or, in any case, expects that as an exchange format.

Labels:

Thursday, September 03, 2009

Neos: make-up for GNUstep


I released today a first version of Neos, a new theme for GNUstep. It is not yet a definitive release, but perfectly usable. More subtle, with less contrast. Yet I intend to retain the NeXT spirit to the maximum.

I will try to make minor releases which each change I implement, up to a first official release.

The theme is done inside Thematic and also illustrates the progress done on that front, the current Neos version is code-less and consists only in new pixmaps and other point-and-click configurations.

The Neos theme is part of the GAP project and there I created an extra section to collect themes, wallpapers, color schemes to offer an easy way to adapt and customize the GNUstep interface, something which gets often criticized.


In the screenshot, the Gorm document and palette with the new theme.

Labels:

Friday, August 21, 2009

DataBasin is now able to create records in sfdc


DataBasin is now able to create records in SalesForce.com starting from a CSV file.

First, as shown in the screenshot, the already implemented method describeGlobal retrieves the available objects to insert into. Once the user selects them the CSV file is read and the objects get created.  There is no provision yet for mapping the fields, the first line is assumed to contain the field names.

The API implemented by DBSoap is now getting a little more complete step after step. The basic operations of creation and query are already possible.

Labels:

Saturday, August 08, 2009

describeGlobal implemented in DataBasin

I implemented describeGlobal in the DBSoap layer of DataBasin which communicates with salesforce.com. Thus a list of all objects in the system can be queried, standard and custom objects. The return is just an array of strings.

Step after step I am recreating a simple API interface to the salesforce.com Web services in pure Objective-C.

Labels: