Archive for category News
However, here are some of the latest news:
- Merb 1.0.8 should be released soon with some bug fixes and some improvements
- The Merb book got 2 new sections, Sequel and Active Record. I’ll be spending quite a lot of time on the book in the next weeks.
- Ted Han is working on reorganizing the Merb wiki
- We started a new mailing list for people wanting to help with the Rails wiki
- We also started a mailing list for people wanting to help with the activism effort
We are looking to meeting you all.
Today is Monday. I usually don’t like Mondays.
Being Monday goes with waking up early, going back to work, and lots of deadlines.
However, today is a special Monday. It’s the first Monday of the year and I have a special announcement!
During the Rails/Merb merge announcement, it was mentioned that I will be joining the soon to be created “Evangelism team”.
A few people asked me what being a “Rails Evangelist” means. To reassure my parents and close friends, no, I didn’t join a new cult worshiping locomotives. However, I still think that public transportation should be improved, especially in this time of crisis (but that’s a different topic).
A technical evangelist, is usually someone who knows and uses a specific technology and thinks others should look into it. This is something I’ve been doing for Merb while being part of the core team. I initiated and helped organizing MerbCamp, re-did the wiki, started working on the merb-book, spent time looking for and listening to users, spent time with third party developers and people pushing Merb to a new level (YellowPages, Wikimedia and many others).
This interaction with the end users and the third party developers is something the entire Merb team valued a great deal and I always felt it was something the community really appreciated.
As part of the merge, it was agreed that we would push things further and have a team within the Rails team to take care of “communication”. Rails is a bigger project than Merb and communication between the dev team and the users isn’t always something easy to do.
That’s why we have formed a separate team that will help communicate and support the community better. We now even have an official page on the Rails website itself
The Rails Activists
The A-Team just got announced on the Rails blog.
Instead of being called “evangelists”, we are going to be called “activists”. I think part of the argument was that the E-Team doesn’t sound as good as the A-Team.
We started with team of 4. You might not know them yet but they all are brilliant people and I’m really glad to be working with them.
Gregg Pollack, from Rails Envy. You might remember Gregg from the Rails vs * commercials or from the Rails Envy podcasts. I’ve known Gregg for a little while and he’s someone you can rely on and always full of energy/new ideas.
Ryan Bates, mainly known for his Railscasts. I only met Ryan once in person, but I’ve always been impressed by his work (don’t tell anyone, but I secretly dreamt of having something like Railscasts but for Merb )
Mike Gunderloy. I actually did not know Mike but I have read and enjoyed his blog and have seen his work on the Rails guides. Mike is an experienced writer and developer. He joked the other day saying that he started programming before any member of the Rails team was even born. Mike is a great addition to the team and I’m looking forward to learning from his experience.
So what are we going to do?
Pretty simple. We’ve boiled it down to 2 sentences:
The mission of the Rails Activists is to empower and support the worldwide network of Ruby on Rails users. We do this by publicizing Rails, making adoption easier, and enhancing developer support.
if you prefer a few more details, here are some of the tasks we are going to work on:
- Public Relations with media of all sizes
- Ombudsman work to ensure good user-to-user support
- Community Leadership at events and conferences
- Media Organization to help create good promotional opportunities
- Website maintenance
- Documentation efforts
- Developer support
Do we need help?
Absolutely! The idea is not that we are going to do all the work. The concept of this new team is to help organize the community. We are going to build a Rails Network, a network of people involved in local Rails “evangelism”/activism, people contributing and/or translating documentation, third part developers etc…
First thing would be to join the mailing list and share your suggestions, comments, concerns, etc., with us.
Secondly, we have already set up some forums to hear your feedback.
To start off, we are asking people to let us know what they would like to see happening in the Rails3 timeframe.
We have other forums for more general feedback, but we need to work with deadlines so we can prioritize accordingly. Using the Rails3 milestone should help us focus on a short/medium term deadline. Long term and not specific suggestions are welcome in the other forums.
Finally, contact us. You can find multiple ways to do so on the activism team web page.
- Foy Savas, author or the “merb way” wrote a very well written post on “Rails monoculture”
- Pat Eyler, wrote an article asking if Rails and Merb would be better together.
- Ben Aldred, tell people to stop worrying and start loving Rails 3.
- fotonauts.com a Rails and Merb Photo website developed by an ex-apple team, was featured in TechCrunch. Fotonauts is the perfect example of an app that will bain a lot from the merge.
- Yehuda has been blogging a lot about every single step and even though most people are enjoying a well deserved break, you can read the details of the work started on the merge.
Basically, the work started, we are getting familiar with the rails code base and are optimizing things slowly but surely with a focus on testing JRuby. The Merb router is being optimized and ported over to Rails 3.0. Rails and Merb developers will be able to stick to their DSL (so we stay backward compatible). Merb bootloader is also being ported over without breaking the backward compatibility. Finally, ActiveSupport is being broken down in more manageable/independant chunks so people will be able to pick only what they want to use. A “mini” version is also on the work.
- Merb 1.0.7 got released yesterday with a bunch of bug fixes.
- merb_sequel 1.0 should be released sometime this week and i’m planning on adding rails i18n syntax support to merb_babel.
This is huge!
While people still try to find some drama in a hypothetical war between Rails and merb …
The Rails team and the Merb team announced today that they will work together on a joined version of the 2 frameworks. This is so exciting! Nobody believed it could ever happen (I personally, seriously had my doubt).
I have to say that I have been impressed by the Rails core team and especially David (DHH).
I’ve known David for few years now and we had long (sometimes heated) discussions on topics like i18n/l10n for Rails. David is known to be a very opinionated person. But if you come up with the right arguments, he can be convinced and when that happens, he is willing to move forward and shake things up.
This merge is a concrete example that David and the rest of the Rails team care about Rails and the Ruby community more than we usually give them credit for. As a unified team, we are going to change the way web development in Ruby is done!
But what does it mean for you?
I put together a FAQ video which, I hope will answer your questions.
Hi, I’m Matt Aimonetti from the merb core team and as you might have heard, a big announcement was made earlier today.
I did this video to hopefully answer the questions you might have.
Q: So what’s the big news?
- merb and Rails team will work together on the next version of their frameworks
- merb 2.0 and Rails 3.0 share the same common endpoint
- we realized we now have the same objectives and agreed on all the key principles.
- merb will provide Rails with agnosticism, modularity, improved performance and a public API.
- The end product will be called Rails 3.0 but what real matters is that it’s a huge gain for the entire community.
Q: What??? I thought there was a war going on between Rails and merb, what happened?
- There was no war between Rails and merb
- We created merb because Rails was not fitting us
- We wanted better performance, more choices/ more modularity and a Public API.
- The Rails team now embraces these concepts and want Rails to follow them, so why not work together?
Q: Wait, does that mean that merb is dead?
- Absolutely not!
- merb development won’t stop, we are going to keep on releasing updates until Rails 3.0
- clear migration path, and upgrading to Rails 3.0 will be as trivial as upgrading from Rails 2.x to Rails 3.0
Q: What does the timeline look like?
We just started getting together to discuss the technical details. We are shooting for a release at RailsConf 2009. However it’s hard to estimate this kind of thing so, again, that’s just an estimate
Q: I just started a merb project, so what now?
I’m sure you had valid reasons to use merb, you needed modularity, performance and a solid API.
Keep on using Merb, we won’t let you down. The good news is that the next version of merb (Rails 3.0) will be even awesomer!
Q: What about my client who was looking at using merb for his new project?
If your client is going to be using merb for valid reasons (and not just because it’s not Rails) they should still use merb, but with the full understanding that they will end up using Rails in 6 months or so. Again, Rails 3.0 will have what pushed you to use merb.
Q: I’ve been involved with the merb-book, what will happen with this project?
- Rails 3.0 won’t get released right away
- still need awesome documentation
- if we look at Rails 3.0 as merb 2.0, we can easily imagine how the current work can be extended to the new version
- Rails team will also include an evangelism team which I will be part of, so will be able to focus more on projects like the book
Q: I’ve been working on a merb plugin, what should I do?
Keep working on it! We’ll assist you with the migration process and the new solid API.
Q: What if I still have questions?
Come talk with me, or any member of the new team. We’ll be open to hear your questions, worries, frustrations.
merb always valued its developers and we will continue to do so but on a bigger scale.
Concretely, nothing changes for merb users. People loving merb should not worry. The way you build merb apps won’t change until merb2.0/Rails3.0. We will still work on your favorite framework and improve it.
Lori Holden worked on merb_sequel and we should release a 1.0 release of the plugin in a few days.
I’m sure this news comes as a shock for many of you, but try to not see Rails 3.0 as the way Rails is right now. Imagine a version of Rails with true modularity and agnosticism (sequel, DM and AR will still be supported) and the same type of performance as what you get with merb. In other words, the Rails world is about to discover the power of merb!
Here is what Yehuda explicitly says in his blog post:
- Rails will become more modular, starting with a rails-core, and including the ability to opt in or out of specific components. [...]
- We will port all of our performance improvements into Rails. This includes architectural decisions that are big performance wins.[..]
- As of Rails 3, Rails will have a defined public API with a test suite for that API. [..]
- Rails will still ship with the “stack” version as the default (just as merb does since 1.0), but the goal is to make it easy to do with Rails what people do with merb today.
- Rails will be modified to more easily support DataMapper or Sequel as first-class ORMs. [..]
- Rails will continue their recent embrace of Rack, which [..] will improve the state of modular, sharable logic between applications.
- In general, we will take a look at features in merb that are not in Rails (the most obvious example is the more robust router) and find a way to bring them into Rails.
I’m personally really excited about this opportunity. I had a hard time believing that we could work together but I was proved wrong. We have many challenges in front of us, but watching the two teams working together is very reassuring.
I’m also glad to see that we will have a Rails Evangelism team that I will be part of. I strongly believe that one of the many reasons why merb has been so successful is because we work and listen to our community. We have put a tremendous amount of energy into trying to understand what you guys need and what you like and dislike. In return, we have seen many people working hard on the wiki and the merb-book.
Can you imagine doing that with almost 4 Million Rails developers?
I’m also looking forward to working with a team and reaching to even more people.
Other news related to the merge:
- The RubyOnRails website will keep a trace of this historical moment: http://rubyonrails.org/merb
- The merb training scheduled for Jan 19-21, in partnership with Integrum, will still take place, and if you want to get a head start and learn about the things that will make Rails 3.0 totally kick ass, I’d suggest you join us.
If you have any questions, or if you want me to publicly answer questions on your blog please contact me. I’ll do my best to get back to everyone.
The good news is that the core team is working hard on improving the state of documentation.
You have the Merb Book on which I am actively work on with a team of 20 people (writers, editors and translators).
You also have the documentation browsing application we are developing to let you browse documentation based on where you are in your app.
Finally, you also have other resources like the Merb peepcode.
The point being that we are actively working on improving the overall state of documentation. However, if you wish to learn more about the internals, how to some more advanced stuff like writing plugins, building your own stack, knowing when to use what component, I would suggest you attend the training class that Yehuda Katz (Merb lead developer) and myself are giving in Phoenix, AZ, January 19-21.
This would give you a rare opportunity to spend time with some of people directly involved with the day to day development of the framework as well as other like minded developers.
3 days ago, I announced the Merb Open Source Book project. I expected that few people would be interested as we heard complaints about the lack of documentation.
What I did not expect, was more than 60 emails and pull requests in 2 days, people committing pages of content, fixes and offering their services to translate the book. The mailing list already has 60+ members and the GitHub repository is being watched by 150+ people and has 50+ forks.
While this could be almost overwhelming, I think this is very encouraging. I have to say that since 1.0 got released we heard a lot of praises and and lot of complaints. The Merb team has been trying to prioritize and address reported challenges one after the other. We recently announced that user documentation was our top priority and we decided to work on two projects:
- better access to the code documentation
- Open Source book
Good news, we have an early beta of the new code browser: http://docsbeta.merbivore.com/
This is still an early beta and only works properly on FireFox and Safari. You’ll notice that currently, only merb-core’s public methods are available. merb-more addition is coming soon.
So what’s special about this code browser?
Contextual search and API filtering. In lay terms, you can see what public methods are available to you based on what you are doing. (are you in a controller, model, the console?)
Open Source Book
I put an early beta online: http://book.merbist.com
This is not a static version yet meaning that the markdown files get converted for every single request. I’m waiting for Geoffrey Grosenbach to finish his merb_static plugin. Once he will be done with the spidering, his plugin will automatically export the site as static HTML. The PDF version will be exported using a gem called UFO written by wycats. UFO is a JRuby bridge to Flying Saucer, an awesome Java library which can convert HTML to PDF.
As you can see if you browse the book, we don’t have a lot of content yet. However, you need to realize that we just started 3 days ago! That is what’s so amazing. People didn’t sit back and wait for some core team members to write the content. To the contrary, they have been submitting content and have already started the book translation into 10 languages:
I expect to receive the first Italian translations early next week and I was promised some Indian languages too.
Props to the entire community for putting its money where its mouth is!
- update_attributes regression fixed
- JRuby fixes
- perf boost
Here is a graph representing the growth of of web searches related to the programming category. This is not a comparison of the amount of searches made.
We can see a huge peak around the time Merb 1.0 got released. More and more people are looking for information about what’s already being called the “Ruby web framework for the enterprise”. This is obviously a very interesting and encouraging trend. The problem is that unfortunately, the reality is that when you search for Merb documentation you don’t get very useful results.
Worse still, the main complaint we get is the lack of end user documentation. No fancy screensavers, no demo applications, just a simple, well organized but not expansive wiki. Don’t get me wrong, I’m really proud of our wiki. The wiki was restarted from scratch during the 1.0 RC era and we have some really decent documentation including a step by step BDD example with code on GitHub. The problem is that wikis, in general, are not easy to read when you want to learn a new technology. But they are great when you look for answers to a specific question, like: how do I use authentication, how do use transaction specs with RSpec…
The Ruby community is used to not having great open source documentation and to purchasing books written by experts. I remember when I joined the Ruby community, the company I was working for was looking at three frameworks: one written in PHP, the other in Python and the last one in Ruby. The Python framework was the fastest but didn’t have a testing harness. The PHP framework had great documentation but was PHP (no comment).Â And the Ruby framework almost did not have any documentation but had great momentum. It also had a book released which kind of compensated for the lack of documentation. (I don’t think we would have picked the Ruby framework if all the engineers did not fall in love with the language :p)
Merb has 4 books in the process of being written, 2 of them already available in Beta. This is really exciting but it doesn’t answer the need of two types of audiences:
- People who decide to give Merb a try and don’t have much time/patience/money
- People outside of the English speaking world (yes, even though according to Hollywood, even aliens speak English, the reality is that a lot of people prefer to read documentation in their native language)
To address the needs of people who want to get started quickly, we probably need to write some great tutorials. I think we will soon focus on that. People have already started writing awesome tutorials on getting started with glassfish and Merb and other cool things. However, most of these tutorials are designed for people who already have some Ruby knowledge. So the core team will probably need to help the community get a bit more organized and write some good simple tutorials for total newbies. However this is not really hard to do.
The real challenge for me is to reach the foreign audience. As you have probably noticed by the amount of English mistakes I make, I’m not a native English speaker. I remember learning English by asking my mom to translate computer messages I was getting when using my cousin’s Amstrad CPC and my dad’s Amstrad PC 1512. The first English words I remember learning were: “Game Over” and “insert the floppy disk”
Talking with Brazilian Ruby evangelist Fabio Akita about his books, he reminded me how hard it is to get up to date IT documentation in your mother tongue. People talk about Globalization but in a time were knowledge is power, people outside of the US are still getting IT books one to two years after their US release.
PDF books make things a bit easier but you still need to be able to understand and of course you need to hope the online shop will accept your “foreign” card.
The Merb team has decided to support the documentation effort. At first we thought about updating Matthew Ford’s Merb 4 ninja book. But the project was started when Merb 0.3.x was released and needed a huge amount of work to be brought up to date.
After talking with Matthew, we decided it was probably better to start a new project backed by the core team. I quickly put together a simple localized Merb app rendering markdown files using awesome maruku.
The app is simple to use, simple for editors to contribute content, simple for translators to do their job.
We gathered three Merb book authors: Yehuda Katz, Foy Savas and Matthew Ford and worked on an initial table of contents. At the same time, I got in contact with Fabio Akita, Mathieu Fosse and Makoto Kuwata to see if they were interested in leading the translation in Portuguese, French and Japanese. Everybody got really excited and wanted to start as soon as possible. Here is a short list of goals for the book:
- From the community, for the community
- Creative Commons share alike type copyright
- Simple, organized and up to date documentation of the Merb stack
- Focus on the common use cases
- Early localization to allow centralized, up to date documentation in various languages
- Export to static HTML and PDF
The initial work is available in my GitHub repo and we are planning on publishing an updated version of the book daily. The book will be tagged at the same time as Merb releases, to allow people to go back in time and check the book for a previous version of the framework.
If you are interested in helping, it’s very simple:
- clone the book repo
- modify/add content
- rebase to avoid conflicts
- send me a pull request
- Find out who the translator leader is for your language (check the readme file in the repo)
- clone the book repo
- add translations
- send the leader your pull request
If there is no translator leader for your language, contact me.
I really hope to be able to add Spanish, German and Chinese pretty soon. If you are willing to lead the translation work for these languages, please contact me via email (mattaimonetti at Gmail or via github).
Join the mailing list if you want to get the latest news or discuss the content.
|Subscribe to the merb book mailing list|
|Visit this group|
Finally, Yehuda has been working on another very simple Merb app to let you find available methods and their documentation in context. RDoc is fine, but how do you know what methods are available when you are in a view, and what about in a Model? Once again, the concept is to make your life as developer easier. For a long time we have focused on the framework itself. It’s now time we focused on making it easy to use so more people can enjoy the power and flexibility of Merb.
Of course, all of this is done for you. So if you have any comments, concerns, advise, feel free to contact us directly or leave a comment.