What is Picture to People ?

"Picture to People" (P2P) is a huge Computer Graphics project. It was started to create new softwares able to make 2D drawing, 3D rendering, vexel drawing, text effects, photo effects, image filtering and other complex Computer Graphics operations. It has been made from scratch, including its low level Computer Graphics libraries like Maccala. Nowadays, most final features produced for this project are released as free online tools available from its official website. This blog talks about Computer Graphics, mainly concerning Picture to People development.

"Only who makes has true knowledge. Knowledge is control. True power depends on total control. Only who makes from scratch has the real power."

Showing posts with label widgets. Show all posts
Showing posts with label widgets. Show all posts

Friday, December 20, 2013

A new interfce is under development

Among dozens of things already planned or under development for Picture to People, there are one of them that I intend to finish next weeks and I'm very exited about.

This is not properly a graphic tool by itself, but it can help P2P to get some of its parts more beautiful and maybe easier to use. I'm creating, completely from scratch, a new template to be used in the project site.

In fact, it's not a "skin replace", since this new design is not compatible with the current one. I don't intend to change the tools I have already released, but I want to create a new interface paradigm to be used with some new tool to be published in future.

The point is: I'm preparing some kind of different online tools to gather older features in a easier way to use. So I'm trying to create a completely new CSS template that could achieve at least these goals:

- look simple and kind of clean;
- look a little more modern and beautiful compared to the current look & feel;
- offer an interface suitable to show many different and direct options to users;
- take advantage of high resolution screens, but keep working fine in low resolution monitors (800x600);
- be easily understood by user (as self-explaining as possible);
- use recent web development techniques to make it more beautiful and pleasant to use;
- share the same appearance in all modern browsers;
- even if it looks ugly in old browsers, at least keep working and usable in aged environments;
- be reasonably easy to maintain.

I'm not worried about back compatibility, so I prefer to imagine this as an interface to different tools that will be in the same site. I hope the users endorse the results of this effort when it's online.

 Subscribe in a reader

Tuesday, October 16, 2007

Advanced Interface X Portability

In Windows, the behavior of some widgets depends on one or another DLL version, which changes according to your OS version. Furthermore, some screen "objects" need a lot of programming to make advanced or specific tasks. This situation always invites you to make your screen classes.

It has been a long time since I started to worry about generalizing the screen tools I have to make my interfaces. A big system usually has hundreds of windows. It's not a good idea create one by one using raw pieces of code. When it makes sense, I want to create windows by reading configuration values dynamically. When it's impossible cause I need a custom behavior, there will be powerful screen classes to make the hard job.

But there is no perfection. I use windows specific resources to make my interface classes. In another OS, I can reuse several ideas and logics, but I'm sure there will be a lot of redevelopment. Mainly talking about softwares that need advanced interfaces to draw, drag, select, etc, can be hard to mimic a behavior in several graphical environments using the same source.

I didn’t want to use GTK+, Qt, or anything like that. You know how I like dependencies for this project. This libraries don't have everything I want ... If I had chosen one of them, I would need to extend it. I know I lose portability, but I prefer this way.

At least, the core will not have this kind of problem. In another environment (like X11 for example), the hard job will be only remake the interface layer.