Version 12, last updated by acjeffcarl at August 27, 2011 12:33 UTC

This page contains ideas for new tools that bounty developers might want to work on.  To make a proposal, email enhance@assembla.com .

Our high priority list includes Google Wave, Scrum planner, improved chat, improved Time reporting, and wiki upgrades.  We will fund a project to build one of those tools, as soon as we get a good proposal.

Other tools have lower priority, and it will be more difficult to negotiate funding for them.

You can submit proposals for tools that are not on this list, if you understand the feature, and you need it for your own use, and can identify a specific type of user that needs the tool, or you are integrating with other services that have a lot of users.

Please submit a specific description of the feature.  Rough drawings may be useful.  Make a special note if any new servers are required by your architecture.  Make a non-binding estimate about the delivery date.  The budget should be between $1K and $10K.  Assembla will pay 50% on getting a first version to test, and 50% on release.  You will also get a chance to add your logo, a line of text, and link to the bottom of the tool for as long as you maintain it.

Priority

Scrum planner

Scrum iteration planner that works with Assembla tickets and milestones.  It should have a fast and fun ajax interface.  Add and remove tickets.  Move tickets from backlog into the current iteration.  Assign story points to tickets.  Show total story points for a milestone, save a baseline estimate for the iteration, and compare with historical velocity for past iterations in story points and estimated hours.  Implement a Card Wall view to drag and drop tickets for a story (in swim lanes) into status columns.  We are doing some of this work as we improve the speed and usability of the existing Agile Planner, so you will be able to build on that.  We want a Scrum expert to build a tab and tool that uses only Scrum vocabulary and workflow.

Wiki

Adopt the wiki tool and upgrade it with improved markup, WYSIWIG editor, page for file attachments, improved image insertion, and plugin embedding.  Use google wave widgets as plugins.

Google Wave tool

Integrate Google Wave as an Assembla collaboration tool.  This is going to be important.  Here is a plan that in rough implementation order, from simplest to most complex. Please feel free to modify it.

Start a google wave, in a tool like the our simple Skype conference tool.  Select users, enter a title, and launch.  Does this need to be embedded to be launched?  Should it embedded? Add a "gwave_id" field to the user.  To invite the user, use the gwave_id if it exist, otherwise use the normal email.

Start a google wave with some selected gadgets.  Save favorite gadgets to select from, in the tool settings.

Make a ticket gadget.  Allows collaborative editing of a ticket description, or adding a ticket comment. 

Put a "Discuss in Wave" link on a ticket that will go to the Wave tool with some arguments to set the name of the wave to the name of the ticket, and add the ticket gadget to the wave.  You select team members and launch.

When you start a wave, save information about the wave in a table of shared_waves.  This can be selected on or off with a "share" toggle on the start form.  In a panel on the bottom of the Wave tool, list shared waves, most recently active first.  Put a New Wave event in the event Stream.

WHEN AVAILABLE: Click on a shared wave to join.  The API does not support it at this time.  Maybe this action can put you into a little "Add me" gadget on the wave.

Make a wave robot that gets added to a shared wave when it starts, that will relay events to Assembla.com, where we link it with the shared wave information.

  • Use this to update the last activity date on the shared_wave record.
  • Show snippets of a recent events under each shared wave
  • Save it, as a a searchable store of IP about the project - delivering on the mission to capture project IP for future reference.

Improved Time reporting

Improve the Time reporting tool so make it easier to export data for reporting and billing.  Improve the UI and add options.  Allow it to mark hours as billed (there is a field for that in the task/time table) and report on unbilled hours.  This is a task for an operation that uses time reporting and knows what it wants.  Many Assembla customers are consulting, design, and outsourcing firms that need reporting on client projects.

Fully integrated chat

Build a fully integrated text or video chat by fixing Assembla chat with a COMET architecture, or customizing a commercial flash chat  This will give us a persistent chat room where users can drop in - a much better replacement for Assembla chat.  The features that would be available if we invest in this integrated version include

* Manageable server infrastructure
* Team permissioning and single sign-on.  Team members can go to the chat page with correct permissions
* logging of chat transcripts so team members can go back and find
information.  very useful
- event feed into the text chat
- Selection of tools in the settings - text chat, video chat, etc.

Repositories

Mercurial

Build a Mercurial version of our code browser.  Include Mercurial in our list of fully supported repositories, with code browser, ftp publishing, and fork and merge.  Assembla already includes a mercurial server that can create permissioned mercurial projects that run with trac, and is doing some work on this, and Assembla will work on this task soon, as repositories are in our list of core features.

Code Review

A code review tool would allow users to make comments on code and code commits, and it would allow them to create a case and a workflow around a code commit.  In our next release, the code browser will be merged with the main Rails application, which will make this job easier.  To design this tool, tou should have experience using code reviews in your normal development workflow.

Other new tools

Test management tool

Something like at runtestrun.com

Improved Time reporting

Improve the Time reporting tool so make it easier to export data for reporting and billing.  Improve the UI and add options.  Allow it to mark hours as billed (there is a field for that in the task/time table) and report on unbilled hours.  This is a task for an operation that uses time reporting and knows what it wants.  Many Assembla customers are consulting, design, and outsourcing firms that need reporting on client projects.

Invoices

Users have asked for an invoicing tool, in addition to Time reporting.  This would help them make invoices from time entries that are recorded in Assembla, to bill customers.  This tool would also have to keep track of customers, link spaces/project to customers, create invoices to customers, mark invoices as paid or not paid, and allow editing of invoices.

Google Docs

Figure out how to apply team permissions to Google docs.  Create, view, edit from an Assembla tool.  Documents managed in this way would be shared with the team list.

Test case tool

Make a list of test cases that we can apply to each successive release.  For a release, show status of each test case - not tested, pass, fail.  Set manually, or with a simple API to automatically set status from test scripts.  UI to edit test cases, see status, and create new release.

File releases tool

Like the Sourceforge "releases" feature.  Post releases as zipped files.  Count downloads.  This is a very simple tool that leverages the Files tool.

Forum tool

Finish the forum tool with topics, threaded discussions, and sticky topics.  Extra credit- make some forums be shared in a portfolio, or with other unrelated spaces.

Payment

Some users want a payment tool for paying developers.  This would be a portfolio-level tool that would keep track fo per-hour rate for each developer, and the amount owed in each payment period, and the amount already paid.

Time Tracking

Some developers have proposed building an Adobe Air based time tracker that would submit tickets and time to Assembla.

Netbeans Issues

We have a request to connect Assembla tickets with Netbeans Issues.  This will not require a new tool.  You can do it with the Tickets API and the Cubeon framework for Netbeans.  You can read more about the request by clicking here.

Pivotal Tracker

Use the Pivotal Tracker API to replicate with Assembla tickets.

Basecamp replication

Many customers use Assembla for code development, and Basecamp for collaboration with customers.  Make a tool to synchronize key items.

Mockup

A flash-based mockup tool like Balsamiq.  We get requests for this.

Screen sharing

Simple screen sharing app where any user can grab the screen sharing role and project his/her screen.  This could also be used for recording videos about bugs to attach to tickets.

Bookmarking tool

Capture URLs, tag them, sort them in the bookmarking tool.  Or, embed an existing bookmarking service.  Make a javascript widget for drag and drop in a browser.

System Alerts

It would be useful to have a notification tool for system problems.  This would detect events, either input manually, or by an API, or by an embedded monitoring system.  These events would appear in the Stream.  It would notify some list of team members by email and SMS, and it would record which team member responded to address the problem, by some sort of click-through or sms response.  An initial implementation would would take emails from Nagios-style monitoring.  A more advanced version would have internal features for monitoring systems, and sending alarms when timeouts occurred or thresholds were exceeded.

 

Adopt and upgrade existing tools.

* Wiki

Adopt the wiki tool and upgrade it with improved markup, WYSIWIG editor, page for file attachments, improved image insertion, and plugin embedding.  Use google wave widgets as plugins.

Reporting

Improved portfolio or cross-project reporting for both tickets, and user activity.  Integrate with Assembla's upcoming management release.

Support tool

We have a number of request for improvement to the support tool.  Users want to make it work through email, have improved email messages and UI, and not require Assembla accounts.  We are interested in outsourcing the enhancement of this tool.

Staffing tool

We have some ideas about how to make the Staffing tool more useful.  It should distribute advertisements to other online systems, and it should have better sorting and commenting for responses, and it should work without the Assembla MSA system.  Maybe we can outsource the enhancement and marketing of this tool.

Assembla Tracker

Improve or replace the Assembla Tracker tool - a desktop app that allows you to do track time, create tickets, and upload screenshots to any of your workspaces.

 

Build tools

Google App Engine

Make a version of the Build tool that deploys code to Google App Engine

Azure

Make a version of the Build tool that deploys code to MS Azure

Force.com

Make a version of the Build tool that deploys code to Force.com

Hudson

Make a shared hudson server that can run build and test for Assembla projects

Other stuff, not tools

Localization

We will soon put Internationalization on much of the application UI.  We will need language experts to do localization.

Libraries for our API

Build libraries in most popular programming languages that work with our API: C#, Ruby gem, Python, Perl, Java

iPhone/mobile HTML UI

Create a mobile style sheet and versions of some important Assembla pages that are designed to view on the iPhone or other small mobile screens.  This would include login, user/stream, and space/stream.