Affichage des articles dont le libellé est seedkit. Afficher tous les articles
Affichage des articles dont le libellé est seedkit. Afficher tous les articles

mercredi 20 juillet 2011

Growing SeedKit

SeedKit being more than a year old, now is a good time to do a retrospective, get an overview of what's coming next and where you could help.

By lowering the entry barrier for building, distributing and maintaining a Gnome application, the SeedKit project wants to attract new contributors and make current developers' life easier.
The approach taken is simple: let developers reuse their web UI development skills, tools and community.
Furthermore, the resulting UIs will be more flexible, eyes-pleasing and dynamic, thanks to the amazing progress of the HTML/CSS/JS threesome in WebKitGtk and Seed.

So where are we now ?

We currently provide an GTK widget rendering HTML/CSS/JS content where native libraries and services are accessible from the JavaScript context.
DBus services, GObjects or custom code can be invoked and/or bound to DOM elements data and events.
End result: building an HTML UI communicating with local lower level systems is now possible. This might prove a great alternative to Gtk+ or Clutter.

For the full-blown SeedKit applications (lets call them hybrid for a minute) scenario, a runtime environment is provided. For now it only consists of a simple launcher but will hopefully be augmented with a standard library and a set of guidelines (mostly following the HIG 3) to ensure consistency among hybrids and 'classic' applications.

So yeah, you can run your hybrid application on your computer... Great, but how does it fall and deploy in the hands of the end-user you might ask ?

That's what is coming next.
We have no intention to build a versioning, dependencies and provisioning management system from scratch. Thus hybrid applications should be easily installed from distributions channels, namely packages and repositories.
Thus templates for .desktop files, rpm specs and debian recipes will be added soon to make the packaging a breeze.
If you are a bored packaging wizard, drop by the seedkit-devel list, we need you!

Another missing piece is the aforementioned standard library. HTML alone is far from providing the high-level concepts required to express a user interface naturally (sliders, modal windows, tree, list for example). Web developers already provided solutions in the form of libraries like Mootool, JQuery or ExtJs.
jQuery and its UI widgets will become the favoured target and will be packaged with each application or depended upon if provided by distribution's package. Some help with converting Gtk's Adwaita CSS to jQuery-ui would be great.
Also, we'll build jQuery-esque convenience wrappers for common operations like signals/events connection, data binding, internationalization and files access.

The vision and execution are still in their infancy so now is the good time for you to get involved, shape them to your tastes and need and have fun building the next big thing together ! Gnome developers, designers, web developers, translators, bug hunters will be welcomed with open arms.

Lets get in touch at the the Desktop Summit in Berlin, I'll hopefully present SeedKit in a BoF session.

jeudi 19 août 2010

Announcing the SeedKit library and SeedKit Viewer 0.1 release.

The SeedKit project is happy to announce the simultaneous releases of both the SeedKit library and viewer.
It is the first ever release of the SeedKit project.
SeedKit view's consumers, documentation writer, hybrid applications developers and contributors are welcome to test/modify/contribute. Any help gladly appreciated !

Notes
  • This is unstable development release. While it has had a bit of testing, there are certainly plenty of bugs remaining to be found. This release should not be used in production.
  • No API compatibility guarantee is provided. The interfaces are susceptible to change until the 1.0 release.
  • to pre-release testers : the project was split recently and changed its license terms, please update your copy of the original repository and clone the viewer one (see bellow).
What does it ?

With SeedKit, a developer can choose to define the user interface of a native application in pure web standard technologies (HTML/CSS/Javascript).
Alternatively a developer of an existing GTK+ application can embed a SeedKit view within the current interface.

What is it ?

The SeedKit project currently consists of two modules:
  • SeedKit library: HTML view Gtk+ widget with access to lower-level libraries and systems within its Javascript environment. It is build around the Gtk+ port of WebKit and Seed [1]. Licensed under the LGPL 3+ terms.
  • SeedKit viewer: a simple command-line viewer/launcher for applications whose views are defined in pure web standard technologies, while accessing lower-level libraries and systems (hybrid applications). Licensed under the GPL 3+ terms.

Examples of hybrid applications are provided in the examples/ directory of the seedkit-viewer package.

Download

SeedKit release packages are currently hosted on a personal public dropbox folder until a proper solution is found.
SeedKit library 0.1: http://dl.dropbox.com/u/5746554/seedkit-releases/seedkit-0.1.tar.gz
SeedKit viewer 0.1: http://dl.dropbox.com/u/5746554/seedkit-releases/seedkit-viewer-0.1.tar.gz

To follow the SeedKit development, you should clone the following repositories on Gitorious:
git://gitorious.org/seedkit/seedkit.git
git://gitorious.org/~scaroo/seedkit/seedkit-viewer.git

Building and installing

The SeedKit library compilation depends on the presence of :
* gtk-3.0 >= 2.90
* webkit-3.0 >= 1.3.3
* seed >= 2.31.5

The viewer only depends on the SeedKit library's presence.
Both can be compiled and install using the classic "./configure && make && sudo make install" sequence.

Contact

Concidering its low maturity, expect to experience bugs and misbehavior. Please report any issue, expectation or remark to the SeedKit mailing-list at seedkit-list@gnome.org until a proper bug-tracker is be set or used (hello sysadmin team ;)
Of course, drop a mail on the list if you want to participate in the SeedKit development too.

Happy coding !

mercredi 19 mai 2010

News and noteworthy in the SeedKit land

Due to my current professional engagements, SeedKit development slowed down the last few week on my side.
This did not stop others to take the flame with contributions from Javier Jardón and Elliot Smith related to the build system (autotools).
Also a first third-party application is currently being developed by Alan Forbes. This log viewer is a great showcase for SeedKit. Thumbs up.

lundi 22 mars 2010

Announcing SeedKit project.

Those last few days, I had the oportunity to spend some time on my pet projects. Being far enough for now and waiting gladly for some external help, I am ready to announce one of them : SeedKit.

SeedKit is a runtime environment for hybrid Web-ui/GObject applications.
Taking advantage of Seed bug #612590, SeedKit provides a Webview whose Javascript context is filled with Seed-provided GObject symbols.
It makes possible the creation of a ui using standard Web technologies, such as JS, CSS3 and HTML5 bound to lower level events and behaviours of GObject based libs and DBus services (WIP).

All it requires is the path to an html file (defaulting to ui.html in CWD). This file can include js files calling into GIR-provided symbols.
You can pass --inspector to be able to inspect dom elements dynamically and --script=file.js for a custom initialization javascript file.
Some samples (Notifications, GIO, DBus...)are provided in the examples dir.

The project is still in its infacy and suffers from serious issues. Notably the DBus binding is not in a working state, seems like the js context is cleared after first-level imports or something.

TODO (as of now) :
- define a system-wide css file for common theming.
- add a developer mode, with reloading button
- create a bug tracker, an agile management tool, a website, ML
- fix DBus binding (exposes a customly created dbus connection within native code ?)
- add samples of web-services integration ( Evolution Contacts on a google map ?)
- a runtime for widgets ?
- see what s come next :)

The sources can be grabbed at http://gitorious.org/seedkit and you can mail me at scaroo@gmail.com, in the wait of a proper ML.
Any code, help or idea appreciated. Contributions welcomed :)