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

What sort of Hackathons does the Foundation run?

The Foundation runs 4 to 6 hackathons each year, typically in this format:

  • Entries:
    • should leverage, integrate with, or extend the Symphony real-time collaboration platform.
    • should be developed as open source, preferably with an intent to contribute to the Foundation.
    • may use any technology platform or stack compatible with Symphony's developer surfaces.
    • should not be developed in part or whole prior to the event, although other preparatory work is encouraged (learning the Symphony extensions points, research & experimentation, etc.)
  • Entry is open to the public - any interested developer may join.
  • Participants may work alone, or form a team that submits 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).
  • Event are usually in-person at a single location.  Premises, network, and electricity are often generously provided by our members.
  • Events are usually one day in duration, with this approximate agenda:
    • 8:00am - doors open
    • 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 🗣

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

Pre-requisites

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

Open Source 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 "test pod" that's often used for development purposes - again, please check with your administrator and ensure they are able and willing to issue developer credentials to you.

Alternatively, the Foundation provides the Open Developer Platform (ODP) in support of the development of open source.  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 need 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 (.pem) file, and private key (.pem) with its password
      or
    • A key/certificate PKCS12 bundle (.p12) file, with its password

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