Last talk of the day, and of the conference - Bruce Badger is going to tell us how Smalltalkers can benefit from what he's doing with the OpenSkills organization - and how they use Smalltalk at OpenSkills. Here's Bruce:
What is OpenSkills? An open forum for networking and work support services. They provide a free, searchable skills base. They are a non-profit, so as an organization they have no money. So - all development is a volunteer effort, and Bruce, knowing Smalltalk and Java, would rather use Smalltalk (takes far less time. Observation: For consulting firms, Java is a great choice - takes 3x as long, so that's 3x the consulting dollars :)
They use WikiWorks for their Wiki. It works quite well, it's reliable, and it's fast. The SkillsBase is the pivotal application for them - Smalltalk is great for that because:
- They have an evolving data model
- They need to be scalable
- They need distributed development
- It makes good use of a scarce commodity - volunteer developer time
All of their web apps go through Squid as a reverse proxy, which gives them simple, secure connections. Their back end database is Gemstone. They've written the SkillsBase application so that it runs either in VisualWorks or in Gemstone - they actually run Swazoo out of Gemstone.
The membership system is a combination of:
- A complex and underdefined process
- lots of external interfaces
- little time
- Those are ideal for Smalltalk use, as it allows for easy evolution of the system as time and details allow
They are getting a lot of help from the open source community, both in Smalltalk and in Ruby. What do they see happening? They are seeing a lot of interest in Swazoo, Glorp, and Seaside. They are seeing a lot of interest in Squeak and Gnu Smalltalk. This is leading to an increased use of Smalltalk in the open source community.
What would Bruce like to see?
- More ANSI work (streams, files, FFI)
- More standardized ANSI interfaces for common libs (sockets, Dates/Times, etc)
- Deployment simplicity- a beginner should be able to deploy "Hello World" (as a deployed app, rather than as a dev env). Yes, that's top of my list