Art.Gnome.Org 3 Ideas board

This document is an ideas board about planned features in Art.Gnome.Org version 3. Feel free to submit your own ideas.

Initial Notes

This project was accepted in Google Summer of Code 2007 and the student's proposal can be found here. Another list of ideas more related with the AGO3 development in SOC can be found here.

System

  • Should be MVC.
  • Needs to be PHP4 (and will be working with php5 because of Drom's devel server :-))

  • Locales/translations support (supported by template system or we will write own system)
  • Site independent
  • UTF-8 site encoding
  • Error log (system can automatically check for broken themes, missing thumbs etc...)
  • Site themes & CSS must be out of CVS/SVN

Alternative:

  • Implemented as a Plone plugin.
    • www.gnome.org will use it
    • maybe the possibility to integrate the a.g.o and w.g.o i18n

Model

Are there any existing DAO systems we could use?

View

Possible template systems:

  • PHPTAL - XHTML based system - not really designer friendly (does this matter for us?), but does use gettext localisation

  • Smarty - Script style template language - more designer friendly but a new syntax

  • Inline PHP (Ruby-on-rails style) using alternative flow control syntax (if (foo): ... endif) - does not require an external library, but not as designer friendly as Smarty. Have to write any extra functionality from scratch.

Accessibility

/!\ Looking for helpers from Gnome HIG

Controller

Pure PHP :)

  • What about CakePHP? (Alberto Ruiz)

General features

Themes support

/!\ We will support official Gnome apps only

  • Simple themes ... {OK} DB

    • Gtk+ themes
    • Icon themes
    • Metacity themes
    • Splash screens
    • Wallpapers
    • Cursor themes
    • Sounds
  • Collections of themes ... {OK} DB

    • Complete themes (submitted at once)
    • Collections of themes (registered users can complete their own set of themes - will be cashed)

Theme sections

{OK} DB

  • New themes (waiting for users' rating, moderated by users via rating, themes with good rating are going to "Added", themes with low rating are going to Trash)
  • "Added" themes (with good user rating, moderated by users, themes with low rating are going to Trash)
  • "Trash" themes (themes with low user rating, visible for developers only, owner can do corrections and ask for new voting)
  • "Certificated" themes (the best of, moderated by admins and moderators)
  • "Archive" themes (old stuff)

{i} I wrote a post with more details: AGO3: At the begining --Drom

Theme features

  • Integrity checking (missing thumbs, broken tarballs... => error log) ... {OK} DB

  • Encourage users to migrate their files from .tar.gz and .tar.bz2 into .gtp (renamed .tar.gz) for the MIME facilities {X}

  • Theme variations ... {OK} DB

  • Changelog/Blog about new versions ... {X} DB

  • Related FAQ could be attached (for example "How can I install Gtk themes") ... {OK} DB

  • Comments ... {OK} DB

  • RSS/Atom feeds (comments, versions) - will solve bug #336721: https://bugzilla.gnome.org/show_bug.cgi?id=336721 ... {OK} DB

  • Theme resources (original theme, author webpage, used tools) ... {X} DB

  • Stats ... {OK} DB

  • Rating ... {OK} DB

  • "Depends" list ... {X} DB

  • ?Version history (can we use so many space on gnome server?) ... {X} DB

  • Tags (?system and ?user) - will solve bug #333289: https://bugzilla.gnome.org/show_bug.cgi?id=333289 ... {OK} DB

  • Multiple licenses for themes
  • ? There will be possibility to save names of themes used on each screenshot

User types

{OK} DB

  • Registered users
    • Customization
    • Themes rating
    • Creating customized theme packages (select your theme set parts)
    • Private messages, maybe customized RSS...
    • All usual features for registred users...
  • Developers
    • Same as registered users
    • Devel page for each theme (administration of own themes, discuss board for each theme, changelog, version RSS export, maybe simple blog, version history, changelog, ???)
    • Are able to see themes in "Trash"
    • Can add new theme projects, recall own trashed projects
    • Simply a tool for themes development (project pages, history etc.)
    • Devel page will solve bug #171406 https://bugzilla.gnome.org/show_bug.cgi?id=171406

  • Moderators
    • Same as developers
    • Can administrate "Certificated" themes
    • Can add "Added" themes to "Certificated" themes
    • Testing themes
    • Help/support little bit maybe
    • Checking for abuse etc.
  • Admins
    • Same as moderators
    • User administration, permissions etc.
    • Simply "root on ago system"

{i} I wrote a post with more details: AGO3: At the begining --Drom

There is the possibility is to implement an ACL System so users' rights become more flexible.

Developer tools

We should provide a goot tool for theme developers. Item means theme or wallpaper.

  • Versions changelog
  • Version history
  • Uploading tarballs, .gtp and thumbnails
  • User comments
  • User screenshots (like "Customer Action Shot!" on thinkgeek.com)
  • Item tag management (developers will be able to manage user tags on own items)
  • User bug reporting (list of reported bugs)
  • RSS/Atom feeds (item comments, latest version, bugs)

Page sections

  • Themes ... {OK} DB

    • Gtk+ themes
    • Icon themes
    • Metacity themes
    • Splash screens
    • Cursor themes
    • Theme sets
  • Wallpapers ... {OK} DB

    • Gnome
    • Nature
    • Abstract
    • Other
    • ... allow people to freely create tags and tag themes. Maybe a 20 tag limit?
  • Gtk+ engines ... {OK} DB

  • Screenshots ... {OK} DB

    • sub section for each stable Gnome version
  • News ... {OK} DB

  • FAQ ... {OK} DB

    • each theme type or wallpaper can show related FAQ
  • About page
    • explains a.g.o's philosophies, requirements, etc.
  • User pages ... {X} DB

    • User public profile
    • User private page & settings

  • Resources section ... {X} DB

    • Tools
    • Logos etc.
    • Links to related pages (live.gnome.org, for example Tutorials, GNOME Brand Guideline etc. and other theme pages)
  • Administration (in /admin/ ?) ... {OK} DB

    • User management
    • Content management
    • Well, the most of things should be configurable
    • Hide forbidden options; don't just say "access denied"
  • Config file(s)
    • All other configurations

Brainstorm

  • Search themes by overall color (color could be script determined, theoretically easy for SVG and PNG, no?).
  • Maybe out of scope here but if the files had the gtp extension as proposed it will also allow users to double click on the file to install instead of having to drag it into the theme window
  • Search 'Theme Sets' by intended user, ie: Corporate, Home, Techie, Children, Youth,
    • Theme components should be easily categorised (maybe in a method similar to Drupal taxonomies) so that for instance backgrounds could be easily sorted into aspect ratios, style, image content etc. (could be done with tagging; or a more orderly system -- maybe pre-created tags)
  • The site should be conveniently from software in the Gnome desktop (similar to the Get hot new stuff feature in KDE 3.4 or whatever it was called)
  • Do not continue to develop new versions of AGO, or atleast make sure the old one is working and being continuously updated during the time wich a new version is developed.
  • The site should have the possibility to pick up various themes, background, or what ever, and then download all of it.

-- a way to download and manage stuff of AGO3 would be cool (like the Gnome art manager program, but better)

Questions

  • The idea of 'Skins', 'Meta-themes' or 'Theme Sets' is not new. Here is a proposal for how the Gnome Desktop could make better use of them but more importantly there are some aspects that can serve as templates for how art.gnome.org presents such 'Theme Sets' to Gnome users. http://developer.gnome.org/gep/gep-2.html

  • I would like to point out a related on-going project called Epidermis. http://epidermis.tuxfamily.org . It tries to unite all aspects of the visual desktop, not just the GNOME ones but also things like grub bootsplashes, into one system, using units called 'pigments'.

Art Submission/Improved Community Website

Browsing Page

  • Preview thumbnails for all content.
  • Click of thumbnail pops up lightbox-type preview window, enlarging the image to 400x250.

    • Preview window could be 410x300, allowing space for padding and text below the image.
  • Show download options below the image:
    • Backgrounds could show "Download : size1link | size2link | size3link | 2560x1600 | etc."
    • Themes, icons, splashes or logins could show "Download : archive.tar.gz | altarchive.7z"

User Pages

  • On successful registration, a new user page is created and added to a db of users.

    • Use URL rewrite for easy access and link-sharing.
      • art.gnome.org/users/someusername -> shows a user's page.

  • If the the user is logged in, show a page of submitted uploads by that user:

    • Allow filtering of the results, eg. by upload date, popularity (number of downloads), or alphabetically by title (default is by upload date, latest first).
    • Allow user to edit information on a submitted works via an edit link below the thumbnail and an edit link on the preview window.

    • Allow user to delete own works, confirm deletion request with an alert.
    • Display message "Awaiting Approval" on newly submitted works and works that have not yet been approved by a moderator/administrator.

  • If another user or guest is accessing a particular profile, simply fetch and return all uploads by the owner of that profile and display them in the usual browsing format, without the edit links.
    • Allow filtering of results, eg. by popularity (number of downloads), or alphabetically by the titles of works in ascending order.
    • Hide works awaiting approval.

Upload Page

  • Only accessible and visible to registered users (mainly to prevent spam uploads, but also to save time on art info such as author, etc.).
  • Basic requirements for art uploading
    • The type of work being submitted (dropdown menu):
      • Background
      • Icon Set
      • Theme Set (can we combine controls and window borders? - pack them together as a completed theme?)
      • Login Screen
      • Splash Screen
    • License type (dropdown?):
      • GNU GPL
      • Public Domain
      • CC-BY
      • etc.
  • Use a jQuery form with uploading effects/display percentage of upload during upload.
  • Display success/fail message on completed/interrupted upload.
  • Redirect to user's page on success (show finish link), showing latest uploads first, including uploads from current session.

    • Again, latest uploads could show "Awaiting Approval".

Final Notes

Some things to think about:

  • Multiple Uploads
    • The jQuery upload form could potentially queue uploaded works, which could be displayed at the top of the page under a "Submission Queue", the user could then submit all the works in one go.
  • Validate email for registration
    • Prevent spam, validate email... auto approval by link click, sent to the registered email address.

Attic/GnomeArt/Ago3/Ideas (last edited 2013-11-27 14:33:52 by WilliamJonMcCann)