Difference between revisions of "Samples and Walkthroughs"

(Proposed Metadata)
m (Proposition)
Line 12: Line 12:
  
 
= Proposition =
 
= 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. Every sample should be attached to a description containing informative text and metadata for consumption by client tools.
+
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. In order for tools to be developed to support sample browsing, every sample should be attached to a description containing informative text and metadata for consumption by client tools.
  
== Extending ECF ==
+
== What Needs to be Done ==
 +
=== Requirements ===
 +
Eiffel sources can be compiled on multiple platforms and so any descripive index file needs to respect that.
  
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. This way all library vendors can automatically associate samples with their library and Eiffel IDEs can provide access to those samples.
+
Items that need to be considered when creating a specification are:
 +
* Most users probably do not have permissions to the install base of EiffelStudio samples need to be able to be copied to a local, write accessible user profile path.
 +
* An executable system may comprise of one or more components, especially in Eiffel for .NET so executable may need to be copied to a specific location
 +
* Execution may depend on resources found in a specific path
 +
* Building project without entering an IDE.
 +
* Documenting samples in a uniformed and simple manner.
  
 +
== Extending ECF ==
  
 +
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. This way all library vendors can automatically associate samples with their library and Eiffel IDEs can provide access to those samples.
  
 
= Examples Sites =
 
= Examples Sites =

Revision as of 10:55, 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 archaic samples to base their projects on. Their use of Eiffel is marred instead of enriched.

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 by reading 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. In order for tools to be developed to support sample browsing, every sample should be attached to a description containing informative text and metadata for consumption by client tools.

What Needs to be Done

Requirements

Eiffel sources can be compiled on multiple platforms and so any descripive index file needs to respect that.

Items that need to be considered when creating a specification are:

  • Most users probably do not have permissions to the install base of EiffelStudio samples need to be able to be copied to a local, write accessible user profile path.
  • An executable system may comprise of one or more components, especially in Eiffel for .NET so executable may need to be copied to a specific location
  • Execution may depend on resources found in a specific path
  • Building project without entering an IDE.
  • Documenting samples in a uniformed and simple manner.

Extending ECF

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. This way all library vendors can automatically associate samples with their library and Eiffel IDEs can provide access to those samples.

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.