Simple Webkit is a reimplementation of major parts of the WebKit Obj-C API (WebView, WebFrame etc.). Internally it uses pure Obj-C. This keeps requirements towards the compiler low (there isn't Obj-C++ support for all embedded architectures). Another simplification is that it is completely based on the rendering engine of NSAttributedString and NSTextView instead of having its own. This keeps the code and binaries small for a full (X)HTML 4 compatible WebView (approx. 1 MByte). The presentation describes the internal architecture and the status of CSS and JavaScript integration.

+

Meet the GNUstep developers face to face, discuss current afairs of GNUstep, share news about the latest development and plans on GNUstep, improve collaboration between the several GNUstep related projects

| 10:30 - 11:15 || Fred Kiefer (moderator) || '''"Towards GNUstep GUI 1.0: what we need to get there and how to achieve this within the next year."'''

-

+

-

This talk will present recent experimental results from QuantumSTEP on several embedded devices. QuantumSTEP is a full mobile application suite (e.g. PIM, dialer, browser etc.). It is based on an experimental variant of GNUstep called mySTEP. Many optimizations have been applied to learn what has to be considered for embedded devices with tight memory and processing power constraints.

With the introduction of OS X 10.5 Apple had defined an gcc-extension for Objective-C which brings many interesting features to the language: garbage collection, properties, synchronization, fast enumerations, dot-notation for getters and setters, code blocks, etc. Although Apple provides their extensions back to gcc, integration is slow because it has to be tested against all other gcc features and also needs special considerations for different target architectures. So let's dicsuss another approach: write a preprocessor that maps the new Obj-C 2.0 features back to any existing Obj-C 1.0 compiler (plus some library calls if needed). This should allow to faster follow new developments of the language. The talk offers for discussion a flex/bison grammar for Obj-C 2.0 and some strategies for translating the new features.

+

-

+

-

|| lightning talk, discussion || t.b.d.

+

-

|-

+

-

| 11:15 - 12:00 || Fred Kiefer (moderator) || "Towards GNUstep GUI 1.0: what we need to get there and how to achieve this within the next year."

+

The GNUstep project has existed for 15 years now, still there was no 1.0

The GNUstep project has existed for 15 years now, still there was no 1.0

Simple Webkit is a reimplementation of major parts of the WebKit Obj-C API (WebView, WebFrame etc.). Internally it uses pure Obj-C. This keeps requirements towards the compiler low (there isn't Obj-C++ support for all embedded architectures). Another simplification is that it is completely based on the rendering engine of NSAttributedString and NSTextView instead of having its own. This keeps the code and binaries small for a full (X)HTML 4 compatible WebView (approx. 1 MByte). The presentation describes the internal architecture and the status of CSS and JavaScript integration.

EtoileUI is a high-level UI toolkit for Étoilé where elements visible on screen are abstract nodes to which pluggable aspects can be bound. The same uniform tree structure is used to describe any kind of structured content (composite document, application User Interface etc.) and the role of each node can be entirely changed at runtime by altering the aspects bound to it.

EtoileUI is a high-level UI toolkit for Étoilé where elements visible on screen are abstract nodes to which pluggable aspects can be bound. The same uniform tree structure is used to describe any kind of structured content (composite document, application User Interface etc.) and the role of each node can be entirely changed at runtime by altering the aspects bound to it.

Objective-C support in the main branch of GCC has faltered somewhat in recent years, with no support for any of the new features in what Apple dubbed 'Objective-C 2.0'. This lack of support for things like declared properties has, increasingly, made it difficult to port code from OS X to other platforms. More recently, Apple has focussed on clang, a new front end for the LLVM compiler infrastructure, supporting C, Objective-C and C++. This has made supporting new language features much easier.

Objective-C support in the main branch of GCC has faltered somewhat in recent years, with no support for any of the new features in what Apple dubbed 'Objective-C 2.0'. This lack of support for things like declared properties has, increasingly, made it difficult to port code from OS X to other platforms. More recently, Apple has focussed on clang, a new front end for the LLVM compiler infrastructure, supporting C, Objective-C and C++. This has made supporting new language features much easier.

The Objective-C runtime library provides a set of functions and data structures used to implement the dynamic behaviour of Objective-C. This is a Smalltalk-like object model, with dynamic message sending and introspection. LanguageKit is part of the Étoilé project and provides an interpreter, just-in-time, and static compiler back end, using LLVM, for implementing dynamic languages.

The Objective-C runtime library provides a set of functions and data structures used to implement the dynamic behaviour of Objective-C. This is a Smalltalk-like object model, with dynamic message sending and introspection. LanguageKit is part of the Étoilé project and provides an interpreter, just-in-time, and static compiler back end, using LLVM, for implementing dynamic languages.

| 16:30 - 17:00 || David Chisnall || "Porting Cocoa apps to other platforms: what works, what doesn't, what to do to make porting easier."

+

| 16:30 - 17:00 || David Chisnall || '''"Porting Cocoa apps to other platforms: what works, what doesn't, what to do to make porting easier."'''

GNUstep began life as an implementation of the OpenStep specification. Now, the most well-known implementation of OpenStep is called Cocoa and is the recommended way of developing software for Mac OS X and the iPhone. GNUstep has continued to track these changes, and has become a good way of porting code from Mac OS X to Windows or *NIX.

GNUstep began life as an implementation of the OpenStep specification. Now, the most well-known implementation of OpenStep is called Cocoa and is the recommended way of developing software for Mac OS X and the iPhone. GNUstep has continued to track these changes, and has become a good way of porting code from Mac OS X to Windows or *NIX.

With the introduction of OS X 10.5 Apple had defined an gcc-extension for Objective-C which brings many interesting features to the language: garbage collection, properties, synchronization, fast enumerations, dot-notation for getters and setters, code blocks, etc. Although Apple provides their extensions back to gcc, integration is slow because it has to be tested against all other gcc features and also needs special considerations for different target architectures. So let's dicsuss another approach: write a preprocessor that maps the new Obj-C 2.0 features back to any existing Obj-C 1.0 compiler (plus some library calls if needed). This should allow to faster follow new developments of the language. The talk offers for discussion a flex/bison grammar for Obj-C 2.0 and some strategies for translating the new features.

This talk will present recent experimental results from QuantumSTEP on several embedded devices. QuantumSTEP is a full mobile application suite (e.g. PIM, dialer, browser etc.). It is based on an experimental variant of GNUstep called mySTEP. Many optimizations have been applied to learn what has to be considered for embedded devices with tight memory and processing power constraints.

Organizers

Who will attend FOSDEM

One of the main reasons people attend the event is that you can meet, and talk directly to, other developers, whom you would otherwise meet only virtually (on mailing lists, emails, newsgroups, IRC etc.). We expect many lead developers and contributors to be present, so if you have never met them, you shouldn't miss this occasion!

The following is a list of people of GNUstep fame who have confirmed (or denied) that they will be able to join us at the GNUstep meeting at FOSDEM 2010:

Dev-Room Presentations and Events

Call for participation

We are looking for people who want to give a talk, moderate a discussion, hold a hand ons (practice) / hacking session or organize a code sprint. Please send your proposals to GNUstep discussion list, the organizers mentioned above or - if you've got a wiki account - enter them right here. At first a title, a short summary, proposed duration and a preffered time slot would do, so we can start scheduling as soon as possible.

deadline for filing is Sunday 2010-01-03, deadline for the papers is Sunday 2010-01-10

Note: The FOSDEM organizers strongly recommend a granularity of 15 minute blocks. So if a talk is just 15 (lightning talk), 30 or 45 minutes long - fine! But we should have 15 minutes breaks between the talks so that the visitors have enough time to find a seat and the presenters have enough time to get ready.

Schedule

Time Slot

Author

Title / Abstract

Kind

Slides

Sunday, Feb 07, 2009

09:00 - 10:15

GNUstep Developers

"GNUstep Developer's Meeting"

Meet the GNUstep developers face to face, discuss current afairs of GNUstep, share news about the latest development and plans on GNUstep, improve collaboration between the several GNUstep related projects

meeting, discussion

-

10:30 - 11:15

Fred Kiefer (moderator)

"Towards GNUstep GUI 1.0: what we need to get there and how to achieve this within the next year."

The GNUstep project has existed for 15 years now, still there was no 1.0
release of the graphical framework. This may change within the current
year.
This discussion will focus on the outstanding tasks for a 1.0 release of
GNUstep gui and how they can be achieved.

Simple Webkit is a reimplementation of major parts of the WebKit Obj-C API (WebView, WebFrame etc.). Internally it uses pure Obj-C. This keeps requirements towards the compiler low (there isn't Obj-C++ support for all embedded architectures). Another simplification is that it is completely based on the rendering engine of NSAttributedString and NSTextView instead of having its own. This keeps the code and binaries small for a full (X)HTML 4 compatible WebView (approx. 1 MByte). The presentation describes the internal architecture and the status of CSS and JavaScript integration.

status, architecture, demo, discussion

t.b.d.

12:15 - 12:45

Quentin Mathé & David Chisnall

"Étoilé: Where it is, where it's going, why it isn't there yet."

In this presentation, we will take a look at the Étoilé history back to 2004 when the project started, and why we haven't yet released a version aimed at end users.
Over the years we realized more experimentation time was needed to succeed. Which has gradually led the project to take a more radical and slow path. We will explain how and why we changed our priorities and expanded the scope of the project in several directions.
We will also discuss the project status, our current work and what can be expected in 2010.

status, discussion

t.b.d.

13:00 - 13:45

Quentin Mathé

"Fast and Flexible UI Development with EtoileUI and Smalltalk."

EtoileUI is a high-level UI toolkit for Étoilé where elements visible on screen are abstract nodes to which pluggable aspects can be bound. The same uniform tree structure is used to describe any kind of structured content (composite document, application User Interface etc.) and the role of each node can be entirely changed at runtime by altering the aspects bound to it.
All User Interface concerns such as layouts, tools, action handlers, styles, model objects etc. are pluggable aspects which can be easily reused and recombined.

In this presentation, we will give a general introduction to the EtoileUI framework available on any GNUstep platform and also Mac OS X (EtoileUI is Cocoa compatible).
We will discuss which problems EtoileUI tries to solve, how it integrates with the GNUstep/Cocoa AppKit, and how it moves away from the monolithic widget model used by most other UI toolkits to support treating the User Interface as a permanent prototype. Finally we will show various examples written in Smalltalk and Objective-C to illustrate some key ideas and their benefits:
- Everything can be changed at runtime
- Represents the whole screen as a composite document
- Closer to the mental model we use to describe a User Interface

t.b.d.

t.b.d.

14:00 - 14:30

David Chisnall

"Objective-C 2.0: libobjc2 and Clang, current status, plans for the future."

Objective-C support in the main branch of GCC has faltered somewhat in recent years, with no support for any of the new features in what Apple dubbed 'Objective-C 2.0'. This lack of support for things like declared properties has, increasingly, made it difficult to port code from OS X to other platforms. More recently, Apple has focussed on clang, a new front end for the LLVM compiler infrastructure, supporting C, Objective-C and C++. This has made supporting new language features much easier.

Objective-C also requires a runtime library to implement the dynamic features. This talk will discuss the GNUstep runtime (libobjc2), which provides most of the features required for Objective-C 2 and it's support in clang, as well as the plans for the future evolution of the Objective-C support on non-Apple platforms.

t.b.d.

t.b.d.

14:45 - 15:15

David Chisnall

"LanguageKit: Supporting other dynamic languages on the ObjC runtime."

The Objective-C runtime library provides a set of functions and data structures used to implement the dynamic behaviour of Objective-C. This is a Smalltalk-like object model, with dynamic message sending and introspection. LanguageKit is part of the Étoilé project and provides an interpreter, just-in-time, and static compiler back end, using LLVM, for implementing dynamic languages.

This talk will discuss the implementation of LanguageKit and cover some of its current and potential uses. LanguageKit is used to implement Étoilé's Pragmatic Smalltalk, which generates classes that are ABI-compatible with Objective-C, meaning that Objective-C and Smalltalk classes can subclass or extend each other, with no bridging overhead. In common cases Smalltalk performance is similar to that of Objective-C.

t.b.d.

t.b.d.

15:30 - 16:15

Nicolas Roard

"CodeMonkey, an integrated development environment (IDE) for Étoilé"

Étoilé allows (and encourage) programs to be written in
Smalltalk instead of Objective-C, as our Smalltalk implementation,
Pragmatic Smalltalk, directly integrates with the Objective-C runtime.
That way, programmers can get the best of both world, mixing Smalltalk
and Objective-C freely. But Smalltalk, being a dynamic language by
nature, authorize a more powerful development environment, and
CodeMonkey wants to implement such an IDE for Étoilé.

CodeMonkey is heavily based on LanguageKit, and people interested by
the low-level implementation of Pragmatic Smalltalk are strongly
encourage to assist david chisnall's talk!

t.b.d.

t.b.d.

16:30 - 17:00

David Chisnall

"Porting Cocoa apps to other platforms: what works, what doesn't, what to do to make porting easier."

GNUstep began life as an implementation of the OpenStep specification. Now, the most well-known implementation of OpenStep is called Cocoa and is the recommended way of developing software for Mac OS X and the iPhone. GNUstep has continued to track these changes, and has become a good way of porting code from Mac OS X to Windows or *NIX.

This session will begin with a short talk, covering the overall state of GNUstep from the perspective of a Cocoa programmer, followed by a short demo moving an example application from OS X to FreeBSD.

With the introduction of OS X 10.5 Apple had defined an gcc-extension for Objective-C which brings many interesting features to the language: garbage collection, properties, synchronization, fast enumerations, dot-notation for getters and setters, code blocks, etc. Although Apple provides their extensions back to gcc, integration is slow because it has to be tested against all other gcc features and also needs special considerations for different target architectures. So let's dicsuss another approach: write a preprocessor that maps the new Obj-C 2.0 features back to any existing Obj-C 1.0 compiler (plus some library calls if needed). This should allow to faster follow new developments of the language. The talk offers for discussion a flex/bison grammar for Obj-C 2.0 and some strategies for translating the new features.

This talk will present recent experimental results from QuantumSTEP on several embedded devices. QuantumSTEP is a full mobile application suite (e.g. PIM, dialer, browser etc.). It is based on an experimental variant of GNUstep called mySTEP. Many optimizations have been applied to learn what has to be considered for embedded devices with tight memory and processing power constraints.

has internet access, will make breakfast room available for developers after 11:00 am. Two electrical plugs for breakfast room, so need extension cord with additional plugs. Ask for first or second floor rooms close to reception for good wifi connections.

If you want to participate, you need to create an account and send a mail with your user name to webmasters [AT] gnustep.org to request write-access. We are sorry for the inconvenience, but this procedure has become necessary to prevent SPAM'ing of this site.