Posts Tagged ‘development’

Introducing the Event Espresso Public Roadmap

Simple-kanban-board-

In our journey to empower business and organization leaders with the event registration, ticketing, and management tools that maximize the success of their events, we’ve learned that customer feedback and open communication are an important asset to the success of the Event Espresso plugin for WordPress.

However, up until recently, we haven’t had a very efficient way of tracking each request, allowing the community a place to vote on features, or tracking progress of the Event Espresso project. We felt we needed a public roadmap to help keep the community in the loop and to keep feature requests from getting lost.

Without a roadmap it’s sometimes easy to get lost. #EventEspresso #EventTech #RoadMap Click To Tweet

Using Trello as Our Public Roadmap

trello1Trello is an easy to use, real time, visual project management tool based on the Kanban system, which was developed in Toyota as a system to keep production levels high and maintain flexibility. It is best represented as a whiteboard filled with post-it notes. Each post-it represents different tasks involved in the project.

We felt a public Trello Board was a great place for us to engage with the community, get feedback, share our development, and keep you up-to-date on upcoming features & releases.

So last year we quietly launched our Event Espresso Public Roadmap on Trello to give our community a place to follow feature  planning and development. Since making the board public, we’ve already had quite a few votes and comments come through over the past few months, by way of mentioning the public roadmap in the support forums.

What to Expect

managing_expectationsWe hope this gives the Event Espresso community a bird’s eye view of features that are in the backlog and which are being completed in preparation for a major release. Going forward we plan to follow the roadmap as best we can and will continue to post requested features to the public roadmap for the community to vote on.

However, sponsored development is a service we offer to the community. If a community member sponsors a feature, then we agree to prioritize that feature ahead of some other things. A perfect example of this is when Event Espresso users want a new payment gateway, they can fund the initial development and we put that feature higher on the priority list and try to work on it asap.

Some very popular items, like recurring events, require development of underlying systems and features.

For example, core features such as Attendee Reassignment or wait lists, will need to be in place before we start work on the Recurring Events add-on (you wouldn’t want to have dozens of recurring events without an easy way to move attendees from one event to another would you?). Another example would be the Automated Email Reminders add-on, which will require the Messages Activity core feature (notice that’s a feature in and of itself).

Requesting a New Feature

If you have a new feature you want to see listed in the public roadmap, please create a new thread in our support forums and describe the feature as best you can. That way our support team can discuss the feature with you, and if appropriate, get it added to the roadmap.

Voting & Commenting

Event Espresso Public Roadmap VoteOnce your feature request is added to the roadmap, yourself and other community members will be able to vote and leave comments on the feature. Our support team will also forward any new requests for the feature to the roadmap.

We feel voting on features is especially useful to us, because it means we can list a bunch of features that we want to get done on the board, and then let the public vote up the features that they want the most. This allows us to take the community’s input for what they deem most important into our process for setting priorities.

Please feel free to vote on as many feature as you like.

Basic Overview of Trello

How it Works
Trello uses a system of boards, lists and cards. This creates a system that allows for individuals or teams to track a project and collaborate or contribute where they can be most useful or where it is most needed.

start-here-1

Board
A board is typically a project or product that is under development or consistently being worked on.

List
A list is a way to divide a board into different categories. Typically a list represents a stage of progress (to do, in progress, finished).

Card
A card is the most basic and flexible part of the system. It represents a specific element of a project (A new feature, a software bug, research for a post). We can move cards between lists as they progress through the project.

Subscribe to Updates
There are three ways to subscribe for updates in Trello. You can subscribe to the entire Trello Board, individual lists, and/or individual cards.

  • Subscribing to the Trello Board – Click the “Show Menu” button in the top right corner (screenshot) of the Trello Board, then click the “…More” link, then click “Subscribe” (screenshot).
  • Subscribe to a List – In the top right corner of each list is a tiny down arrow. Click the arrow, then click the “Subscribe” link (screenshot).
  • Subscribe to a Card – Click to open an individual Trello card, then click the “Subscribe” button under the “Actions” heading (screenshot).

Current Status of EE4 Development

We’ve been focused on making core improvements over the last several months and are currently wrapping up development on EE 4.9, which includes a major refactor of the Event Espresso Messages System.

The messages system refactor introduces a few new features, such as a messages queue, batch message processing, a recording system for sent messages, and the ability to resend failed messages. After that we will start work on the Attendee Reassignment feature and the Automated Email Reminders add-on.

Get Updates When New Features Release

Be the first to know when we ship new features … signup for our newsletter here: https://eventespresso.com/newsletter/

Wrapping Up

We realize many of you use Event Espresso as the backbone of your business and we hope this roadmap will help give you an idea of where the project is going. Please let us know in the comment section below if you have any questions.

ee4-public-roadmap-banner-900-1

Tags: , ,
Posted in Home Page, News, Development, Open Source, EE4 | 3 Comments »

Questions from Eric to Event Espresso

Eric asked Event Espresso some questions to answer on the Espresso Bar hangout. If you watched this morning’s hangout you would have heard some of them. Here are everyone’s complete responses:

1. What has been the biggest challenge for you personally at Event Espresso? (could be programming, staffing, customers, support, infrastructure, etc.)

Darren: Being a distributed team rocks and Google Hangouts has worked well. However, I still think our team would benefit from at least a once a year in person meet up where we can strategize and spend time together (which is another challenge b/c of costs for getting everyone together). That to me has been one of the bigger challenges.

Another challenge has been the time its taken to develop 4.0. Frankly, its taken so long because of the amount of change happening in the core code and its frustrating that for the majority of our customers they wont’ be able to really appreciate the changes right away because MOST of it is the actual way the code is structured. Developers will grok it but the average customer won’t. Customers won’t see the benefits until they start seeing the awesome things we can build now on top of this new codebase.

Finally, there just isn’t enough time in the day. We need 48 hour days 🙂

Michael: Trying to code as one. As one of the developers, it’s tough to stay coordinated with the other developers. We each naturally have our own strengths and styles, and it’s hard to keep that from creating a mass of messy, inconsistent, and buggy code. For example, we recently had an issue with deciding how we would be recording payments and payment attempts in EE4. I had written code that records all payment attempts, (for example, even failed payment attempts from paypal), and record whether they were successful, pending, or failed, etc. Another developer, Brent, had envisioned that payments basically only get recorded on successful receipt of funds, and had written a bunch of code around this concept. Basically, I was treating “payments” as attempts-to-pay, but Brent was treating them as real money received. We discussed it for several hours, asked a bunch of other team members’ opinions, etc. At the end of the day, however, Brent took the higher ground and simply decided to roll with my way of doing it, despite still not being in agreement. So not only was it difficult have our code play nicely together, but it was also difficult to not spend all our working day debating it (which is never a problem if you’re working on your own).

Having said how difficult it is trying to stay coordinated with the rest of the developers, it’s also a huge bonus. I’m learning lots from the other developers that I never would otherwise.

Dean: Most definitely it has been getting to grips with the internals of the plugin. Whilst support doesnt need the depth of knowledge that dev does, working for the most part alone it really benefits having a broader knowledge, but as the plugin is so big and complicated it has (and still is) taking some time.

Seth: From the very beginning, I think keeping up with everything that is going on, has been my biggest challenge. It was extremely hard to keep up with the feature requests, customizations, customer support, etc. when I first released the plugin and was working on everything by myself. That and Chris stepping back over the last few months 🙂

Chris: People-wrangling. As our team started growing beyond the early days 2 years or so ago — when it was mostly Seth, Garth and I — it’s been a constant challenge to go from the point of “okay, this is a great idea, let’s do it” to actually making that happen, and a lot of that involves checking in on people, making sure there are deadlines, the kinds of things that would be taken care of by a project manager which, at the time, we didn’t have. And then when that became my job I learned just how difficult it is to be a project manager and how much you need to be involved in just about everything. On the flip side, I’ve learned a lot from getting tired of trying to wrangle people and just said “fine, I’ll do it myself” and dug into the code to look at whatever was going on because no one else had time to do so.

Jonathan: Trying to transition from a corporate job to working with a software startup brings many challenges. But, my biggest challenge has been, obviously, getting up to speed with how the software works. I have to accept that I still have much more to learn. Learning something new everyday is what keeps it exciting for me.

Brent: I had joined Event Espresso somewhat spontaneously simply because I had used the product for a site I was developing for a client of my web design company, and really liked Event Espresso. I thought it would be a really great program to work on ( I was right ). However, I still had a fairly successful business rolling a long with work contracts in place to keep me going for a good portion of a year. I have been working full time for Event Espresso for about a year and a half now, while handling work from my other business on evenings and weekends. So basically working at least 60 hours a week. This has been very hard on my family and I as I do not get to spend enough time with them as I would like. It’s also beginning to take a nasty toll on my body in terms of back and arm pain. Who would have thought that too much mouse could cause so much pain!?!?! I’m currently on the edge of having my other business work significantly reduced as I finish off some long term contracts and pass off clients to other web development firms. It’s ALL EE from now on baby.

2. If you had it to do over again, how would your approach have changed.

Darren: Do what over again? I think maybe the biggest thing that might have changed from the perspective of EE, is our processes. We’ve implemented a lot of great systems and processes in the last 6 months that would have been a real benefit from the get go.

Dean: I honestly don’t know, maybe a more systematic approach on working out which bit connects to where.

Seth: I was a novice programmer when I started, and everything I have learned over the years, is a direct result of diving head first into the very early stages of Event Espresso. If I could start over, I would have learned how to be a better programmer, and learned how to do stuff the right way, including learning how to do things the “WordPress way”.

Chris: I think when I started at Event Espresso, I sort of assumed that Seth and Garth knew what they were doing. 🙂 So there were a lot of times where maybe I didn’t agree with something, but I assumed things were fine and they had figured it out already so I just kept quiet. I think taking initiative and getting involved earlier, and asking hard questions that demand answers could have helped us and the plugin overall. The truth is, when you start a business like this, particularly a plugin (or theme) business, you’re pretty much just making it up as you go. Sure there are things you can bring to the table that can help guide the trajectory — Garth’s a business school major, so, you know, there’s that, I go dizzy looking at spreadsheets with acronyms like ROI — and you can look at what other plugin and theme studios are doing, but really, you’re just guessing unless you’ve really had an in-depth conversation with those other guys.

Jonathan: I think I would change my learning approach. Instead of trying to learn bits and pieces of the plugin and add-ons, I would start with the core plugin and work my way out to the add-ons.

Brent: Hmmm.. for starters, I wish I could have joined the Event Espresso tEEm earlier, I wish I hadn’t had to work 60+ hours / week, and I wish I had been more knowledgeable about working with a distributed software development team and could have earlier affected some of the procedural changes we have now. As the EE tEEm grew, we learned (often the hard way) better ways to work on the product and to implement procedural policies that help to maintain the quality and robustness of our work. It would have been nice to have those policies in place without having to have experienced the problems that fostered their creation. But regardless, we have a great tEEm now and a methodology that is really allowing us to churn through the code, identify bugs and issues, and correct things before releasing anything to our customers.

3. What upcoming or new features are you most excited about?

Darren: I’m most excited about 4.0 of course! If I had to pick two systems I’m really keen on seeing come with 4.0 it would have to be:

a. Messages Framework (of course!) – I’m really excited about the potential for this framework to make possible a lot of cool features for EE users.
b. New Model structure. Brent initially worked on this but Michael has been ramping up some cool additions to the model codebase. These models provide some really efficient and easy way for interacting with EE data in the database.

Another thing that is a ways off yet, but I’m really looking forward to when we get there is the launch of a 3rd party marketplace for EE. I think this will bring some real value for our customers (and developers building on top of EE!) and I can’t wait to see what people build for EE on our new codebase.

Dean: 4.0 (of course!), there are just so many changes to the underlying code that will make Event Espresso a much more flexible and extendible product. It will be a bit of a system shock for most users, but once that has passed I believe strongly that everyone will benefit.

Seth: I am most excited about Event Espresso Arabica and all of the new features we have planned in the coming months.

Chris: I’ll say the same thing as everyone else in that I’m excited for Arabica. I’m excited to see the direction it goes, and I’m excited to see what people do with it, and I’m excited to start digging in and seeing what I can do with it, too. I really haven’t done much testing or digging into the code yet, so whenever Brent or Darren start talking about the cool stuff they’re working on, or I read what they’re talking about on IRC I get that sort of “lemme see lemme see” kid in a candy shop reaction.

Jonathan: Arabica, of course! It is where we are focusing our attention the most right now, so it’s on everyone’s mind constantly. Cleaner code, hooks, filters, etc. It will definitely be a breath of fresh air for the community.

Brent: I have been spearheading a rewrite of Event Espresso to convert it to an Object Oriented Programming (OOP) codebase that will better allows us to develop new functionality and features as we move forward. As well, we are converting most of the main elements that our system deals with (events, venues, people, etc) into WordPress Custom Post Types to make Event Espresso even more accessible to the general WordPress community. So far, the road has been long and hard, but when this is done, there is going to be an explosion of new possibilities with Event Espresso. New features, new addons, new third party development, and hopefully new markets and new uses of Event Espresso that we hadn’t even thought of. Can’t wait.

If you didn’t catch us live, you missed a great show. You can watch the replay on our Espresso Bar Archive page.

Tags: , , , , ,
Posted in Hangouts | 1 Comment »

Developers wanted!

Are you a WordPress theme or plugin developer? Have you worked with WordPress or Event Espresso enough that you feel comfortable making customizations for clients? Do you want more clients?

If the answer to those questions was “Yes”, we want to hear from you! We’re looking to partner with experienced WordPress developers who are familiar with Event Espresso that want new clients. We get a lot of requests for customization projects that we just aren’t able to work on due to our regular plugin development workload.

Think you fit the bill? Let us know what you specialize in, what your average rates are, and give us an example site that you’ve worked on (preferably a site that’s running Event Espresso). We’ll be adding developers to a Third Party Developers page where we will refer our customers who are requesting custom development projects that we are unable to take on within their timeline. Fill out our Third Party Developer application to get listed in our directory.

Tags: , , , ,
Posted in WordPress, Development | 2 Comments »

Behind the scenes: the tools we use at Event Espresso

We’ve been at this for over 3 years and in that time, we’ve used a ton of different tools to get the job done. Event Espresso has gone from being a one-man show to a team of 10+ and in that time we’ve learned, largely through trial and error, ways to effectively communicate to each other and our users. Here are a few of the tools we use internally and for EventEspresso.com.

Operating Systems

We’re predominantly Mac users with a few holdouts running Windows 7 and Linux. The apps covered here will be a mix of the popular votes from across all three platforms as well as web-based apps or systems.

IRC

We’ve been using IRC internally for the past year. It has successfully enabled us to communicate better as a team and respond to issues that come up in the forums and as we are developing code much faster. It’s hard to imagine how we managed to do things before we were using IRC. We have one closed channel we use for internal and development communication and another channel we’re planning on opening up to VIP members soon. To keep our private channel closed, we’re using IRC access restrictions. We also have a bot running Phergie that is able to do helpful things like pass messages to other team members who are away from their computers and Google searches, or not so helpful things like tossing each other a cookie, beer, wine or cocktail.

MrEspresso

Phergie is also feeding posts from our P2 site (mentioned below) to keep the team updated on new comments and discussions happening there.

As far as apps go, for Mac, most of us started off with Colloquy before moving on to other things like LimeChat and Adium. For the Windows users among us, we’re predominantly using mIRC, and Xchat is the most commonly used client for Linux, though a Windows version also exists.

Twitter

In the last month we’ve started trying to use Twitter for both internal and external communications. Everyone at Event Espresso was already on Twitter, and Event Espresso has it’s own Twitter account. On our personal accounts, we use the #EventEspresso hashtag for general Event Espresso-related tweets and #eesupport or #eedev for support or development-related tweets. Not only can we keep each other in the loop with what we’re doing, but this gives our users a level of transparency about what we’re up to as well. So, what are we using to manage Twitter? For OSX, there’s the native Twitter app in the App Store or, for everyone, the cross-platform web app TweetDeck.

Browser

To the developers out there, it should come as no surprise that Chrome and Firefox are our browsers-of-choice. The powerful tools of Chrome’s built-in inspector and Firefox’s Firebug extension are invaluable to developing and testing markup. For the Mac users among us there’s Parallels and Oracle’s VirtualBox for Windows virtualization for testing Internet Explorer.

Screenshots & annotations

Formerly, the popular favorite for screenshots with annotations was Skitch. Recent changes to the platform have been universally less well received by our team, and some of us have begun looking elsewhere. The Awesome Screenshot extension for Chrome is…awesome…for browser-based screenshots and Droplr and Screencast.com have also been used by some of us for sharing screenshots. I wrote up an Alfred* extension to replace the timed screenshot feature that Skitch dropped from their app.

* covered later…

Email

Event Espresso uses Google Apps extensively, so many of us just use the Gmail interface for mail. However, the Sparrow for Mac is hands-down the best desktop email client and also has an iOS app replacement for Apple Mail. Speaking personally, Sparrow makes me actually enjoy looking at my email inbox. It’s definitely worth downloading the free (ad supported) version and convincing yourself it’s worth the ten bucks to use it without the ads.

FTP

While the cross-platform workhorse of FileZilla is definitely a favorite, some of the Mac users among us cling to Transmit, by Panic (who also make Coda), which also allows file transfers to Amazon S3 buckets (which we’re using as our CDN).

IDE

A good IDE is important when you’re spending all day staring at it. Sublime Text 2 gets our popular vote with some runners up being Coda and NetBeans. (If you’re looking for a good IDE or have just gotten started with Sublime, this is a great resource that goes through a lot of the amazing built-in features of the program as well as the plugins that can be added.) Windows users (that don’t want to deal with NetBeans) can either grab a copy of Sublime as well, or take a look at the free Notepad++.

Version Control

Version control is essential for any development project, large or small. Even if you aren’t part of a team of developers, version control is invaluable in being able to “roll back” changes to an earlier version when something breaks. Having a solid, reliable version control system (and app) is a required part of ensuring that everyone on the team is looking at the same — and the correct — version of the code. Event Espresso currently uses Subversion for our version control (though we plan to eventually move to Git). Most of us Mac folk started out using Versions but have since migrated to Cornerstone. For Windows, there’s TortoiseSVN and for Linux, we recommend RapidSVN (if you’re not just more comfortable using the commandline). For Git, we recommend Tower (for Mac), the GitHub Git client (for Mac/Windows) or TortoiseGit (for Windows). Alternately, if you’ve already started using Sublime, there are excellent Git and Subversion extensions for Sublime, and NetBeans also has integrated SVN support as well as a plugin for Git support.

Other tools

What other programs and apps are we using? Here are a few of our favorites:

  • P2 – we have an internal P2 blog that we use to announce and discuss issues with the entire team
  • Codebase – where all our SVN repositories are stored and for internal issue tracking
  • Asana – for support issues and other non-coding-related task- and project management
  • Google Drive and Dropbox – cloud storage
  • Codebox, Gist, Piratepad, jsfiddle (and, recently Koding) – storing and sharing code snippets
  • Alfred (Mac) – all-purpose productivity app (some of the automation features of Alfred — such as the previously-mentioned timed screenshot extension) are simply amazing and well worth the cost of the Power Pack add-on)
  • Textexpander (Mac) – keyboard shortcuts for commonly-used text (or code) blocks
  • TotalFinder (Mac) – Finder add-on/replacement that enables tabs in Finder windows

WordPress Plugins

But what about the plugins we use for WordPress, you ask? We use a combination of custom-built plugins, premium plugins and free plugins from WordPress.org. Here are the ones that are most frequently used or most essential to the site:

…as well as custom-built plugins handling the 404 pages, new bbPress topic notifications, testimonials, showcase sites, product features, and various Plugin Update Engine tweaks and add-ons. We’re also using a Google Custom Site Search for our search pages with a custom template and modified searchform so searches go to the Google search.

What are your favorite tools to use in your business or on your website? Let us know in the comments!

Tags: , , , , ,
Posted in Website | No Comments »

Do NOT follow this link or you will be banned from the site!
[gravityform id=81 title=false description=false ajax=true]
  • Would you like to join our newsletter?

  • This field is for validation purposes and should be left unchanged.
[gravityform id=81 title=false description=false ajax=true]
  • Would you like to join our newsletter?

  • This field is for validation purposes and should be left unchanged.
[gravityform id=80 title=false description=false ajax=false]
  • This field is for validation purposes and should be left unchanged.
[gravityform id=69 title=false description=false ajax=true]
  • This field is for validation purposes and should be left unchanged.