Difference between revisions of "Samples and Walkthroughs"

(Initial entry - work in progress.)
 
(Overview (Working in progress))
Line 4: Line 4:
 
The project is designed to increase exposure of Eiffel in a multi-facet manner with both the expertise of in-house Eiffel Software developers and employee as well as the Eiffel community.  
 
The project is designed to increase exposure of Eiffel in a multi-facet manner with both the expertise of in-house Eiffel Software developers and employee as well as the Eiffel community.  
  
 +
= The Problem =
 
Samples are not being produced at a rate to match changes in the Eiffel language so users outside of Eiffel Software are not always aware of new features or tips and tricks that make Eiffel a fantastic language platform. On the road map to ECMA compliance there are going to be a number of language additions that benefit all. Users are left with outdated or archic samples to base their projects on.
 
Samples are not being produced at a rate to match changes in the Eiffel language so users outside of Eiffel Software are not always aware of new features or tips and tricks that make Eiffel a fantastic language platform. On the road map to ECMA compliance there are going to be a number of language additions that benefit all. Users are left with outdated or archic samples to base their projects on.
  

Revision as of 09:45, 7 November 2006

Overview (Working in progress)

This page is dedicated to discussing the evaluation of Samples and Walk-through project.

The project is designed to increase exposure of Eiffel in a multi-facet manner with both the expertise of in-house Eiffel Software developers and employee as well as the Eiffel community.

The Problem

Samples are not being produced at a rate to match changes in the Eiffel language so users outside of Eiffel Software are not always aware of new features or tips and tricks that make Eiffel a fantastic language platform. On the road map to ECMA compliance there are going to be a number of language additions that benefit all. Users are left with outdated or archic samples to base their projects on.

Getting started with Eiffel is hard; there are small number of samples and tutorials dedicated to getting started with Eiffel, introducing the language and it's constructs. There are little walkthroughs to writing a first program using EiffelStudio, no samples for advanced concepts. As of today most samples and walkthroughs are attached to a Eiffel library and some libraries do not even have provided examples, forcing users to become hackers of sorts and read the library source code in order to figure out how to use it.

This needs to change!

Proposition =

What is being proposed is that Eiffel Software provides a means to access samples, where it be through a client application (a stand-alone or through EiffelStudio) or via a web interfaces. Samples should contains full descriptions, even an article, and be embedded with metadata for tools to consume. This metadata comes in the form of referenced technology (libraries, platform, etc), compiler version, descriptions, sample type and level.

As an extension, the new ECF format could be extended to reference sample URLs for instance access to associated samples on how to use the library

Proposed Metadata

Every sample created should be partnered with a sample description index file. The index file is to be used be client tool to display/hide samples based on user queries from such a tool. For instance a new user will most likely want only introductor samples and walkthroughs. If 100 samples are offered it would be a lot to wade through to find the applicable samples. In addition a new user want only those samples that pertain to learning the language and not any particular library.

Sample clients need to be able to consume information on samples in order to provide this functionality. Sample index file need to contain a section dedicated to sample metadata.

  • Name: Sample name/title
  • Synopsis: Brief description of the sample
  • Description: Full description and any information a user will need to know
  • Product: EiffelStudio | EiffelEnvision | Eiffel for ASP .NET | Other
  • Product Version: 5.7 | 6.0 | ...
  • Technology: Language, Eiffel for .NET, EiffelBase, ...



Examples Sites

There are parties out in the Eiffel community that are trying a single effort to rectify this but that leads to another problem - consolation. Sites such as Code Project and NeHe are good examples of consoladation and ease of access to samples and walkthrough.

CodeProject supports a community and supplies users


There are a limited number of tutorials

A Central Repository for Samples

If Eiffel Software or ETH were to host a Eiffel community site an RSS/ATOM feed could be offered. The metadata and description in each sample could be extracted and added to the feed when update. Samples that are update would also be added to the feed but with little information, more of a notification.

There could actually be multiple feeds for those interested in a particular technology. A feed for Eiffel for .NET, Linux samples, ... or whatever the community is calling out for.

You chance to participate

We've made this page public so the Open Source community can participate in the development of a samples and walkthrough platform. Our strategy is to not only maintain samples and walkthroughs ourselves but to have the community post samples, walkthroughs and articles also. Any feedback on our strategy, how to better distribution, things you like or don't like, let us know.

Development Roadmap

  • Create and finalize a proprietary sample specification using XML for use by client applications, web tools and other tools to offer content synchronization.
  • Add a community web site where samples can be downloaded or uploaded to.
  • Offer feeds from web site.
  • Develop a client application to use as a stand-alone that synchronizes with web content and provides the ability to download and refresh samples.
  • Integrate client application into EiffelStudio.
  • Extend community web site to allow authoring of articles related to Eiffel.