Page tree
Skip to end of metadata
Go to start of metadata

What sort of Hackathons does the Foundation run?

The Foundation runs a total of 4 to 6 public hackathons each year, typically in one of two formats:

  1. In-person hackathons
  2. Offline hackathons

Regardless of format, the following guidelines apply:

  • Entry is open to the public - any interested developer may join, regardless of overall or Symphony-specific experience.
  • Participants may work alone, or form teams that submit a single entry.  Each hackathon will have a dedicated wiki page where teams can form prior to the event (and this is strongly encouraged, to save time on the day).
  • All hackathon entries should:

Participants may use any technology platform or stack they wish, provided it is compatible with Symphony's developer surfaces.

In-person Hackathons

  • These events are usually held in-person at a single location.  Premises, network, and electricity are often generously provided by our members.
  • Entries should not be developed in part or whole prior to the event, although other preparatory work is encouraged (obtaining access to a Symphony pod, learning the Symphony extensions points, research & experimentation, etc.).
  • Events are usually one day in duration, with this approximate agenda:
    • 8:00am - doors open, attendees convene
    • 9:00am - development officially commences
    • 5:00pm - development ceases
    • 5:30pm - demos commence, 5 minutes per entry.  If there are lots of entries, we reserve the right to only have a shortlist of teams present.
    • 6:30pm - judging and prize ceremony
    • 6:45pm - 🍺 and 🗣
    • 8:00pm - adjourn, doors close

Offline Hackathons

  • These events are conducted over a longer period of time (typically at least 1 month), with no particular venue (participants work from their own premises, at their own pace).
  • Entries are developed over the entire course of the event - we encourage participants to start early so they can deliver the most compelling entries!
    • Note: we discourage the repurposing of existing source code - entries should be developed from scratch within the duration of the event.
  • The Foundation will typically offer weekly "office hours" for offline hackathons, so that participants can talk through their designs and have questions answered as needed.
  • In many cases a final in-person award ceremony will occur, and attendees are encouraged to attend those events in person (though attendees don't need to be physically present to be eligible to win - we will do our best to allow demoing via screen sharing capability).  The ceremony has approximately this agenda:
    • 5:30pm - doors open, attendees convene
    • 6:00pm - demos commence, 5 minutes per entry.  If there are lots of entries, we reserve the right to only have a shortlist of teams present.
    • 7:00pm - judging and prize ceremony
    • 7:15pm - 🍺 and 🗣
    • 9:00pm - adjourn, doors close

Other Types of Hackathon

The Foundation has also supported internal (private) one and two day hackathons at member organisations from time to time, but we strongly prefer that these events be made open to the public.  We've also toyed with the idea of hosting virtual one-day hackathons, but our experience has been that these tend to be less effective as it's harder for participants to get timely assistance during the event.

Pre-requisites

The following requisites should be confirmed well before attending a Foundation hackathon.

Review the Code of Conduct

Please review the Foundation's code of conduct prior to the event.

Open-Source-Ready Developer Laptop

Please come prepared with your own open-source-ready developer laptop.  By this we mean a laptop that:

  • has your preferred developer tools installed onto it (compilers, interpreters, build tools, etc.)
  • is able to access typical open source infrastructure (GitHubMaven CentralNuGetnpmPyPITravis CIVersionEye, etc.) without restrictions
  • you are able to install software onto (note: we don't requite installation of any specific software, but it is likely you will want to download and install libraries and tools that assist in your hackathon development)

Developer Access to a Symphony Pod

In order to develop code against the Symphony platform, you'll need developer access to a Symphony "pod" (aka instance, or tenant).  If you're a Symphony customer or partner you already have a pod, and should check with your administrator regarding developer access.  Most customers and partners have a non-production "test pod" that's often used for development purposes - again, please check with your administrator and ensure they are willing and able to issue developer credentials to you.

Alternatively, the Foundation provides the Open Developer Platform (ODP) in support of the development of open source projects.  If you're able to develop in the open during a hackathon, please feel free to request ODP access (requires a JIRA account - register for free here) well in advance of the hackathon, and we can set you up.  You do not have to be a Symphony customer or partner, or a Foundation member to request ODP access.

Either way, you will need all of these:

  • A regular (user) login for the Symphony Pod you'll be developing against
  • For each bot you're developing:
    • A public certificate file (.pem), and private key file with password (.pem)
      or
    • A key/certificate PKCS12 bundle file with password (.p12)

Testing Pod Access

We strongly encourage all participants to test programmatic access to their pod, well before the event.  This will ensure time isn't wasted on the day debugging connectivity and certificate issues.  The following table lists pre-built sample code in various platforms that can be used to perform these tests:

Project TypeEcosystemSDK / FrameworkGood Sample for Getting Started / Testing ConnectivityNotes
IntegrationJava


BotClojure


BotJava


Bot

.NET


BotPython


BotHubot (CoffeeScript)


Extension APIJavaScript


Embedding APIJavaScript

Windows-only, and requires the Symphony desktop application (Minuet).

Hackathon Project Ideas

The project ideas page has a list of potential projects you might choose to implement during a hackathon, if you're stuck for ideas yourself.  Please don't be shy about adding ideas to that page, whether you intend to work on them or not!

  • No labels