Well, I've refrained from posting a roadmap till now because we've been crazy busy and I often just don't know what's going to come up. Per some forum discussion, IRC discussions/chats, and in-office/lunchtime conversation I'd like to offer up the following roadmap and hear your feedback.
The mantra I'm working on is something along the lines of "Foundation. Optimization. Innovation."
With Drupal 5 we laid the foundation in terms of code and community. It took a long time to get where we are, and in hindsight we'd do some things differently and a few things very differently. But we're here now, and we've got something to work with. We also have an awesome community of users, testers, and developers. The whole D5 Ubercart 1.0 cycle has made all this possible, and we're happy to have come so far.
Now we're looking at migrating our current work over to Drupal 6, and there are a lot of exciting core enhancements that will benefit Ubercart users and developers. As such, I see Drupal 6 as a time for optimization where a bulk of the work is spent making Ubercart leaner, quicker, and easier to use in areas like theming, workflow, and internationalization. We also need to work on our development process so it's optimized for community development. I'll be the first to say I don't know what I'm doing and am learning as I go, so I'd love to continue refining our development process to make it easier for contributors to get involved.
Finally, come Drupal 7, we should be more than ready to innovate. We had to play catch-up with our initial release, and we need to clean up/trim what we have to avoid an enormous design debt in future versions... but I'm more interested in letting innovation drive Ubercart than keeping up with the Joneses.
More about this later, as it's not immediately applicable... just know that I hear a lot of great feedback and ideas, and our inability to implement them now doesn't mean we aren't looking to change the way things are done.
So, what does this look like for development now?
We want to move to D6 as soon as possible. This means we'll hold off on taking advantage of many core enhancements for the initial migration, including things like the file handler in the new menu API, #ahah in the updated forms API, module level .tpl.php files, and more. We'll be stripping off dependencies that would hold up the migration and continue to implement a custom conditional engine to handle things like taxes, shipping quotes, order workflow, etc. I will allow API/bug fixes and UI improvements, but major features are likely to be postponed during this phase. Minor features delivered with patches will be more likely to get committed. In the end, we'd release this as Ubercart 2.0 (codenamed Uber Tuber) for Drupal 6 (per japerry's/schaub123's comments on the Drupal 6! thread). I'd love to have the Uber Tuber delivered pre-Drupalcon Szeged.
(I'm definitely interested in feedback to this post to make sure my reasoning related to dependencies/core conditions makes sense.)
Once this version is complete, we'll move into Ubercart 3.0 development (no codename yet
). This will involve updating modules to take full advantage of the changes to core APIs in Drupal 6. I'd also love to see Ubercart be optimized for theming, internationalization, user access, and more. So, even though I consider D6 an optimization stage, I'm not averse to making big changes in the Ubercore. I just don't want this to hold up the initial migration to D6, and I'd also like to make sure we're able to move into Drupal 7 development a little faster than we'll end up getting into Drupal 6.
Where will development take place?
I started a Drupal 6 group on http://support.ubercart.org that we have ill used so far. We've been busy with the 1.0 release, and I've been personally busy/out of town lately. There's a good group of folks there ready to do some coding and testing, and as soon as the details are ironed out and we get some solid time on our hands we'll move in full swing.
Further, I'm serious about wanting our development process to empower contributors and be more in sync w/ drupal.org. This is why we've been encouraging modules to be posted up as projects on d.o. I'm not 100% decided, but it looks like we'll just totally disable the issue tracker here in favor of the tracker on d.o. This won't preclude forum discussions about bugs, fixes, and features, but it will better facilitate reporting, patching, community testing, and committing.
What else is on your radar?
I'm glad you asked. 
I've been keeping a text file for some time now with notes about improvements I'd like to see happen. Honestly, I look at some of the earlier code I wrote and wish I could rewrite it now. It's all part of learning!
My initial brainstorm list (not just for Uber Tuber) right now includes things like:
Disclaimer: I'm wanting to see improvements in these areas below, but there's no way I can code it all! Some of these I hope to do myself, but others will require community action. I'm happy to report there's already significant development in several of these areas!
- Addresses separated from orders.
- VAT support in core.
- Allow folks to switch to multi-page checkout.
- Separate validation from submission for checkout panes.
- Actual store administration theme.
- Better support for internationalization, including core VAT support.
- Remove uc_notify.module and replace it with conditional actions.
- Fix cart pane API 
- Separate Views integration out into its own module.
- Get the rest of the manufacturer trappings out of core.
- Try to get rid of any other module_exists checks, too.
- Move Store Links block out of core and into a contrib module.
- Invoice templates should be overridden at the theme level, not in the module dir.
- Update stock support.
- Review line items API.
- Core conditionals system.
- Simpletest for full unit test coverage.
I probably won't get to all or even a majority of these points. However, I am committed to making Ubercart easier to use and develop. I'm sure you can all get behind these goals. 
In the words of elephantiX, long lives drupal ubercart and my mother!











Joined: 08/07/2007