Behind the Scene: Back Office Tools

July 23rd, 2007 by Jeremy Chone

In a previous post, we talked about what we are using to build Sportner; but, you may ask, what makes Sportner (the company) run? In other [ancient] words, what is our back office tool?

Here is a snapshot of the tools we are currently using:

Email & Calendar: Google Apps, Microsoft Outlook

Google Apps, Microsoft Outlook
Google Apps Microsoft Outlook
We are using Google Apps (the free offering) for our Email and Calendar. It is very robust and easy to manage (e.g., creating a mailing list with two to five clicks). We are not using the Google Calendar yet, since the Outlook calendar is sufficient for now. I personally use Outlook 2007 with POP3 to read and manage my email.

I also have a Treo 750 connecting with POP3, and everything works like a charm. While Microsoft products might not be very trendy to use nowadays, Microsoft Outlook’s 2007 enhanced category support combined with the new search function is actually pretty amazing. Local search works! And it is fast. I think we can thank Google for showing Microsoft the “desktop search” light.

Files and Content Management: Subversion (later Alfresco)

Subversion As mentioned in the previous post, we are using Subversion with TortoiseSVN Windows extension as our repository for all files. We have three repositories, one for business, one for operations, and another one for our product source code and assets.

At some point, we might switch our Business and Operations repositories to Alfresco Content Management which is more appropriate for this type of content collaboration.

Collaborative Editing: Trac (Wiki)

Subversion While Wiki is far from perfect, we have not a found better alternative to date. We have implemented some very small but useful Trac macros that make the system very convenient.

For example, we have the macro [[Technorati “myCompetitorKeyWord”]], which includes the Technorati blog stats for a given keyword. I personally think that the real powers behind Wiki are the macros, but they always tend to be thought of last. We have heard that Confluence is a great, easy to use collaborative editing platform, but at this point we do not have the bandwidth (time and financial) to try it out.

Accounting: QuickBooks and Excel

Subversion At this point, we keep all receipts in a binder. The only revenue to date is $5.70 from the ads on the right. The plan is to use Quickbookfor basic accounting and Excel for our budget forecasts and reports

IM / Voice Chat: Skype

Subversion We are trying to use Skype as much as possible. The voice and video support is very good, the chat support is o.k. (no group chat though). We might use Skype in the future for long distant calls.

Web Conferencing: Adobe Acrobat Connect

Subversion As mentioned in one of my Techcrunch comments, we are using Adobe Acrobat Connect. It’s cross platform, easy to use, and cheap $39/Month for unlimited minutes (sessions are limited to 15 participants, which is more than we need). In short, Adobe Connect is a breeze to use.

As you can see, we have opted to have some of these services in-house and others hosted. In general we tend to choose in-house solutions for applications that manage heavy or sensitive content, or would benefit greatly from some sort of customization. For example, there are some good services out there that host Trac and Subversion, but they obviously [have to] charge by size (at least at some point), and do not offer the type of customization you can have with an in-house system (e.g. Trac Macros).

Welcome Colin Langton

July 19th, 2007 by Jeremy Chone

We are delighted to welcome Colin Langton. Colin is a computer science major at UCSB, and is staying in San Francisco for the summer. Despite his youth, he has been programming for 10 years now, and knows a lot about HTML, CSS and Java. Colin will be focusing on our Profile page, from Database up to the HTML, and on some of our AJAX components (and will probably help with the Friend selector).

Colin already surpassed expectations on his first day (actually first half day). Colin installed the whole development environment in a couple of hours, and already solved one of our long lasting IE7 AJAX bugs.

Thank you and welcome Colin!

Welcome James Ide

July 16th, 2007 by Jeremy Chone

We are happy to welcome James Ide as our first Intern. James is going to begin attending UC Berkeley in the next few months, and wanted to have a taste of a startup environment before starting college. We have been very impressed with James; in less than a day he was up and running and already coding some logic.

At first, he will be focusing on the “TagMedia” component of our service. This will involve designing the database schema, implementing the “Hibernate Beans,” writing appropriate web actions (part of our USP MVC), and designing and coding the web page. Yes, this is a lot, but given James’ performance to date, we are surprisingly confident that he can do it.

Welcome James!

Behind the Scene: Development Environment

July 13th, 2007 by Jeremy Chone

As discussed in our Application Platform and Server(s) articles, our runtime is based on Java, MySQL and Linux; but what, you may ask, are we using to build this runtime?

Here is a quick peek at our development environment:

IDE: Eclipse 3.3 with AJDT 1.5, Mylyn, and soon Aptana.

AJDT 1.5 is an Eclipse extension to support AspectJ programming. It is a very well done eclipse extension based on the AspectJ library, which makes Aspect programming almost as if it were part of the Java language. Thankfully, the bug we had encountered in Eclipse 3.2/AJDT 1.4 has been solved.

We have not started using Mylyn yet, but are planning to use it since we are using Trac as our issue-tracking system.

We are also planning to use Aptana as soon as it officially supports Eclipse 3.3, although the default Eclipse 3.3 HTML/CSS is pretty good.

Source Control: Subversion, TortoiseSVN

Subversion is probably a no-brainer as a free source control. Subversion http support (and especially Apache integration) makes secure remote access configuration a really easy step.

We are big fans of the TortoiseSVN Windows extension, which makes Subversion accessible to almost any computer user. This is one of the reasons that we decided to use Subversion as our content-management back-office tool (article about our back-office tools coming soon).

Bug Tracking, Wiki: Trac.

Life before Trac was complex and fragmented. You had to look for a Bug System, a task management system, a Wiki, and eventually a Source Control web front-end. Trac took the approach of offering a simple integrated approach for bug tracking, collaborative editing (i.e. Wiki), and web access to source control. Trac is also easily extensible, which is allowing us to tailor it exactly to our needs. A simple customization can sometimes make a big difference!

Anyway, big thanks to the Trac team for their approach and execution. Looking forward to the next version.

Build System: Ant and CruiseControl

Like any Java developer, we are using Ant to build our application. Its integration with Eclipse and Tomcat is just what we need. We are also planning to use CruiseControl as a release management tool.

Testing Framework: JUnit 4

We are using JUnit 4 for our unit test. The Fixtures (i.e. @Before/@After) features have allowed us to build a simple and efficient test framework for our application. In short, we are using @BeforeClass to create the application context, and @After to clean the database.

Advice needed: While we are comfortable with our JUnit choice for unit testing, we are not sure about what we should use for our HTML/HTTP testing. The httpUnit project seems to have been put on hold. Any advice would be appreciated.

User Interface Design: Adobe Photoshop CS3, Flash CS3

If you can afford them, these are just the best tools to build your user interface assets and screen mockups. We are using Photoshop CS3 to design the main screens and graphic assets, and Flash CS3 to build screen flows for early User Interface testing. We might use Flash/Flex Builder in the future to build some application components.

Disclaimer: I once worked at Adobe as Director of Product Management for Flex and ColdFusion. So, I might be a little bit bias. Nevertheless, Photoshop has always been among my top three favorite desktop applications (along with Excel and Eclipse).

Pre-Funding Job Opportunities

July 9th, 2007 by Jeremy Chone

We are excited to announce that we have some job openings. Please note that they are pre-funding job opportunities, so compensation will be weighted towards equity and lots of fun.

We are currently looking for one Senior Web Application Developer or Architect and couple Interns :

Each of these jobs has some base skill and experience requirements, the most important of which is to “learn fast and well”.

For the Internships/Summer Jobs, we are looking especially for students anywhere from high school to college.