Seedkit
Define your UI in web-standards, use your GObjects
The community, libraries, authoring tools and advanced graphical features of web standards makes them a compelling UI declaration solution.
With SeedKit, even local native Gnome applications can present a graphically-rich experience using those technologies.
Hopefully, it will be rendered obsolete when webkit-gtk implements such facility. The JavaScript API wont be affected by such a change.
Previous Art
Palm/HP WebOS SDK Mozilla JetPack ,
What ?
SeedKitView is a WebKitView augmented with selected Seed-provided GObjects. The JavaScript code might manipulate both the DOM and lower-level services.
The declarative nature of the approach minimizes or eliminates side effects by abstracting the developer away from complexities and enforce clear segmentation.
Whether using the Web Inspector or your favorite editor, modern graphical features of WebKit such as animations, transitions and dynamic layout are available to toy with.
Security-wise, seedkit always disallows remote access for the Seed-augmented Javascript context. Web page that wants to integrate with the desktop must provide some code installed the user executed in a separate context.
To be remotely comparable feature-wise to standard widgets toolkits, SeedKit will settle on a blessed JavaScript library. Using its idioms, usability and styling enforcement, and services bindings will be provided.
For Web developers, Designers, Idea boxes
seedkit-viewer runs applications whose both UI and logic are built using HTML/CSS and JavaScript. There, selected desktop and system services can be made available. Running and packaging those hybrid applications is made easy by distribution packages and .desktop file generation.
As an existing application developer
- Your existing application might benefit from some UI refreshment and more design-oriented contributors.
Embed a SeedKitView somewhere, give selective access to some application logic and data. And voilà.
As a Website developer
- Your Web application could enjoy first-class integration with the Gnome Desktop services. For security reason, it will be runned in a sandboxed viewer and the user must grant authorization for those access. No arbitrary content must have access to those GObjects.
As a user:
Enjoy graphically and usability-wise rich interfaces for your local applications. Tweak their UI with the inspector and contribute back
Installation
The Git repository can be found at http://gitorious.org/seedkit
For a Guide on setting up SeedKit refer to the Installation Instructions.
Licence
libseedkit is licensed under the LGPL 2+ terms.
seedkit-viewer is licenced under the GPL 2+.
Contributing
Collaboration
Major releases will follow Gnome six months cycle. Working tarballs will be provided bi-weekly. A minor release might happen if it builds, passes tests, runs and contains important changes.
The API is unstable until the first release hopefully for 3.4. From that date, maintenance of the stable branch and development of the next major revision will happen in parallel.
Ideally we would follow an agile way to express requirements: user stories. The focus on the functional aspect instead of going into technical details. They let the developer free of implementing the way he wants as long as the functional and unit tests are green. A bug tracker and testbot should be set up, and a backlog manager used.
For now, the ToDo keeps working items that will be scheduled in the RoadMap. Of course you can add you desired items there.
Project discussion happens on seedkit-devel mailing list.
Translators and documentation writers
Any help with translating the very few seedkit-viewer string and writing documentation warmly appreciated!
Bored Developper
There is plenty to do to have an impact.
SeedKit technical overview might be a good starting point before snorkeling within the API and Security.
Contributors/co-maintainership is gladly welcomed, you are free to fork the gitorious project and play with it.
Bored CSS-guru
Some cascading mastery will prove very useful to generate a JQueryUI css from the Adwaita gtk theme.
Bored early adopter
Give us your feedback using out bug tracker and wish list.