I came across a link to a talk that about Magento 2 the other day. It was dated back in October last year. But what they have to say is still very relevant. You can find it here. (http://www.youtube.com/watch?v=SbAHSZiml7g)

Aside from the obvious rundown of the Magento 2 rollout plan (or lack of); they also went into great detail about what they're looking at doing for the new version, including several coding restructures. From a user point of view the initial version 2.0 is going to be identical to the in functionality to their Magento 1 counterpart, I assume it's going to look a bit prettier.

Looks aside key points were:

- Simplified theming
- Responsive Base Theme
- Simplified config with valid xml
- The introduction of bootstrapping entry point code
- The removing of several core modules
- API Improvements

Simplified theming

The theming in Magento 1.0 provides a lot of functionality, so I’m not sure if I totally agree with simplifying the theming, but it would certainly make it a lot clearer for a novice user, which is what they’re aiming at doing. They’re replacing the package system with a single field. I’m not sure about the specifics of this yet, but they also mentioned that you can have unlimited fall-back themes. I’m really interested in how they’re going to implement this, but at this preliminary stage, in the theme.xml it looks like they’ve added a lot more settings for developers.

Inline layout editor. Those 3 words are either going to excite you, or send chills of horror down your spine. If you’ve used Magento before, as a novice user, you may have found it really difficult to change the page without going into layout file editing; and even then, most users (even some developers we’ve seen), modify these files incorrectly. The inline layout editor will enable user to “drag and drop” block elements on the frontend and easily change the layout of the site. Like all things “what you see is what you get” (WYSIWYG) if it’s done correctly, we’re going to see advanced functionality and nice, neat, clean files on the output. But most Web developers know the horror of output they get from, even good, WYSIWYG editors; most of the time it results in turning off the editor and putting in straight HTML.

Responsive Base Theme

A big challenge to most web developers recently is tackling the ever expanding mobile computing era. From tablets, to smart phones, to TVs, we’re seeing more and more resolutions pop up out of the blue. And that means your beautifully designed website that works just fine on the desktop, is almost unreadable on your tablet, and even worse on your mobile. This is where the responsive base theme comes in. By default, Magento plan to make their theme adaptable. As you change the resolution, it changes the way that it displays. In my opinion, this is a good thing. I know that sounds obvious. But it’s a bit like what Google’s done to every other search engine. Set the bar really high. It’s going to make it harder for Magento theming companies (like ourselves) to them every view, and make sure it all works, but from the user point of view, and the store owner point of view it’s only going to bring more stores in line with the latest in web technology, which ultimately pushes the industry forward.

Simplified Config with valid XML

If you’ve ever coded a module, or used Magento as a developer, you would’ve experienced the large learning curve associated with it. This learning curve is mainly due to the amount of configuration that is able to be set within Magento modules. In Magento 1.0 you set everything in configuration, including the folder structure, database connection, admin menus, access control, entities, installation resources, the list goes on for a while, so I won’t list is all here. Although it provides a lot of functionality, you do end up writing a lot of boiler plate configuration.

After a quick look into a module in Magento 2, they’ve:

Removed the module activation file (normally found in app/etc/modules/ and combined it into the module’s config xml. Less files = better.
Removed the functionality to set the folder structure for blocks, models and helpers. I’m happy with this. I’ve been coding with Magento for over 2 years now, and not once have I ever needed to set these to something different.
In the Video they were saying that on average it’s 20% less code. And that they’re making this a valid xml file. Do I hear a sigh of relief? Finally we can validate the file against an XML schema, before hours of frustrating diagnostics that usually result in lost hair and over-consumption of coffee.

The introduction of bootstrapping entry point code

A feature that I think is well overdue. Global entry point code or Bootstrapping code, enables different parts of Magento to act as one. The idea is that no matter if you're running the cron.php or you've got a symlink multistore setup, booting all runs through the same code. This enables a store to be disabled on the front end, cron, and any xmlrpc or soap services to be disabled as well. Again, well overdue. This isn't particularly revolutionary but its worth noting as a major feature add.

The removing of several core modules

Adminhtml is no more. It's been a long time. Its for the best. And we'll get you a new one. Ever since the controller override functionality that was introduced quite a few versions ago now, the Adminhtml module has been legacy code that's stuck around, and because of the timeframe that Magento have put on the rollout of version 2, we're seeing lots of code changes, most notably, dataflow (replaced with an import/export module), OSCommerce and the compiler. They've made it clear that they're expecting the community to create extensions to replace this functionality and that it won't be in the core code. Fair. To be honest I think there's a lot of functionality that Magento has included by default that really could be excluded, but hey. Who's complaining, right?

Other features that I don't think need a lot of explanation:

Ability to change product attribute set
No more category tree - oh please bring this back.
Prototype out. JQuery in.
API Improvements

The API is something I have to say is, by the sound of it, going to be impressive. They haven't confirmed all of these extras just yet, but RESTful services based on model declaration were mentioned. So all you have to focus on is creating and declaring your module correctly and Magento will automatically make a WSDL and allow access to your module via the API. Pretty neat huh? Although the most interesting part of that talk was when they mentioned automatically making a legacy version when you update your module. Not quite sure how this is going to work yet, I’m sure there are more rules to come to enable this feature (like not altering the database in any major way, or having a conversion from one to the other, but its certainly something to keep your eye on.

Development on Magento 2 right now

Thinking of developing for Magento 2? Just. Don't. From what the team were saying, there are a lot of changes happening in the transfer of prototype to jQuery, particularly on the front end area. Together with a changing core code base, its really not a good idea to start developing anything at this point. Just wait until an alpha's released, but more preferably the beta. The team have indicated that there is going to be a long beta phase, so that gives all the developers plenty of time to convert your modules over when you can. Another big change coming from Magento for Magento 2.0 is the openness we’re seeing when it comes to the development process. Right now, if you’re a developer, you can find it on git hub (https://github.com/magento/magento2) and they’ve said they’re open to git pull requests. They've even been nice about the tools they're creating to assist in the transfer, so fingers crossed it won't be as bad as we think, but only time will tell.