Improve ecosystem for business apps

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Improve ecosystem for business apps

Torsten Bergmann
I appreciate a discussion on "Missing libraries" on this list but I dont know what
the result of this will be. If someone tells you that he requires webservice/SOAP support
so he can interact with .NET or Java systems will it be provided as library and maintained by
the community? If someone wants a good physics engine to start with his game
company in Pharo will the community provide one?
Sorry - but I doubt it.

Do not misunderstand me - it is good to know what libraries people need to move forward
with their business and support them or connect them if they do not know that a solution
already exist.

But IMHO the MORE important question should be more: how can we improve the ecosystem even
more so others can come in and write such libraries or applications.

  1. We should find a common style (package naming, test naming, documentation, ...)

  2. We should help people setting up an initial project (especially for repetitive tasks).
     Some kind of wizard/app builder that creates:
       - initial packages (like "MyApp-Core", "MyApp-Tests-Core"
       - a repo either on STHub, SS3, SqS, GitHub - for his account
       - automatically creates stubs depending on application type (for instance
         an inital window accessible from world menu when he uses Spec,
         an initial web app when he uses Seaside)
       - an initial predefined Metacello config
       - create a CI job easily if required

     Situation improved already a lot as we can see with Versionner in Pharo 3.0,
     PharoLauncher and the CI server. But we need one single setup tool because
     people often do not know about all the options and possibilities

  3. Work on library exchange (how can people provide libs and easily find/download/access/use them)

     Maybe with an Pharo App Store website with rating, descriptions,
     links, videos, ...

     And a better config browser with more content. My first implementation
     that is now part of Pharo already helps and people slowly use it - but there is
     much more potential in the idea itself and there are many configs and projects
     out there that are not yet part of the MetaRepoForXX

  4. Improve the libraries that are already there

       - DBXTalk should be moved forward so DB's can be easily accessible
         Without good RDBMS support you will lose most initial discussions for projects                        
       - same for ORM: we have Glorp, but it is not up to date and undocumented, not accessible
         in config browser, there is no CI job AFAIK
       - the UI builder for Spec is still not complete, should be finished and made part of the dev-image
       - still I can not use Pharo for scripting right out of the box
         as headless and stdio is not working on all platforms, to me it looks as if
         Coral is thrown away
       - more work on I18N (internationalization)
       - improve external binding support (FFI/NB with callbacks, easy wrapper generation, ...)
       - ...

     Instead of only working on the cool new things we have to find a way to
     improve and extend existing stuff.

  5. While I like Git, GitHub and efforts into this direction we should continue to improve our own
     toolset as they still allow for better customization. One example:

     STHub still it lacks source browsing, bug tracking, inbox support, CI reference, ...
     I would like to see a central place like STHhub to:
        - upload code and browse it even from a webbrowser
        - document the project in wiki syntax and use Pastell to provide HTML, Markdown, PDF chapters, ...
        - manage CI builds and see CI results
        - browse test coverage of my project
        - browse code critics results so I can improve quality
        - browse and fix issues
        - manage code contributions
        - ...

     I want to get any info on a project (look at project sites in Java/Maven which are quite
     nice - but a pharo solution could be even more dynamic).

  6. Collaboration support: the typical ST development is either a single person or a small
     team. We should change that, especially as for the base image many people collaborate
     and we already improved on that front.

     In the future collaboration tools will play a major role in development.
     Even in Squeak there was RemoteMorphic, Nebraska, and a WebCamMorph, ...
  7. Work on better widgets and allow theming of applications
     In the past it was necessary to look like the underlying platform.
     This is not the case anymore - but writing an own custom styled rich client app
     in Pharo is also not any easy task. Even with Morphic many things can be done.

     We should also add more typical widgets (date picker, week calendar, spinners,
     gauges, sliders, ...) that can be found in typical business apps.

     Also custom VM building with an own themed icon comes to mind.

  8. Connect and Amber (client side) and Pharo (server side). Maybe with the
     upcoming Tide and a better integration. Who knows, maybe Helios as the
     new Amber/Pharo IDE to work on client and server at once.  

  9. Improve Deployment in Pharo: better support for locking the image as
     business usually want to protect own code.  

 10. Provide premade business app images (for instance "Seaside+DBXTalk" or
     "Seaside+Mongo+Voyage" support) so one just has to load his application.
     Could be provided for other frameworks too (Amber, Aida, Illiad, ...)  
Lots of work, more work than clean the base image which is a heavy task by
itself. But even small parts of this could really improve the situation
to use more of Pharo for business apps. Step by Step.

I'm sure flowers will grow by itself - we just have to prepare the


Pharo-business mailing list
[hidden email]