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.