[GSoC 2009]PyMT application and widget repository
Posted: 03 April 2009 04:19 AM   [ Ignore ]
Joined  2009-03-30
Total Posts:  5
New Member

This is a very rough draft for an idea I had. Forgive the lack of detail: the time is currently 4:18 in the morning, and I am lacking sleep. The idea stemmed from this thread: http://nuigroup.com/forums/viewthread/4944/ but is more focused in intent and direction in that I want to do this for a specific application (PyMT) and thus should be easier to implement. 

As it’s a bit late for a complete proposal to be completely drafted and finalized, I’ll submit this to the GSoC site on approval or interest and continue editing the proposal there over the next couple of days. As always, your comments are very welcome!

Distributing applications is probably one of the larger problems a developer runs into. Perl has the CPAN, Python has PyPi, and various Linux distros have their own repositories for distributing applications and their source. Even entire platforms like the iPhone have their app store, where apps can be downloaded and installed directly. For the end user, repository browsers make finding applications a much smaller hassle than it usually is. For this reason, I considered an application similar to the iPhone app store, but written for PyMT. For the developer, distributing applications becomes a lot easier, as users can extend the functionality of PyMT directly through PyMT. And for the user, it saves a lot of time looking for applications and figuring out how to install them. For GSoC2009, I propose a graphical repository browser application and repository for PyMT.

The project will consist of two parts:
1. The application itself. This will exist entirely client side.
2. The repository. Exists on a server, contains code and other metadata necessary that the client requests. Developers will be able to add their applications here.

The application will provide the following functionality to the user (perhaps more, depending on how useful it is to the user):

Application search
-The virtual keyboard can be used for this!
Application browse
-Applications will be listed in repository based upon genre/type/purpose/etc in a treeview. Users can peruse through this.
Application download
-Rate and comment on application post download
Application upgrade - will check for newer versions of the application on the repository, and download them.
Application uninstall
-Removes the application files

Most of the above should be easy to implement in Python, however I’m currently unsure about how the schema for applications works in PyMT-installed apps don’t necessarily show up in the PyMT default launcher, but can be run outside of it by themselves. Can apps be added to PyMT? More research is needed on this.

I’m currently researching how other repositories (PyPI,CPAN,etc.) are implemented. I will be able to add a feature list for that tomorrow.

Posted: 03 April 2009 09:03 AM   [ Ignore ]   [ # 1 ]
Joined  2008-01-05
Total Posts:  163

Hi Bnookala,

Some quick questions:

- Is your application capable of understanding the dependencies of different packages, and install, eg ffmpeg package if a PyMT app requires ffmpeg? If so, are you going to use a DB repository for this, an XML file, or well-established frameworks? (DEB, RPM etc).

- Will your application be cross-platform?

- Are you going to provide service discovery feature? A central repository may know about other repositories, so you don’t have to type the URL addresses of those repos by yourself.

PS: Your work is indeed interesting, but needs some polish as there are rough parts and some question marks (to me, at least) grin

Good luck!