On Di, 2013-08-27 at 13:46 +0200, [email protected] wrote:

And this is different from tracker in what regard?

> Hello Gnome contributors,
> 
>  
> 
> Few months ago I came up with an idea, relevant to developers of any
> application software. I mentioned it somewhere here on the lists, got
> feedback, made changes and started coding it.
> 
>  
> 
> Now I have a closer-to-final view of the project, and I'd like to
> suggest it here and hear what you think about it. It may be somewhat
> revolutionary, I hope not too much :-) I didn't find other good places
> to submit ideas and get feedback, so I decided to do it here. Busy
> people ignore long messages, so I'll try to make it short and simple
> (for more info contact me).
> 
>  
> 
> THE PROBLEM:
> 
> Many desktop apps need to work with data. Unlike helper utilities used
> by the application, the tools which control data are associated with
> real-world persistent information, and the information exists outside
> of the application.
> 
> And yet, it is treated almost just like application utilities: Normal
> programming language classes are used for both coding utilities (e.g.
> I/O streams) and for the actual data (e.g. a Task class in a Todo
> app). When saving and loading the data, the developer needs to choose
> a format and work with libraries (e.g. XML, JSON, INI).
> 
>  
> 
> In fact, programming languages are a too, of programming, not a tool
> for arranging data: Classes, functions, objects, etc. are suited for
> programming a flow of instructions which do useful work. Data is
> totally different in nature, and so data serialization formats and
> utilities were created, such as XML and RDF.
> 
>  
> 
> The problem is that XML and RDF and other tools are not easy enough to
> use, and either they're not adopted, or adoption means a lot of extra
> programming work (e.g. many Gnome modules write complex procedures for
> working with XML). RDF requires a higher learning curve, and very few
> apps have Semantic Desktop integration, even though this area has been
> around for years.
> 
>  
> 
> THE PROPOSAL:
> 
> I suggest a uniform system which allows developers to work with user
> data easily. It's fast, simple, very easy to learn. The backend can be
> easily be replaced, e.g. save to file, save to semantic datastore,
> save to remove service. Semantic Desktop and translation-to-RDF can be
> made without changing application code. The data models can be written
> separately from application code. Thus data model design becomes very
> flexible and separate from code, allowing it to be done by
> non-programmers.
> 
>  
> 
> How it works? There is a data-modeling language. Some kind of mix
> between Turtle and Python syntax, but the point is that it's extremely
> simple. Non-programmers can easily start using it. The language allows
> defining data types using primitive builtin ones (e.g. define ID type
> to be a 9-digit string), properties, classes and objects. I wrote a
> full tutorial already, but for people familiar with RDF, the concepts
> are related (but not exactly the same).
> 
>  
> 
> A well-planned API exists, which allows developers to work with the
> data models. Instead of defining programming-language classes, the
> developer can use the model directly from code, or write thin
> convenience wrappers which delegate the work to the model management
> utility.
> 
>  
> 
> Writing these models doesn't require any special skills. It's very
> easy using a text editor, but I plan to create a GUI too, so that
> complex professional models can be made easily. As a bonus, users can
> easily customize the models and make applications behave like they
> want them to, in a manner never seen before. Your TODO app doesn't
> implement certain Task properties? No problem, you can add them.
> 
>  
> 
> Using special very-dynamic GUI widgets, it's possible for apps to
> respond to changes in the model, and allow some kind of "data
> programming" to be done by users and developers without changing
> application code. Translation of models to RDF and storage in
> databases can be made by the backend easily.
> 
>  
> 
> This new way of handling data is very easy, and I expect applications
> can start using it much earlier than Semantic Desktop spreads, so apps
> will already be ready for full desktop integration, and enjoy the
> dynamic data models.
> 
>  
> 
>  
> 
>  
> 
> There's a Gitorious repo containing a tutorial and more info about the
> language and proposal:
> 
> http://gitorious.org/peer-review
> 
> I'm writing the software in C++ (could port/move to C/GObject) and
> later I hope to add API bindings for higher-level app programming
> languages, Python being in high priority. But that's small detail,
> right now I'd like to hear comments, suggestions, ideas, etc.
> regarding the proposal.
> 
>  
> 
> Thanks and regards,
> 
> fr33domlover
> 
>  
> _______________________________________________
> desktop-devel-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/desktop-devel-list


_______________________________________________
desktop-devel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to