Welcome to the Direct Project programmer's guide. The programmer's guide provides a quick tutorial on how to build,deploy and test the reference implementation and prepare the developer commuity to work with the Direct Project source code so that they can either extend the source code, fix defects or just be part of the community that maintains the Direct Project.

The outline for the guide is listed below and comments/suggestions on topics to include/exclude are welcome through the discussion tab.

Introduction to the Direct Project.

This chapter will provide a top level overview of the Direct Project re-using a lot of the written material from the Direct Project Overview document. The topics that
will be discussed include User Stories, Abstract Model, and relevant Direct specifications.

Direct Project Architecture

The Direct Project Architecture chapter will provide the programmer's a top level view of
    • Software Architecture
    • Components and Protocols used
    • Security Architecture and Protocols
    • Deployment Architecture Options

Direct Programming using the Java Reference Implementation (RI)

This chapter will provide the developer community a quick hands-on tour on how to use the Java Reference Implementation and get their feet wet to start working
with the source code. The topics that would be covered in this chapter are:
    • Direct Java RI Overview
    • Getting Started
      • Programming Environment
      • Libraries and other dependencies required
      • Tools required
    • Code Repository and Organization
      • Downloading the Source Code
      • Understanding Package Structure
    • Compiling the RI
      • Build Options
      • Partial Builds vs Complete Builds
      • Compiling and Linking of the RI
    • Deploy and Execute the RI
      • Deploying the Reference Implementation
        • DNS Configuration
        • Certificate Creation and Configuration
        • Application Server Configuration
        • Direct Custom Software Configuration
      • Creating Test Accounts
      • Verify deployment of the RI using standard e-mail Clients
    • Testing the RI
      • Use Standard e-mail clients to test Sending and Receiving of Direct Messages
    • Extending the Direct RI
      • Direct Java RI Framework
      • Direct Classes and Interfaces
      • Writing your own implementations for the Interfaces
    • Best Practices and Coding conventions for the Java RI

Direct Programming using the C# Reference Implementation

This chapter will provide the developer community a quick hands-on tour on how to use the C# Reference Implementation and get their feet wet to start working
with the source code. The topics that would be covered in this chapter are the same topics that would be covered under the Java RI. Once we finalize the outline we
will replicate it here.

Open Source Instantiations of Direct Project

This chapter will provide the programmer's links and pointers to publicly available reference implementations, test harnesses and other resources that can be used
to get the developer community going.