- Android Location Information (GPS)
- Android Accelerometer, Compass and Gyroscope
- Android Camera
- Android Soft-Keyboard
- Native OS X Interface (Cocoa)
- iOS Support
- NativeClient Support
-
Android Location Information (GPS)
Overview: We would like to provide an API for querying the GPS information of the device.
This may not yet be supported by the NDK, and will likely require the use of JNI calls to interact with Java objects.
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- Familiarity interacting with Java objects from the JNI
Difficulty: Easy
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com> -
Android Accelerometer, Compass and Gyroscope
Overview: We would like to provide support to the various sensors information available on Android in a uniform API. Among them the accelerometer, compass and gyroscope would be very useful. The NDK provides access to these sensors through the android/sensor.h header, and a number of samples shows how to access them.
Other sensors such as heart rate, humidity, temperature would be interesting as well, but the NDK does not seem to include the constant definitions for them. (Though with the proper values, they may be easily accessible since the struct declare related members).
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- Familiarity with the Android NDK
Difficulty: Easy
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com> -
Android Camera
Overview: We would like to provide an API to query the camera, the result of which should probably be returned in a Bitmap object. The Bitmap could already be allocated to avoid continuous reallocation for continuous feeds.
As the NDK does not seem to provide an API for the Camera, this will likely require the use of JNI calls to interact with Java objects.
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- Familiarity interacting with Java objects from the JNI
Difficulty: Easy
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com> -
Android Soft-Keyboard
Overview: The Android soft-keyboard should be made visible when the user activates an input field where text may be entered. We should also probably provide an API for the developer to bring up the soft keyboard programmatically.
This will likely require the use of JNI calls to interact with Java objects, as it is not exposed from the NDK.
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- Familiarity interacting with Java objects from the JNI
Difficulty: Easy
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com> -
Native OS X Interface (Cocoa)
Overview: Implementing a Cocoa interface driver to run natively on OS X. This would enable Ecere applications to run on OS X without requiring the X11.app. Improving integration with the Mac OS X, following Apple's development guidelines as much as is possible with our cross-platform toolkit aiming for a consistent look and feel on all platforms. At the moment we only have a skeleton driver implementation with stubs, with some handwritten Objective-C bindings so as to make calls to Cocoa.
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- Cocoa
- Objective-C
Difficulty: Medium
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com> -
iOS Support
Overview: We would like to support iOS as a target platform. This task would likely leverage from the previous task on Cocoa support, as Cocoa Touch is a related API.
Support for multi-touch should be implemented, and support the various sensors available on iOS as well (though this may be done in a separate task).
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- Cocoa
- Objective-C
- iOS development
Difficulty: Medium
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com> -
NativeClient Support
Overview: We're hoping to support deploying Ecere applications to the NativeClient (and/or PNaCl) platform. NativeClient has the advantage of running the code natively, which we expect would give better performance than the JavaScript code generated by Emscripten (with which we've already had some success running Ecere applications in a web browser).
The task would consist in writing an interface driver for Ecere applications to integrate with the NativeClient platform and experimenting with the platform.
Skills Required:
- Familiarity with basic object oriented programming concepts
- Familiarity with eC, C or another language in the C family (e.g. C++, C#, Java)
- NativeClient, PNaCl
Difficulty: Medium
Lead Mentor: Jérôme St-Louis <jerome@ecere.com>
Additional Mentor: Réjean Loyer <redj@ecere.com>