[TYPO3-50-general] Wild ideas, long before their time: GUI and dev tools

Mathias Bolt Lesniak, liliO Design mathias at lilio.com
Sun Jun 22 12:54:42 CEST 2008


Hi!

I think I'm skipping some steps, but here's a rant about GUI and  
developer tools.

Preface: FLOW3 looks like it is going to be great. I am getting the  
same feeling as when I tried out programming for the Mac in Cocoa and  
Objective-C: It's making all of my dreams about programming reality.  
Congrats to the developers, I can't wait to set up my first Typo3 v5  
installation!

Lately, I've been developing a rather complicated Typo3 v4.2 backend  
module for a customer. It has lots of database relations and requires  
an easy-to-use GUI. That's HARD to do in Typo3 at the moment, and I  
started dreaming of a better world...

These are some ideas I got:


1) INTERFACE BUILDER FOR TYPO3
For you who have not programmed for Mac OS X, look here for a short  
intro:
http://en.wikipedia.org/wiki/Interface_Builder
http://www.youtube.com/watch?v=1Gdv94FzlDw (creating an iPhone app)

Problem:
If you are programming for Typo3 today, you can't easily create your  
own user interface for your own extension. You are stuck with the  
limits of the TCA or you must go and make your own interface almost  
entirely from scratch. Some of the things I'm often missing are:

     - Being able to place interface elements freely
     - Use "advanced" elements like steppers, sliders, calendars and  
drag-and-drop
     - Ajax interaction (data is saved on the server instantly, but  
not committed to the public version)
     - Designing my own and expanding/combining interface elements.

A lot of this can be achieved through third party extensions, but it's  
not really what Typo3 is designed for. Thus it only brings you so far.

Solution:
Why not let Typo3 v5 have an interface builder?

     - You can drag-and-drop interface elements
     - Drag-and-drop to assign actions to buttons and data to elements
     - You can preconfigure formatting, special functions etc.
     - You can generate new and analyze existing PHP view, model and  
controller class files and functions.
     - You can save it all as objects or configuration files.

I have tested some concepts in JavaScript, using Ajax, Prototype and  
Scriptaculous, and this seems fully possible.

In the Mac OS X Interface Builder you can create a working database  
application with NO lines of code! That means programming is fast, and  
you have more time to focus on features and usability.


2) WHY NOT A DESKTOP?
I noticed that when I imagined what I described above, I was imagining  
some kind of windowed operating system. And why not?

Problem:
For the end user the current Typo3 interface is not ideal. Many of the  
concepts used are far from what people are used to using on their  
computer. An example: Although it is a fairly straight forward  
concept, I often find myself trying to explain customers the  
difference between the Page and the List modules.

I often need to view multiple things at the same time, e.g.: a  
TypoScript template, a page content element and a preview. I can do  
this in Typo3 today, but to get up all of the three windows requires a  
lot of clicking.

Solution:
Make the Typo3 Backend into a web based desktop a la eyeOS (http://eyeos.org 
). Today's Typo3 backend modules are much like normal applications.  
Those applications again can have plugins to expand their features.

Editing a page's content would be like opening a file on your  
computer. Double-click it in the page list, and I imagine it would  
open in an application (called "Page"?) showing the content elements.  
You could have multiple pages and content elements open in different  
"windows", enabeling easy comparison.

This desktop-like Typo3 would be a very easy concept for users to  
understand, and through skinning it could be almost identical to  
whatever OS they've got on their computer. (Can the learning curve get  
flatter?)



Disclaimer: I'm not a part of the Typo3 v5 team, so I don't know which  
thoughts others may have, or what's preferred, but I hope this can be  
a source of inspiration. I'd love to help make it reality, though it  
goes beyond my programming skills and available time to get even close  
to it on my own. :-)



Best wishes, and keep up the good work!

Mathias Bolt Lesniak
LiliO Design - www.lilio.com
mathias at lilio.com



More information about the TYPO3-project-5_0-general mailing list