LumberJaczk

New generation on-top-of-Web applications.

An open-source technology that enables better ways to get and use data and infomation on the Web.

About LumberJaczk

Is that some sort of wood-thing ? ...uhm, not really ;)

The Web as of today is a mass of documents, visually targeted information, user services, and bit of semantic crumbs and "web services" (APIs) here and there. Making applications or intelligence on top of this mess can be proudly called an art of hackery. Here comes the LumberJaczk and offers a sort of ... straight-forward axe-and-hammer tools and solutions.

Mission: Taste and build personalized, user-driven and more semantic Web. And share it with others - they share back.

This can be achieved by having good tools, community, ideas. At the moment LumberJaczk will approach two groups of people: Those willing to do innovations, who find it needed and fun to hack out and share their Web scenarios (contributors). And those using them in daily life (users). LumberJaczk is intended to be an open-source project released under GPL.

What can be such a scenario ?

Use-cases and Examples

Don't you find the following use cases to be truly useful:
  • Personalized search on portals/websites of your interest that no google-like search engine can offer. Providing you the results you want and the way you want.
  • Search for cars, flights, torrents, real-estate, news, used books, bikes.
  • Watch you investments, bank accounts and integrate it with business news.
  • Integrate websites and web application ...blog, images, ebay, contacts, google talk, news.
  • Monitor news, compare prices from the sources you want. Generate stats from historical data.
  • Automate websites testing
  • Semantization of web - transform Web-encoded data into pure data with meaning

Anyway, maybe you'd better see some real scenarios in action... or the LumberJaczk presentation slides.

For me personally, LumberJaczk helped me to buy my car. It provided me with the complete overview of available/new cars satisfying my needs, from local dealers I was interested in and the way I wanted. No search engine could give me this.
It also watches my bank accounts - because I would not let some 3rd party do this.

Principles and Sharing of Scenarios

So LumberJaczk is all about making and running scenarios. Moreover it's about sharing them with others. The following figure should illustrate the high level architecture and main principles:

High-level architecture of LumberJaczk and Scenario Sharing
  1. LumberJaczk is like a very light-weight virtual machine that is capable of running Web scenarios.
  2. It is intended to run as a client-side application.
  3. LumberJaczk can run either as a standalone desktop app or integrated in Firefox browser (an extension).
  4. Users can go to Web (or dedicated Scenario Repositories) to get the scenarios other people developed and shared.
  5. ...or just hack your own scenarios, or tweak existing ones.

Development, Download - Where is it ?

The technology is not publicly available at the moment -a (good) reason why..

In case of any questions, feel free to, contact me.

Getting Technical

LumberJaczk engine is built on Firefox (Mozilla) as an extension and reuses much of the browser's rich functionality. It can run either integrated in the browser or as a standalone desktop application.

Scenario

A scenario usually consists of:
  • Business logic (workflow, actions)
  • Scenario GUI [optional]
  • Data schemas [optional]

This all is packaged in to few kilobytes and ready to share across any platform. The installation is then matter of a mouse-click(s). Thus users can very easily mix their own collection of scenarios.

Features

LumberJaczk guts LumberJaczk guts
Workflow
The main component of the system is workflow engine. It allows execution of modeled business logic flow. Run, fork, iterate, join, interact, synchronize etc.
Libraries
Logical sets of commands and tools to ease navigation, extraction, datacleaning etc. This is where the dirty-job is usually done. And of course, the libraries are an ever-expanding territory :)
Actions
Each node of the workflow carries an action. To achieve big deal of flexibility an action has a form of a script (JavaScript) and runs in context that gives it access to the actual documents, outputs, parameters, commands and libraries.
Mozilla offers rich set of technologies to be used, for example: networking, DOM, RegExp, XPath, XML-RPC, AJAX, WS
Parametrization
This is a must. Parameters can be passed as runtime arguments or gathered through user interactions in the realtime.
GUI
Another key concept of LumberJaczk. A complete and GUI-rich user application can be provided within a scenario. Tables, graphs, menus, actions. Technically, any mixture of HTML, XUL, Flash, SVG is allowed.
User interaction
Interactions with the user (or remote server) may happen anytime during the process.
Data models
Pure "data" (usually extracted from Web) are stored using schema-based objects (XOutput). The data object can bind directly to GUI, or any other devices: wire, DB.
State
A scenario may be stateful and persistent. This can be useful for operations upon history data, recent queries.
Updating
A scenario can be automatically updated from if a new version is released.

FAQ

Q: What do I need to know to make my own scenario? JavaScript, HTML, basic DOM, XPath and some of LumberJaczk's infrastructure definitely. Then it depends how complicated and feature-rich scenarios you want to do: XML, RegExp, XUL, SVG, AJAX ...

Q: Why should I do searching this way? There will never be so many portals available as many different, personalized, secure, obscure, objective or focused information you may want. Companies either cannot do it, are not allowed to ...or would not profit from that.

Q: Too low level. Need to hack everything! You CAN hardcode everything, but you can also use some generalization an take more generic approaches - or employ some declarative approach, classifiers, NLP, or whatever wodoo magic. I know many people who build house from roof down ... we don't want to.

Q: Isn't it dangerous to let 3rd party scenarios/code run in my browser?
Yes, it is hell dangerous ;)