Article Series - Home Theater Renovation
- Protected: Theater Room - Dismantled
- Protected: Theater Room - Ceiling
- Protected: Theater Room - Walls
ArrayList list = new ArrayList();I'm not sure how we handle multi-selection in e4, but this should be something
if (selection instanceof IStructuredSelection) {
IStructuredSelection ssel = (IStructuredSelection) selection;
for (Iterator i = ssel.iterator(); i.hasNext();) {
Object o = i.next();
IResource resource = null;
if (o instanceof IResource) {
resource = (IResource) o;
} else {
if (o instanceof IAdaptable) {
resource = (IResource) ((IAdaptable) o)
.getAdapter(IResource.class);
}
}
if (resource != null) {
list.add(resource);
}
}
}
return new StructuredSelection(list);
@Inject3) I want to associate a help context with my control
public void setSelection(@Named("selection") List<IResource> selection) {
selectedResources = selection;
}
getSite().getWorkbenchWindow().getWorkbench().getHelpSystem().setHelp(In e4 this should be something like:
viewer.getControl(), getHelpContextId());
by Boris Bokowski (noreply@blogger.com) at February 04, 2010 11:52 PM
It’s not too surprising that the Eclipse Foundation thinks that the Eclipse Public License is a darn fine open source license. It is arguably the most commercially-friendly of the copyleft licenses, and one which is particularly well suited for fostering a community building a software platform.
So in June of 2008 we were thrilled with the announcement concerning the formation of the Symbian Foundation and their selection of the EPL as their community’s license. It was a huge endorsement of the EPL which immediately shattered a couple of misconceptions about it. (I’m thinking of things like “the EPL is a Java license”, “the EPL is only for Eclipse projects” and the like.) But of course migrating a large and mature code base to open source takes a lot of work to do, so the original announcement was basically a promise of good things to come.
Today is the day that promise becomes a reality. The Symbian Foundation is releasing its entire code base under the EPL to the world. This is a major accomplishment for that community, and one which they accomplished months earlier than originally planned. Please join me in congratulating the Symbian Foundation in achieving an important milestone in their voyage to becoming a truly open source and open development community.
by Boris Bokowski (noreply@blogger.com) at February 03, 2010 10:54 PM
The candidates for the 2010 Eclipse Foundation Board of Directors are now posted. There are five nominees for Committer Rep and five nominees for Sustaining Member Rep, each group competing for three available seats.
We will have the candidates full bios and positions up by February 8th. Voting opens on February 22nd. You can find a full description of all of the key dates here.
I hope to see lots of community members getting involved in the discussions!
Congratulations to the Eclipse PDT team for their top score on the recent InfoWorld review of PHP IDE’s. Out of 8 PHP IDE’s reviewed, PDT tied for top marks. The other top IDE was Zend Studio, of course based on Eclipse.
The PDT project team and Zend have done a fabulous job creating a world-class IDE for PHP developers. Eclipse is clearly doing well in the PHP developer community thanks to their work.

I had an interesting debugging session the other day.
The Rails app I'm working on for a client uses oauth to get user info from one of the popular professional social networking sites.
In order to keep from hitting that site with an oauth request too often, yesterday I worked on a story to add throttling. The client wanted to refresh the data no more often than an application configurable refresh period.
Easy enough! I already had a model responsible for keeping the oauth token and returning the relevant data. I added a text field to the model where I could cache the data as a serialized object. Then I added code to the method which returned the data which checked to see if the refresh period had elapsed since the record was updated, and if so, make the oauth request to refresh the data, and save the updated record.
Then I started trying it out, and I got a surprise. The first time I asked for the data, it got fetched via oauth, and the model got saved. I asked again, expecting that the cached data would be returned, but once again the oauth request went out.
After playing with it some more in script/console, and adding some debugging printouts, I finally realized that the problem was that the updated_at field in the record wasn't changing. I saw that the sql query generated by the save was inserting the data value, but not a new value for updated_at, strange!
I'd been using the update_attribute method to change the data value. Just for giggles, I decided to see if setting the value and then explicitly saving the record would fix it. Nope! Exactly the same SQL was generated, with updated_at left unchanged.
This is the point where I resort to reading code. This project has Rails vendored, so I had no qualms about inserting some debugging alterations to the code. Actually I'm not immune to temporarily monkeying with non-vendored gems to debug arcane stuff like this either.
So the first thing was to find the code in ActiveRecord which writes the updated_at attribute. I found it in activerecord/lib/activerecord/timestamp.rb
def update_with_timestamps(*args) #:nodoc:
if record_timestamps && (!partial_updates? || changed?)
current_time = current_time_from_proper_timezone
write_attribute('updated_at', current_time) if respond_to?(:updated_at)
write_attribute('updated_on', current_time) if respond_to?(:updated_on)
end
update_without_timestamps(*args)
endThose familiar with Rails conventions will realize this as an override to the ActiveRecord::Base#update method using alias_method_chain.
So, in order for the timestamps to be written, record_timestamps has to be truthy, partial_updates? has to be falsy or changed? has to be truthy.
Now record_timestamps is a class_inheritable attribute on ActiveRecord::Base, which allows timestamp recording to be turned on or off for all or particular ActiveRecord classes, and that was true by default. The method partial_updates? determines whether or not the partial update feature has been turned on or off for the model, again this is true by default
This leaves changed? a method added by dirty tracking which indicates whether anything in the record has changed and therefore needs to be written back to the database as part of the update.
So facing this code, I inserted a puts to show me what those three values were.
And the culprit turned out to be the result of the changed? method, which was returning false!
The partial update feature, along with. dirty attribute tracking, was introduced in Rails 2.1. Dirty attribute tracking keeps track of the value of attributes when a model is fetched, and partial update only writes changed attributes to minimize the amount of data send to the SQL adapter. They use an instance variable @changed_attributes, a hash mapping the name of any attributes whose value has been changed maintained by the write_attribute method. The changed? method indicates whether any of the attributes have changed. There's also a will_change method which alerts ActiveRecord that a an attribute might change directly, say with something like Book.title.capitalize!
So in this case my model fetched the data via an oauth request, and since the value hadn't changed, dirty tracking determined that the model object hadn't changed, so now updated_at timestamp was written.
I'd run afoul of dirty tracking/partial update before. Back in 2008, I got hired by a startup with a sizable Rails app they'd been working on, which used lots of ActiveRecord callbacks and observers. One of my assignments was to upgrade it from Rails 2.0 to 2.1, but the introduction of partial update made some subtle changes to things like the ordering of those callbacks and observed events which badly broke the application. The CTO quickly came to the conclusion that the upgrade was going to cost more than he deemed it to be worth. So, in our case, the jump from Rails 2.0 to 2.1 was a much bigger one than from Rails 1.x to 2.0.
In this case, the fix was considerably simpler, use update_attributes(:data => the_date, :updated_at => Time.now). This worked and ensured that the updated_at attribute gets updated whenever the data is fetched.
After fixing this, I moved on, but one little thing nagged at me. Since the data attribute hadn't actually changed its value, why hadn't the partial update code kept it from being written in the first place?
So I went back and looked a little harder at the active record code and found this:
def update_with_dirty
if partial_updates?
# Serialized attributes should always be written in case they've been
# changed in place.
update_without_dirty(changed | (attributes.keys & self.class.serialized_attributes.keys))
else
update_without_dirty
end
endSince the data attribute was serialized, it always gets written!
Actually I could make the case that there's one of two bugs here:
To be honest, I'm not sure which if either of these is a bug. In my use case, I'd prefer that AR used option 2. On the other hand I can see cases where it would be preferable if updated_at reflected the last time the record actually changed.
On the other hand, I'm not sure that the code right now updates updated_at if the only change to a record is in serialized attributes at least one of whose values has changed.
But, I've got other things to worry about right now, so I guess I'll follow Scarlett O'Hara's advice and "think about that tomorrow!"
by Paul VanderLei (noreply@blogger.com) at February 02, 2010 01:50 PM
I don’t think you can go to school in Canada and not read Hugh MacLennan’s the Two Solitudes. So for me it was an obvious metaphor for a phenomenon that has become apparent to me over the past year or so. That is: Europeans and Americans (particularly Californians) view the practice of software development in materially different ways.
I travel a lot to both Europe and California and I talk to a lot of people about what they are building and how they are building it. In my personal and completely unscientific experience the difference between the two regions is stark. I thought it might be interesting to explain what I am observing and see if others see things in a similar way. I freely admit that my experiences could be completely coloured by sample bias (e.g. maybe I’m just talking to completely different crowds in the different regions).
BTW, some of these ideas are distantly related to Michael Cusumano’s book The Business of Software, where he points out that the US is somewhat unique in looking at software as a business. Certainly there are not that many European independent software vendors relative to the US.
It seems that most of the Europeans I talk to are focused on large systems engineering problems. As a result, they largely view software as part of a supply chain, where what they are working on is going to either be part of or in support of a systems engineering product such as an automobile or an airplane. The next largest group that I talk to are fairly typical application developers working in large banks, insurance companies and the like. But here are the interesting bits:
- Both of these groups are deeply concerned about software complexity and both are looking to modeling and model-driven development as part of the solution. They view modeling as absolutely strategic to their future ability to develop the software their customers or businesses will need.
- I also see a lot more interest in desktop applications as opposed to web applications. Just recently I had two different conversations with groups that are migrating existing web applications to Eclipse RCP desktop applications. This is not to say that Europeans don’t build websites or use RIAs! But in my experience there is a very noticeable difference in the relative interest in desktop applications in Europe.
Now if you’re still reading this, you’ve likely guessed where its going next. My experiences in the US generally and even more so in California is that the Web is king and that anything which doesn’t run in the browser is uninteresting. I also uniformly get incredulous reactions if you ask someone in the US if they’re using modeling or model-driven development practices. They’re all hacking code with small, fast, super-smart teams. It’s just a completely different world in my personal experience.
Do others have similar observations?
The challenge for Eclipse in this context, of course, is to be relevant in both contexts. I actually think that we are doing a good — but not yet great — job of doing so. Projects like e4 are leading the way to making the Eclipse platform more relevant in the Web 2.0 world. But it certainly has a ways to go. The Modeling project has a virtual alphabet soup of technologies in it, but at the moment falls short of a providing a cohesive modeling platform. Something I hope to see the community begin to address shortly.
Last week, I did a little work getting a remote debug story between an iPhone and WebKit's Web Inspector limping. Barely limping. More like crawling. Anyhoo, the write-up is here:
http://muellerware.org/papers/remote-web-inspector-baby-steps.html
by Patrick Mueller (noreply@blogger.com) at February 01, 2010 03:34 PM
If we allow others to make decisions about what the Net is for — preferring some content and services to others — the Net won’t feel like it’s ours, and we'll lose some of the enthusiasm (= love) that drives our participation, innovation, and collaborative efforts.or, reworded for Eclipse:
If we allow others to make decisions about what Eclipse is — preferring some plug-ins and projects to others — Eclipse won’t feel like it’s ours, and we'll lose some of the enthusiasm (= love) that drives our participation, innovation, and collaborative efforts.In other words, as long as the official Eclipse distros are controlled by single companies, the growing body of users will continue to be disenfranchised. I think the Apache Foundation epitomizes what the Eclipse Foundation should strive to emulate:
We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.Required diversity, decisions made by contributors, refusal to allow sponsors to control project direction, ... those are some of Apache's open fundamentals. If elected to the Board, I will work for moving the Foundation in that direction. I'm pro-member-company-profits, but not in a way that is anti-open. I want Eclipse and the Foundation to be viable in the long-term and I believe the only way to accomplish that long-term relevance is through a truly open meritocracy.
by Bjorn Freeman-Benson (noreply@blogger.com) at February 01, 2010 08:02 AM
On stage Wednesday at the Yerba Buena Center in San Francisco, Steve Jobs introduced the iPad as “the best browsing experience you’ve ever had. Way better than a laptop, way better than a smart phone.” Quite a claim.
Of course, the iPad browser is Safari. And from what I’ve seen and heard, it’s more like the iPhone than the desktop version. John Gruber reported that “even though the screen offers the same pixel count as what was once the standard size for a laptop display, iPad Safari renders pages like iPhone Safari. The web surfing experience is all about zooming and panning.”
I’ve had an iPhone for a while now, and done my fair share of browsing in Safari. Since I’m interested in web browser user interfaces (c.f. Browser Bits, my blog on web browser UX), I thought it would be interesting to take a closer look at the little details that make for such a great browsing experience on the iPhone. By examining the most widely-used (and arguably best) mobile web browser, we can better understand what it takes to make a great mobile web browsing experience, and how we might do even better. But also, looking at the design choices made under the iPhone’s contraints can help us break free from our assumptions of what a browser interfaces should be.
The first thing I noticed is that despite the restricted screen resolution of the iPhone (320×480) they’ve still managed to fit in most of the browser controls that we’re used to seeing.
Along the top, we’ve got the page title, the URL bar, and the search bar. It’s interesting that they chose to keep the two bars separate, rather than combine them into one as Google Chrome does. They probably made this choice in order to stay consistent with the desktop version of Safari.
In fact, almost everything about iPhone Safari is strongly consistent with the desktop version. Page loading progress is shown in the URL bar, and the refresh and stop buttons appear at the far right of it. The controls along the bottom — the back and forward buttons, the bookmark button, and the “+” button — all work almost exactly the same. One small difference is that the “+” button, instead than just being used to add a bookmark, serves three purposes: “Add Bookmark”, “Add to Home Screen”, and (somewhat oddly) “Mail Link to this Page”. The last function seems a bit out of place on this menu, but without adding a button, I’m not sure where it would make more sense.
One of the clever design choices Apple made is that top control bar is actually positioned inside the scrollable content area, so that when you scroll down, it disappears off the screen. The initial content area is 356px high, and the control bar takes up another 60px, so the result is 17% more vertical pixels for the page contents.
The bottom control bar, on the other hand, is static. I’m curious to know if the choice to put those controls on the bottom was based on any empirical usage data, because it’s not obvious that they would be used more often than the controls on the top [1].
Another thing to note is how small the URL bar actually is. In most desktop browsers, the URL bar is massive, taking up most of the window width. The iPhone browser proves that’s mostly unnecessary — I’ve rarely needed to see more than the ~20 characters it shows by default. However, the URL bar and the search bar are only that size when they don’t have focus. When you tap on one of them, it expands to fill the full width of the screen.
One weakness of the smaller URL bar is that it makes it much harder for the user to detect a phishing attempt: on many sites, the entire domain isn’t visible. Tapping on the URL bar is useless because it shows the end of the URL, and scrolling it to the beginning is complex and slow.

The extra width afforded when typing into the URL and search bars is nice, but I’ve found that it can lead to mode errors. When I want to go to a new page, sometimes I tap on the wrong box, and quickly hit the “X” to clear its contents. Once the box fills the screen, there is little indication which box you are typing in. The differences are very subtle: the search bar has fully semi-circular ends, whereas the URL bar is a rectangle with rounded corners. But what usually happens to me is that I type the first word of a search query, and then freeze when I realize that there’s no space bar on the keyboard.
If you’ve never used on iPhone, that probably requires a bit of explanation. On the iPhone, the on-screen keyboard changes depending on what kind of text field you are typing in. I’ll explain more in the next section.
Text entry on an iPhone is done using a soft keyboard that takes up the lower half of the screen. In most apps, the keyboard is in the configuration shown below left (notice the space bar). Symbols (like the ones you’d need when typing a URL) can be accessed by tapping the button in the bottom left corner. This is the same configuration used when you’re typing in the search bar. But when you’re typing in the URL bar, the keyboard is different, as shown on the right. The space bar is replaced with keys you’re more likely to need when typing a URL.

An additional hidden feature is that you can hold down the “.com” key to access “.net”, “.edu”, and “.org”. Very handy indeed.
One of the coolest things about this feature is that it doesn’t just work this way in the URL bar and the search bar. The keyboard will also reconfigure on any web page that uses one of the new HTML5 input types (like “url” or “email”). In “email” configuration, for example, the space bar is extra small, and buttons are added for “@” and “.com”. (For more information on this, see Mark Pilgrim’s very informative article on forms in HTML5.)
Ok, so most people probably don’t spend that much time thinking about the keyboard. The actual browsing experience in iPhone Safari consists of three main things: tapping on links, scrolling around the page, and zooming in to content.
Before the iPhone, it was hard to use a mobile browser to view a site that wasn’t specially designed for a smaller screen. iPhone Safari made things much better by providing two ways of easily zooming in to view the page contents.

One way of zooming is to use the multi-touch pinch/anti-pinch gestures. Contrary to popular belief, this was not invented by Apple. In fact, Myron Krueger demonstrated this technique around the time that the original Macintosh was first released. That said, the mere existence of pinch zoom is not enough; the devil is in the details, and that’s exactly where Apple excels.
When you put two fingers on the screen and spread them apart, the view zooms in on a point located between your fingers. This is important, because it helps maintain the real-world “stretching” metaphor. An alternative implementation would have been to just zoom in on the middle of the screen. I’ve used interfaces like that — it’s very frustrating.
Another detail that Apple got right is the speed of the zoom. To be absolutely true to the real-world metaphor, the content underneath each finger should remain static relative to the finger. That is, if you put one finger down on the top right corner of an image, and the other on the bottom left corner, and then spread your fingers apart, they would still be over the corners of the image. In iPhone Safari, the zoom is actually slightly slower than this, meaning that you have to move your fingers a little bit further apart to achieve the same level of zoom — but it feels just right.
The second method of zooming in iPhone Safari is to double-tap on any content to make it fill the width of the screen. This is straightforward with an image, but not so much with text. The most common use case is to double-tap on a column of text, and the browser will zoom so that the column fills the width of the screen. In general, this works exceedingly well, but in some cases, it will zoom to the width of a particular element that is smaller that the column. I’ve seen this problem on sites that have threaded comments, such as Hacker News.
On the subject of zooming: many web sites have an iPhone-specific version that uses the the meta “viewport” tag to ensure that the width of the page matches the width of the device. This tag (introduced by Apple for iPhone Safari) has an option named “user-scalable” which allows the developer to control whether the user can zoom in to the page or not. The default is “yes”, but unfortunately many web sites set it to “no”. This can be frustrating on sites like Flickr and DeviantART, where you often do want to zoom in to get a better look at a picture.
The more you zoom in, the more you’ll have to scroll. On the iPhone, you do this using direct manipulation — just swipe in any direction to pull the page in that direction. Note that this is the opposite of how scrolling works on a trackpad. On a MacBook, swiping down with two fingers will move the viewport down, whereas on the iPhone, swiping down moves the viewport up.
When zoomed in, Safari makes it easy to scroll in one direction only. That is, a swipe that is not quite vertical will result in a perfectly vertical scroll with no horizontal movement. This way, when you’re scrolling down a column of text, you don’t have to re-adjust the horizontal position every time you scroll. In my opinion, it’s still a bit too easy to go “off the rails” when attempting to scroll vertically. However, it’s a delicate tradeoff, because you want horizontal scrolling to remain responsive.
When you are in the midst of scrolling, you see bars along on the side of the screen that look very much like a scroll bar in a desktop application. This goes for the entire iPhone, not just Safari. These “scroll bars”, however, are completely read-only. They are just there to help you get a sense of where you are on the page. When you stop scrolling, they disappear. It’s good that they don’t take up any screen real estate, but frustrating when you are on a really long web page and want to scroll all the way down to the bottom. This would be even more of a problem for scrolling back to the top of the page, except that there is hidden feature on the iPhone for this purpose. Tapping the status bar at the top of the screen scrolls the main viewport back to the top. Very useful, but very hard to discover. Well, unless you read the documentation.
When reading said documentation, I actually discovered another hidden feature. To scroll within a frame or a textarea on a web page, you can swipe with two fingers. However, on my iPhone 3GS running OS 3.1.2, this doesn’t actually seem to work with either textareas or iframes.
Just like other iPhone apps, Safari has “kinetic scrolling” — swiping with your finger gives the page momentum, and it will continue to scroll after you’ve lifted your finger off the screen. And when you hit the bottom or the top, it will scroll a bit past it before snapping back. It’s a nice, natural, and cute way of indicating that you’ve hit the end of the page.
For some reason though, web pages just don’t scroll the same as other controls on the iPhone. They seem to have less momentum, or more friction. John Gruber has written about this before, going as far as to say that it’s one of the main ways that iPhone web apps fall short of native apps.
Besides scrolling, clicking on links is the most common thing people do in a web browser [2]. In iPhone Safari, following a link is as simple as tapping on it. It seems pretty straightforward and uninteresting, but given the size of a human fingertip and the small size of web content on the iPhone’s screen, it’s not as easy as it might seem. Given that most web sites are designed for use with a pixel-perfect input device (the mouse), it’s actually pretty amazing that about 95% of the time, I can manage to follow the correct link in iPhone Safari. I’d guess that the hardware is the major factor here, but it still feels like there is some kind of software heuristic at work. It’s easy to take this for granted, but given my experience with various multi-touch interfaces, it’s actually a remarkable achievement that tapping links on an iPhone is as precise as it is.
Another thing to notice is that scrolling and zooming are very rarely mistaken for a link tap. This comes at a cost of responsiveness — there is a slight delay after you tap a link, as it waits to see if another tap is coming. But the delay is subtle enough that it’s hardly noticeable.

iPhone Safari does not support tabs. This isn’t surprising, due to the screen and resource limitations of the iPhone. Instead, it has the concept of “pages”, which are somewhat like multiple windows. When you click a link that would open in a new tab or window (such as in GMail), or open a URL from another iPhone app, it will launch in a new page. When you click on the “pages” button in the lower right, you can flip through all the pages that you have open. From this view, you can close pages, or create a new page.
When a link is opening in a new page, there is a nice little animation that makes it clear that you are going to a new page that is to the right of the current one. Without it, you might become confused and wonder why the back button doesn’t work anymore. This actually happens to me sometimes when using desktop browsers, and I’ve heard other people report having the same problem.
There is a limit of 8 pages that can be open at any time. I suppose this is to conserve resources, and to prevent the list from getting unwieldy. If you have 8 pages open and a link needs to be opened in a new page, you will lose the first one in the list. However, this has never actually happened to me.
Although they are called pages, they behave very much like tabs. They have a close button on the top left, and just like with tabs, when you close a page, the one to its right takes the focus. This is another example of how strongly Apple cares about keeping consistent with the desktop user experience.
The key feature of tabs that is not supported by iPhone Safari’s “pages” is the ability to open a link in the background. You can open a link in a new page by touching and holding the link then selecting “Open in New Page”, but this will immediately switch focus to the new page, rather than loading it in the background.
Well, when you’re trying to put a fully-functional web browser on a mobile device, you can’t do everything. Here are some of the key things iPhone Safari is missing:
One of most discussed (and hotly debated) things about iPhone Safari is its lack of Flash support. It was never entirely clear whether this was a technical decision or a political one; that is, until Wednesday when we learned that the iPad won’t support Flash either. From a user experience point of view, this has its pros and its cons, but I think it’s a good thing for the web.
A small annoyance that bites me from time to time is the lack of find-in-page support. However, there’s a plethora of bookmarklets out there that can add the functionality. (Actually installing bookmarklets is pretty painful, but I digress.)
I mentioned the fact that small size of the URL bar makes it difficult to visually detect a phishing attempt. There’s also no way to see details about the SSL certificate. The only security-related thing I see is the lock icon that appears before the title when you’re using an SSL connection, but what good is that if you can’t even see what site you’re connected to?
Update: In the comments, PCheese points out that iPhone Safari has phishing protection just like the desktop version.
Any file input widgets in HTML forms are just shown as being disabled. Since there’s no user-visible file system on the iPhone, this isn’t too surprising. Still, it would have been nice to provide a simple way of choosing a photo or video to upload.
In the study on tabbed browsing I ran in 2009, I found that many power users habitually open links in new tabs, especially on search result pages and on sites like Digg and Hacker News. I find that the inability to do this on the iPhone seriously changes my browsing habits. And I’m quite surprised that the iPad doesn’t appear to support tabs, though this may of change before it’s released.
The iPhone was a revolutionary computing device, in no small part due to how great iPhone Safari is. In its user experience, Apple did what they do best — put a great amount of energy and effort into perfecting the smallest details of the design. I hope this article has helped you notice more of those details.
The version of Safari on the iPad looks to be highly influenced by iPhone Safari. This is interesting, because its screen resolution is bigger than most web users had in 2005 [3]. If it really is “the best web browsing experience ever”, aspects of its design will no doubt trickle up into desktop browsers.
The 1.0 release of e4 is planned for July 2010. Obviously, this is an important milestone for the Eclipse community. The e4 development team is doing a great job building the next generation Eclipse platform. However, as we all know, any new technology also needs evangelism, education and promotion.
People are already creating some compelling e4 tutorials, demos and presentations. I am hoping that a coordinated effort might accelerate the material we have available when e4 is launched in July. Therefore, I have started an e4 Evangelism page on the e4 wiki. The idea for this group is to create 1) a consistent set of messages, 2) a repository of content produced or expected to be produced and 3) a community to brainstorm new ideas. We are also going to host month conference calls for anyone interested in helping to spread the new about e4. The first call will be this Thursday at 20:00CET, 2pmET/11amPT. Call-in numbers are on the wiki page. I hope you can join us.

What do the following people have in common? Ed Burnette, Linda Watson, Alain Magilore, Chris Aniszczyk, Kimberley Peter, Tim Schindl, Ed Merks, Dainel Megert, Remy Chi Suen, Eric Rizzo, Nick Boldt, Paul Webster, and Benjamin Cabe.
Or the following products: Gumtree, Lombardi TeamWorks, RadRails, BEA Worksship Studio, Jigsaw Interactive, PSICAT, Tibco Business Studio, eclipse-cs Checkstyle, QNX Momentics, JPMorgan Chase, Wind River Workbench, EclEmma, Cyrano, XMIND, MyTourbook, Instantiations WindowBuilder Pro, Acceleo, ProSys mBedded Server, ModuleFusion, CHord Scate Generator and Apache Directory Studio.
Answer: They are all past winners of an Eclipse Community Award. Since 2006 we have recognized some of the leading individuals and products that make Eclipse a great community.
At EclipseCon 2010, we will once again announce the winners of the Eclipse Community Awards. Nominations for both the Individual Awards, Project Awards and Technology Awards close end of day Friday, January 29. We already have great individuals, projects and products nominated but please take the time now to recognize who you feel has made a difference this pass year.

So Firefox 3.6 has been released and is ready for download. With it comes the challenge of determining whether some of your favorite extensions still work and, if not, what the alternatives are. Luckily, in my case, this version release didn’t cause too much trouble. Here are a few issues I ran into along with their solutions in case it is of interest:
For a list of all my favorite Firefox extensions or Firefox related info in general, check out my Firefox page.
by Bjorn Freeman-Benson (noreply@blogger.com) at January 25, 2010 07:07 AM

Its always fun to look over someone’s shoulder and see how certain technology is used so I thought I’d share my setup. In this case, I’m talking about the home screen of my iPhone since it where I keep the most trafficked applications.
Here is a break down of my home screen (left to right, top to bottom):
For a list of the apps mentioned above and other iPhone related news, check out my iPhone page for more info.
One aspect of the marketing discipline I don’t like is when marketeers spend considerable amount of time and money investing in logo designs, names, colors and tag lines. I used to work for a company where the VP Marketing claimed the new logo and look was going dramatically propel the company to greatness. Hundreds of thousands of dollars later the company still had mediocre products. There are many examples of unsuccessful corporate re-brandings/re-naming of previously successful software companies; remember Inprise? This is one area of marketing where I tend to place less importance and effort.

Given that personal bias, I come to the Eclipse logo. If I am not mistaken the Eclipse logo has been around for 8-9 years without a lot of change. It has done our community very well. It is well recognized in our industry and I like it. That being said design practices have changed and it might be time to look at ‘modernizing the logo’.
The e4 development team, specifically Susan McCourt, got me thinking the time is right. The e4 development team has been looking at updating some of the Eclipse UI elements but they started to realize this might start to impact the Eclipse logo. Therefore, I agreed to look at updating the logo.
So what does this mean?
I don’t believe we are creating a new logo; we are updating/modernizing it. The results of any update must be readily apparent that this is the logo for the Eclipse community. We aren’t going to invest in a multi-million ad campaign to promote the new logo. If we choose your contribution, appropriate Eclipse swag will come your way; maybe even with the new logo.
If we are going to make the change for e4 and Helios, then we need to get it done by EclipseCon. Therefore, I want to set a date of March 15 to conclude on a new look or decide we remain with the existing look.
For a point of reference the artwork for the current logo and the different versions is available at eclipse.org/artwork/.
As a reminder, we are not designing an e4 logo, so please don’t incorporate e4 into a new look.
Submit your suggestions, ideas and comments on this bug.
Start your artistic engines and get designing. Your creation could be with us for the next 8-9 years.

Well, it took its time coming, but reports are that the acquisition has been approved by the EU today.Back nearly 2 years ago I wrote about the lack of “free” wifi at the Ottawa airport, I was pleased to find out they now offer free wifi. I’m not opposed to paying for wifi access, but most of the providers charge more than I’m willing to pay. If it’s not free then I think theStarbucks model of buy something (a coffee card) and get access is a great way to go.
As you can see from the image, there is still an optional pay service at YOW – but the free one is clearly marked. I ran a quick speedtest that showed 186kbps down / 26kbps up – not very fast but I don’t expect much for free. It worked well enough to check twitter and get to my web mail.
For this trip, I was headed to Florida. The Orlando airport (MCO) also has free wifi, currently it is supported by Google through the holiday season but it is always free. I’ve been in several US airports which also have free wifi year round, and given that you’ll likely end up waiting around for your flight having internet access is a great way to while away the time.
Ideally any location you end up waiting in for some undetermined amount of time should have (very) cheap or free internet. My car dealership has free wifi in the waiting area, why not extend this to doctors offices, bus stops, train stations, banks, etc? Imagine if the government decided that all of its public service centers (think passport office) would have free wifi - I’d be way more willing to sit patiently and wait.
One last note – I’d like to recommend the WiFi Get app for the iPhone/iPod Touch. I think it’s a must have app if you travel with your device.
by Boris Bokowski (noreply@blogger.com) at January 18, 2010 04:43 PM
by Bjorn Freeman-Benson (noreply@blogger.com) at January 18, 2010 05:30 AM
This has been a really good week for the EclipseRT runtime strategy. There were three announcements that indicate we are making good progress for establishing Eclipse as a community for creating innovative runtime technology based on OSGi.
1. Project Virgo was announced and proposed this week by SpringSource. As Mike and Adrian have described, this an important step towards making it easier for enterprise developers to adopt OSGi and EclipseRT technology. Project Virgo plus Project Gemini (proposed by Oracle and SpringSource) bring to Eclipse all of the key reference implementations for the OSGi Enterprise specifications. If you consider the fact that Jetty is already an EclipseRT project, then the runtime story is looking really good.
2. Yesterday, Heiko Seeberger from WeigleWilczek proposed to bring the existing ScalaModules project to Eclipse. I believe the future of OSGi needs to include support for other languages. Right now, OSGi is too tightly tied to Java. I see this support for Scala and the e4 work on JavaScript bundles as an important part of the future for EclipseRT and OSGi. I would love to see support for other languages at Eclipse? Ideas and contributors are welcome.
3. Jeff McAffer announced his Equinox and OSGi book has been sent to the printers. I realize there are other OSGi books that have been published. However, my feeling is we need more. We need to make it easier for developers to understand and adopt OSGi, books are a key tool to make this happen. Congrats to Jeff, Simon and Paul for adding to their book to the mix.
Three key announcements that point to nice momentum for EclipseRT. I also think there are more good things coming. EclipseCon will be an exciting time for EclipseRT and OSGi.

The future of Java technology in the enterprise rests with its rapidly evolving ability to regain its original promise of lightweight, flexible and dynamic application development and deployment. In other words, the faster Java gets to the stackless stack, the brighter its future will be. As James Governor said in his seminal article, “component-based development is a common idea, but component-based production is a whole different ballgame.” That has been the vision of the EclipseRT project since its inception: the ability to support deployed runtimes which use only those components actually required by the applications at hand. This is an inherently service-based approach, and one which has seen rapid adoption by enterprise Java and Enterprise Service Bus vendors.
SpringSource has long been one of the most visible and vocal leaders of lightweight, componentized Java runtimes. Today, they bring that leadership to Eclipse. The Virgo project proposal brings to EclipseRT project a key component (no pun intended) required to provide a complete offering of OSGi-based runtimes from the Eclipse Foundation: a complete module-based Java application server designed to run enterprise Java applications. Based on SpringSource’s dm Server, we believe this project will increase the momentum of the enterprise Java developer community under the Eclipse umbrella.
The past couple of years, “establish Eclipse runtime technology as the leading open source runtime platform” has been on the top of the list of the strategic goals of the Eclipse Foundation. The recently announced Gemini project — and now Virgo — go a long way towards realizing that vision.
You can read more about Virgo on Adrian Colyer’s blog post.
[Revised to fix broken link to Adrian's post.]
"The community of developers whose work you see on the Web, who probably don’t know what ADO or UML or JPA even stand for, deploy better systems at less cost in less time at lower risk than we see in the Enterprise. ... More important is the culture: [with] development cycles [no] longer than a single-digit number of weeks."The Foundation needs to both enable, but also to actively lead, the community toward this kind of development... It should take no more than 15 minutes to start a new project (or new projects will go to github). It should take no more than 15 minutes for a newbie to get started contributing to a project (or people won't join). It should take no more than a week to finalize a release (or we'll be left behind). Etc... There's a lot of good technology at Eclipse and a lot of good people in the community, but the software world is going through one of its regular massive waves of change, and the Foundation processes are contra-indicated for being part of that wave. I want to see those processes changed so that the greatness that is Eclipse can participate in the change that is occurring.
by Bjorn Freeman-Benson (noreply@blogger.com) at January 11, 2010 06:00 AM
This is the first year I’ve just kept biking once it started getting colder and snowier. Pete, on my team, has been doing this for a few years and I decided to keep my bike fitness I’d do it as well. I’m also taking an Off-season cycling class at the RA centre which started focusing on core strengths and is now heading into pushing the aerobic capacity we’ve built up. Biking through the week is critical as just taking the 1 class per week was not going to cut it and I’d rather be on the road that sitting in a gym.At CES, Microsoft announced “Game Room for XBOX 360″, which is purported to “recreate the old school arcade experience for you (and your avatar)”.
For Pete’s sake people, can we please stop finding yet another way to re-deliver games that we got bored of twenty years ago. If we ever want the world at large to treat games like a valid art form, we’ve got to stop glorifying trivial gameplay and graphics so stupid-ugly that they can be implemented by emulating the whole bloody machine in JavaScript.
Thanks for the socks and all that, but my G1 is nearly 18 months old now and I was thinking about getting a Nexus One.
I had assumed that the system was busy, but the problem lasted a long time, so I tried with IE, and hey presto it works.


by Darin Swanson (darin@reasontorun.com) at January 03, 2010 09:44 PM
An open source organization or company is one that contributes a significant number of developer-person-hours to open source projects.2Microsoft does not contribute significantly to open source projects; Red Hat does. The Eclipse Foundation does not; whereas the Eclipse-centric companies do (IBM being the star contributor). Thus the Foundation itself is not an open source organization: it's a trade association of open source companies, and as a trade association it undertakes activities to support those companies (such as mailing lists and source code repositories).
by Bjorn Freeman-Benson (noreply@blogger.com) at January 03, 2010 12:51 PM
Uncharted 2: Among Thieves is the sequel to the 2007 game Uncharted: Drake’s Fortune. At it’s core, Uncharted 2 is an “action adventure” game — think Tomb Raider — with all the standard features: run and gun levels, platforming, environmental puzzles, etc., but what really sets this game apart is the cinematic quality of the ultimate experience.
To give you some idea of what I mean, I can tell you that I happened to be watching the latest Indiana Jones movie on the day after I finished Uncharted 2. Hands down, the game beat the movie at every level — action, story, characters, even emotional impact.
This is a good game. It’s definitely the best PS3 game I’ve played in 2009, and I’d put it up with the “greats” like System Shock and Mass Effect in terms of how much I enjoyed the experience. If I had to complain about anything, I’d say that the strength of the story ultimately limits the replayability, but even at that, I suspect that I will play it again at some point.
Click the picture above to get to the official game site. If it doesn’t start automatically, check out the “E3 Trailer” to see what you are getting yourself into.
Summary: Get it.
Rating: 9.5/10
I host my own email server, this in itself is a very odd thing to do in this day and age. If you want email to come from your domain, Google offers this for free and provides the same interface as Gmail. If you insist on running your own mail server, then setting it up to use your ISP as a smarthost is the easy way to go (very easy with Ubuntu), of course I didn’t take that path.
As an aside, setting up a mail server that uses fetchmail to gather email from the various accounts you have, and using a smarthost configuration to send email does give you most of the benefits of running your own mail server with very few headaches. The reason to do this might be that you don’t want to trust Google (or someone else) to hold all your email, and/or you don’t want the individual PCs in your house to be the storage for your email (hard to migrate to a new machine, recover from disaster). This is how I started down the path of running my own true email server. [I keep thinking that someone should create an easy to install NAS add-on that provides exactly this type of email server]
Ok, maybe you don’t want to run your own email server but you’re interested in knowing what is involved… Having a static IP address is handy, mostly to save you from DNS issues. While you can manage to have a domain name tied to a dynamic IP, many blacklists include the IP ranges used by ISP for dynamic addresses. Of course you need a domain name, and a DNS server too. You might also want to consider a secondary MX record, in case your connection goes down. You’ll also want to check that your ISP isn’t blocking port 25 outgoing, and having a valid reverse DNS is important too.
So you’ve followed the Ubuntu documentation and setup a mail server, great. Assuming your IP address is “clean” (ie: not on a blacklist), then you can probably send email just fine. Until you start hitting problems where spam filters have taken a dislike to your system – in my case it was Rogers (email provided by Yahoo) that treating my outgoing as spam. One solution is to have the recipient add your email address to their address book so they do still get to see your email. It may still get tagged as [Bulk] but it won’t get lost. This isn’t a great solution for someone new you want to contact, or a friend who isn’t terribly technical.
It turns out there are some additional measures you can take on the email server side to add more trust. There are three I’ve implemented:
All of them rely on the same basic ‘trick’ of adding a TXT record to your DNS information that serves to validate the email. This works for the simple reason that spammers tend to use botnets made up of machines without valid DNS records. SPF simply is a declaration that the IP address sending the email is allowed to send email for the specified domain. DKIM is an updated version of DomainKeys, but both can be used concurrently and some systems only know one. Both DKIM and DomainKeys have the email server sign the email with a secret (private) key, and the DNS record has a public key that will validate the signature.
After implementing all three, it turns out Yahoo was still tagging my email as spam. Very frustrating. One solution I did consider was to avoid the problem entirely and selectively smarthost email going to rogers.com (and yahoo.com, etc). In the end, it turns out that Yahoo maintains their own blacklist of sorts and you can request to be removed. To check this, you need access to a yahoo email account that you can send test messages to. By examining the header you will see X-YahooFilteredBulk if your IP is on their blacklist, this appears to be independent of the status of your SPF/DKIM/DomainKeys authentication that should show as a pass. The solution is to fill in the Yahoo form, and be persistent. Much of the form will not apply but you do need to fill it in with something reasonable (and valid). After a couple of exchanges over several days I was rewarded with this reply:
While we cannot fully exempt your mail server from our SpamGuard
technology, we have however, made appropriate changes to this IP address
in our database. This should help with delivering mail to the
appropriate Yahoo! folders.
Now email sent to yahoo.com is not tagged as spam or [Bulk] – I did a little victory dance once this happened.
The remainder of this post goes into some of the details of getting the three (SPF, DKIM, DomainKeys) implemented.
(...)
Read the rest of Earning Trust for Your Email Server (341 words)
by John Duimovich (noreply@blogger.com) at December 28, 2009 07:41 PM
by John Duimovich (noreply@blogger.com) at December 28, 2009 05:08 PM
by John Duimovich (noreply@blogger.com) at December 26, 2009 01:50 PM
Here’s a quick link-of-the-day with MacWorld’s take on an a number of the currently available e-book readers:
Personally, I’ve tried all of the Sony’s, the Kindle 2, and a couple of other e-ink based ones. In all cases, I found the screen flash on page turns quite frustrating. Ken tells me that you get used to it, but for me the iPhone still bests all of the other devices, as long as you aren’t trying to read PDFs. (And that’s not just because I’ve always got it with me.)
What I really want is an Apple tablet with a Pixel Qi-like display.
Ok, so the story isn’t deep — seriously, the guy beside me in the theatre brought a four year old and a six year old and despite the disturbing parenting choice they both “got it” just fine.
And even though the er… avatars didn’t quite make it out the other side of the uncanny valley, they were close, oh so very close. I can honestly say that there were many scenes where it never even occurred to me to think about how long it would have taken to render.
You owe it to yourself to go see this in 3D. Even if it doesn’t seem like your kind of movie, the sheer artfulness of it is enough. Afterwards, leave a comment. There are things worth discussing.
Update: There are likely to be spoilers in the comment stream, so if you haven’t seen the movie yet, don’t click through.
The EclipseCon Program Committee will be hard at work over the holidays. They have until January 9 to review 430+ submissions and select about 150 talks for the final program. Given the success of my recommendations for the Early Submissions, I thought why not give them a helping hand.
My vote goes to having lots of case studies at EclipseCon. I enjoy hearing how people use Eclipse for building cool applications. Therefore, here are the case studies I found in the EclipseCon submission system:
Creating Dynamic Enterprise Applications with Eclipse RCP – Cerner Healthcare is using RCP to build their next generation healthcare software. What is one of the hottest IT topics in the US: Healthcare and a major player is using Eclipse RCP.
Case Study: SRM 2.0 – A next generation shared resource management system built on OSGi and Spring DM – St Jude Hospital has create a lab management system using OSGi and Spring DM. Looks like they migrated from JavaEE to the new OSGi architecture. I need to see this presentation!!
Modeling the World – If you want to move an oil rig, then model it first – Modeling the movement of oil rigs at Marintek
My Unmanned System is Eclipse Powered – unmanned surveillance systems for things like border security.
OneBench Reloaded – Pushing the (OSGI) Modularity Story in an Enterprise-wide Rich Client Stack – JPMorgan is a long time user of Eclipse RCP. OneBench is a great case study on the power of RCP and I’d love to hear the update.
Use Xtext to Automate PBX Stress Testing – An interesting use of XText; DSLs and XText have a huge amount of interest.
Eclipse Modeling at Deutsche Boerse AG – More XText goodness, this time at the German Stock Exchange.
Practitioner Report: Migrating a large modeling environment from UML/XML to GMF/Xtext – Okay, another XText case study. A German billing center for pharmacies migrations to GMF/Xtext.
SDOL an Exclipse-Based DSL – State of Montana using Eclipse to create a DSL. Did I mention DSL and Eclipse is hot?
Eclipse meets Systems Biology – Using Eclipse RCP technology to predict the effects of drugs and mutations.
Eclipse to the Rescue – This case study was one of the early bird selection, so we get to see some pretty cool RAP and RCP applications for doing emergency planning simulation.
CRM for Mobile Customers With Eclipse – Besides being a cool RCP app in a cool space, they are using EMF, BIRT, p2, and maybe b3. Looks interesting.
Elexis – Private Practice With Eclipse – RCP application for patient records.
My apologies if I have missed some case studies. Please feel free to add them as a comment.
EclipseCon PC no need to thank me. You have a tough job, since I know there are lots of other really interesting submissions but please make sure I get to see some of these case studies.

by Bjorn Freeman-Benson (noreply@blogger.com) at December 21, 2009 05:00 AM
Well way back in March of this year I got myself a new cell phone, the Nokia 5310. Now that I’ve had it for a good part of the year, it is overdue for a review posting. Many of my friends have iPhones, BlackBerries, or Android (HTC) phones – giving me some serious gadget lust. I’ve read other reviews of the 5310 which put it in the smartphone category, and while it is a good phone and has reasonable performance and functionality – it isn’t in the same league as an iPhone.
Let’s start with what I like a lot about the Nokia 5310: Battery life – I charge my phone once a week, Sunday night. Granted I’m not a heavy user of the phone: I’ll log 15mins of calls during a given week, a few text messages, and this week I listened to MP3’s on it for an hour – all on one charge. My number two feature is the form factor, this phone is small. Many do not like the candybar style – but for me, I find it works. Up third is voice / call quality. My experience with Nokia phones is that they deliver great voice quality, and the 5310 has not let me down.
Ok, on to a few negatives. The camera is pretty poor, it feel slow and needs bright well lit scenes to take pictures that don’t totally stink. The display while nice and readable, even in full sun – seems to have two small dust leaks in the bottom corners. The result of the dust leak is visible in the photos of the phone, it doesn’t impair day to day use but it is sort of annoying. That’s it for the negatives really, I might complain a little about the buttons not being very positive feeling but I’ve gotten use to them.
The pictures above shows my iPod Touch and the Nokia 5310, it really puts into perspective how small this phone is.
Other features that I’ve found useful: Bluetooth support, both headsets and data connectivity over bluetooth. This allows me to synchronize the address book with my computer and move pictures, music, or MIDP (java) to and from the phone. There is also a USB cable interface (good for firmware updates). It has a standard 3.5mm headphone jack, and it does support MP3 playback (the quality of the music playback was very good). There is a speaker on the back, and it is quite loud (great for speaker phone calls). It has a micro SD slot, and I’ve got a 1Gb card in there but it will support up to 16Gb. The screen resolution is 320×240 and as I mentioned above, it is quite readable in even full daylight.
In summary – it a great little phone. The battery life is awesome and let’s me taunt my iPhone friends. I don’t think any of the carriers are offering these anymore, but you can find them used for $120-$175 quite easily (in fact, I purchased mine used).
Now you might have noticed the Apple logo on the screen in the first picture, there is a story behind that. This specific Nokia 5310 is unlocked, and unbranded (some say debranded). Read on for the gory details..
(...)
Read the rest of Nokia 5310 Review (679 words)
I continue to be thankful that we are lucky enough, as Canadians, to have access to the best-of-breed, thought provoking, genuinely compelling content from CBC Radio One. I have talked about their shows both positively (e.g. Ideas) and negatively (e.g. Wiretap) before, and now I’d like to draw another excellent program to your attention: Afghanada.
Afghanada is a radio drama series about the day-to-day life of a small group of Canadian soldiers stationed in Kandahar Province. The writing is strong, with a cast of characters that truly feel like living, breathing individuals put in frequently hellish situations. Having never been a soldier, I cannot say whether the portrayal of these people’s lives is accurate, but I can say that the power of this show has made me feel more compassion for the individuals in our armed forces than all of the traditional news reporting put together.
I am particularly pleased that you can now get all three seasons worth of Episodes of Afghanada via iTunes. Season one is an awesome deal, at $12 for 22(!) half hour episodes.
I highly recommend this series to anyone who enjoys well acted, radio programming.
(and say “Hi” to Coach for me)
It’s fascinating.
I was reviewing the comment spam for this blog, or rather I was reviewing the ones that didn’t get automatically caught — there’s always a couple. This time, there was one reply that genuinely looked like it could have been legitimate. The content was apropos of the original post, if not directly focused on it; it was clearly not machine generated (i.e. no “dissociated press” style errors); and the tone was heartfelt.
The only things that seemed out of whack were:
I really couldn’t definitively cast it as spam. But, for those that don’t know, I loath spammers. To give you some idea of how much, on one of my other sites you can find this:
I formally curse all spammers as follows:
Your children will die of a disease that would have been curable, except that you put such a drain on the internet that the communication needed to discover the cure did not happen.
You get the idea.
In any case, this time the particular comment in question didn’t make it. So, if you’re out there thinking that you legitimately replied to this site, and you don’t see your response, and you’d like to have a discussion about it, feel free to send me a note.
Last week the Phusion guys, gave a talk at Google about the implementation of Ruby Enterprise Edition, and it's now available on YouTube.
It's good stuff if you are a VM geek, like me. The cover two major topics
So if this kind of stuff interests you, I'd recommend spending the half hour or so that it takes to watch the video
During a recent visit to the Wikimedia Foundation, I had a very interesting discussion about community and change with Sue Gardner (Executive Director) and Erik Möller (Deputy Director). One of the topics we touched on was the video format the Wikimedia Foundation has chosen: the open format Ogg Theora. They spent a lot of time and energy on the format decision because it was a difficult tradeoff: on one hand, choosing a proprietary format (WMF, Quicktime, Flash, etc) would provide immediate access for everyone, but conflict with their goal of "freely available information everywhere for everyone". On the other hand, choosing an open format would limit availability but would ensure the information remains unfettered by a single company. So what should they do?The Eclipse Foundation could play the same leadership role in solving the Tragedy of the Commons. Mike is the charismatic, forceful leader that member companies would follow - in fact, I think he's the only person in the Eclipse ecosystem who could create the kind of corporate investment that is needed - that's why I was a key vote in hiring him at the beginning1. I believe that no single company is willing to step into the resource vacuum because nobody (not even IBM) has the deep pockets that IBM had from 2000-2004 — our only hope of corporate investment to solve the tragedy is a central leadership bringing the major strategic players to the table to staff the core team.
Instead they chose a third route: they chose an open format but at the same time, used their leadership position in information to convince the major browser vendors to include Ogg in HTML5. This is huge. This is leverage. This is change for the better.
by Bjorn Freeman-Benson (noreply@blogger.com) at December 15, 2009 06:48 AM
The next step for Eclipse Marketplace (MP) is bringing MP direct to the Eclipse user desktop. We want to build a MP client that will be distributed in all of the Helios EPP packages. Instead of navigating to a separate web site, the Eclipse user will have an integrated user experience to discover Eclipse solutions.
We have already started a discussion about the MP client requirements. Please feel free to add your thoughts to the discussion.
We want to have the MP client built in time for Helios. To make this happen, the Eclipse Foundation has a budget to fund the development work. Therefore, we are now asking interested parties to submit proposals for creating the MP client.
Some details about what we would like to see in the proposals:
1. The requirements for the MP client will be documented in this bug. The final list of requirements will be determined with the developer/organization building the MP client and the Eclipse Foundation. Each proposal should describe the approach the developer/organization will take to fulfilling these requirements.
2. The intention is for the MP client to become a component of the EPP project. All the code developed will be open sourced and the developers building the code will be expected to follow the Eclipse development guidelines.
3. Each proposal should describe the experiences the developer/organization has with building Eclipse solutions that would be relevant to a MP client.
4. The MP client needs to be finished in time for Helios. Therefore, a feature complete beta needs to be available by March 19 (Helios M6).
5. The developer/organization will be expected to support the MP client through Helios SR1, SR2 and the 2011 release train. Support will include bug fixes, testing and release engineering for the new releases.
6. Each proposal should include the cost for the work.
7. Proposals need to be submitted by January 15, 17:00ET. Send your proposal to me at (ian dot skerrett at eclipse dot org). We will make our selection by January 29.
Feel free to contact me or leave a comment if you have any questions. We are on a very agressive timeline but I am very excited about this next step for Marketplace.

Last week we saw probably more conversation than any of us wanted about the notion that Eclipse is a trade association and therefore not an open source community. I believe that perspective to be misguided as it implies those two states are somehow mutually exclusive. They are not. And it is our community’s embrace of both that makes Eclipse unique.
The Eclipse Foundation is and always will be a trade association. It is also and always will be an open source community. This duality is built into our bylaws, our organization and, I would assert, our DNA. Consider the following sentence from the first paragraph of our Bylaws:
The purpose of Eclipse Foundation Inc., (the “Eclipse Foundation”), is to advance the creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an open source community and an ecosystem of complementary products, capabilities, and services.
That sentence captures the very essence of the Eclipse Foundation. Our mission is to both move the technology and community forward and to work on its commercialization. The “trade association” of member companies financially support the operations of the Eclipse Foundation. Over 70 of them also provide committers who work on projects. There are relatively few obligations that an Eclipse member company undertakes when they sign the membership agreement, but one of the most important is to create a commercial offering based on Eclipse technologies. It is that obligation which completes the loop from open source to commercialization to trade association and back. Those trade association members are not strangers: they are companies that are intimately involved in and committed to the success of the entire Eclipse community.
There is no doubt that the focus on commercialization places added burdens on Eclipse projects. Our development and IP processes require real work to comply with. But there is value in that labour, and the value is in the added use, adoption, commercialization and plain old respect that the Eclipse brand brings to a project. Not every Eclipse-based open source project needs to be hosted at the Foundation. For some projects, our processes may be too heavyweight. But those projects are still a valuable part of the broader Eclipse ecosystem.
The Eclipse community is also an open development community. I strongly believe that our development process has all of the attributes of openness, transparency and meritocracy that open development requires. Our unique approach to open source development is what enables things like the annual release train, which is arguably the best run, most predictable feat of software engineering on the planet. And let’s not forget that although many projects at Eclipse are supported by developers working at member companies, there are many also projects with active participants who are here as individuals.
But there is also no denying that we have our challenges. Every project would love to have more resources and more community involvement. We need to make it easier for newcomers to contribute. There are projects who frankly don’t do a great job of welcoming contributions. We have to attract more resources committed to evolving the core platform. We have a major new release of the platform coming next year. The staff and the Board of the Eclipse Foundation recognize all of these challenges and are working very hard to address them.
The balance between a trade association and an open source community makes Eclipse unique in the software industry. We have always been both, and that has always been an important part of our success. We are different, and in my mind that is a very good thing. I believe that we should all be very proud of the organization that we have created.
Monday I blogged about some of the program plans we have for 2010 that are targeted at our project and committer community. Today, let’s turn to some of the things that we have in store for our members and the commercial ecosystem around Eclipse. Not all of these are new, but in each case there is significant value to the community, and there are at least a few new twists that we have planned for 2010.
- Events: First of all, we are going to be continuing with the program items which have been very successful for the community the past couple of years. Amongst the most successful are the event programs that deliver the Eclipse Days and the Democamps. You may not be aware of this, but each of these events is sponsored in part by the Eclipse Foundation, in conjunction with one or more member companies. They have been enormously successful for bringing the community together, and in delivering value to members. For next year we are planning Democamp programs that line up with the Helios and e4 releases. And we hope to work with the members to bring even more topical Eclipse Days to your locale.
- Conferences: EclipseCon and Eclipse Summit Europe are significant events in the annual calendars of the ecosystem. Although the content is very technical, a great deal of the talks are relevant to Eclipse users and adopters. The exhibit halls are also a great place for companies to show the cool products that they’ve been building with Eclipse. Running these conferences is a huge amount of work for a small organization such as the Eclipse Foundation, but they do great things for the ecosystem.
- Eclipse Marketplace: As Ian blogged about yesterday, this week saw the launch of our new “Eclipse Marketplace”. This is a completely new replacement for the venerable Eclipse Plug-in Central (EPIC) website that has served the community well for so many years. Marketplace is a new code base with more features and more flexibility. (As an aside, I would like to recognize the great work that Genuitec, Instantiations and EclipseSource (formerly Innoopract) did in creating EPIC, and then helping us with transitioning its hosting to the Eclipse Foundation.) In 2010 we are going to be looking to expand Marketplace’s visibility in a couple of interesting ways:
- We are going to be creating a Marketplace client that will ship with the Helios packages. The hope is that by making it easy to get plug-ins directly from within the IDE that will be able to drive more traffic to the commercial and open source plug-ins which make up the Eclipse ecosystem. Please comment on the bug where we are gathering requirements.
- We are going to be working to make it easier for users and adopters to find products and services which are based on particular Eclipse projects. Using the data that we will have in Marketplace you will, for example, be able to find the companies that offer services for a particular Eclipse project.
By the way, if you just read the above and are thinking “that’s lame, where’s the Eclipse AppStore?” you are not alone. We looked long and hard at doing an appstore in 2010 but in the end decided that we just did not have the resources. It turns out that while building the infrastructure for a commercial appstore may be tractable for an organization as small as the Eclipse Foundation, dealing with the legal and tax issues of selling in countries around the world is not. We will be re-evaluating this decision again next year.
- Ship Helios and e4: Many readers may be surprised to see this topic listed under the program value for the commercial membership. After all, aren’t these Eclipse open source projects? They are indeed. But in terms of the value that the Eclipse Foundation brings to its commercial membership, these major new releases represent a lot of marketing, IT and IP value add from the Foundation staff. The annual release train brings enormous value to the commercial ecosystem because it provides them with a stable, predictable and IP reviewed platform each year upon which products can be built. The release train has been enormously beneficial to the commercial ecosystem. Obviously, most of the work is done by the project community. But it also represents the single largest work item on our annual calendar at the Eclipse Foundation.
So those are a few areas that the Foundation staff will be working on next year. I hope you agree that it looks like a busy and productive year coming up in 2010.
I mentioned in a comment last week that — pending Board approval of the 2010 budget — there are a number of items which we’re looking at for 2010 that we at the Eclipse Foundations are pretty excited about. These are some major pieces of work that we are going to be focusing our time and energy on.
There will also be a number of significant programs for the commercial members, but those will be the topic of a separate post.
- Build and Test: The team here is aggressively begging companies for the hardware contributions required to take on more of the build and test requirements for Eclipse projects. If we are successful, we will happily provide additional infrastructure and support for build and test activities for projects. But don’t forget that the hardware is actually only a relatively small part of the total solution here. The resource management that the webmaster team will take on will be a significant amount of additional work for Denis and team.
- Git: Denis and the webmaster team have been working hard on getting read-only git mirrors up and running on eclipse.org. But we really look at this as just the starting point. We view git as the SCM solution of the future at Eclipse and hope to have it up and running for as the main SCM repository for as many projects as possible by the end of 2010. Our reason for doing so is pretty simple. From what we can tell, the use of git at Eclipse is going to make it easier for contributors to make and track changes to the Eclipse codebase. And anything which gets us significantly more contributors is a very good thing.
That said, there are a couple of items that are out of the Foundation’s control that the community will have to help with.
- The CVS Team Provider that has been in the platform for years is really good. In fact, it is so good and so stable that it makes CVS very usable from within Eclipse. For git to gain traction at Eclipse, the EGit Team Provider is going to have to get good, and do so quickly. If we want to see git adopted to a significant degree, my personal belief is that we are going to have to ship EGit with Helios. My guess is that you, the community, are going to have to help make that happen through use, feedback and contribution. (Note that I do not know what the plans of the EGit project are. This is my personal opinion.)
- The Eclipse Foundation doesn’t tell projects what to do. So if git is going to be adopted at Eclipse, the projects are going to have to vote with their feet. In other words, we are going to have to see a number of the large and mature projects bite the bullet and make the transition to git. Because if there is little or no evidence of this within the projects, then the investment by the EMO will be for naught.
- In some ways, the most difficult part of this will be deciding which of the existing SCM systems we’re running to shut off. I personally have a major problem with the idea of running CVS, SVN and git for anything other than a short and constrained period of time. The main reason for this that having multiple SCM systems is a barrier to contribution for the community. If someone needs to learn three different SCM systems to interact with and contribute to three different Eclipse projects, then we have failed our community.
- “Eclipse Labs”: We’re looking at creating an Eclipse Foundation affiliated forge where projects which are based on the Eclipse platform, but are not interested in hosting at eclipse.org can run their projects. There will obviously be some constraints (e.g. only Eclipse Foundation projects can use the org.eclipse namespace, and be part of the release train) but Eclipse Labs will hopefully over time form a powerful complement to the projects hosted at Eclipse.
- “Get Involved”: We are going to be adding some variant of a “get involved” menu item to the left nav for project home pages. We want to make it easier to contributors to understand how to get involved with every Eclipse project, and we want to help projects to learn and follow best practices on how to facilitate more community involvement. Obviously, this may require some additional work for some projects, but the increases in community involvement, contributions and project diversity will be worth it to all of us.
- Artifact Repositories: We want to make it easier for adopters of Eclipse technology to find and consume the great work that’s happening in the Eclipse Foundation projects. For this reason we are going to be looking into what technologies would make it easier to consume Eclipse software. To be blunt, we don’t know what this might be at the moment. It could be Nexus or Buckminster or Tyco or something new from the B3 project. We just don’t know and we won’t be making any final decision for six or seven months. If people are interested in getting together for a BOF at EclipseCon, I think that would be a great way to move the conversation along.
As you can see, this is a pretty significant list of projects for 2010. Denis, Wayne, Ian and their respective teams are going to be carrying the ball on these. So comment at will, but please also consider buying them a beer at EclipseCon
by Bjorn Freeman-Benson (noreply@blogger.com) at December 05, 2009 08:14 PM
... an organization founded and funded by businesses that operate in a specific industry. An industry trade association participates in public relations activities such as advertising, education, political donations, lobbying and publishing, but its main focus is collaboration between companies (see "Membership benefits"), or standardization (see "Eclipse industry working groups").It's ok that the Foundation is an industry trade association, but it means that the open source side of Eclipse (including me) must stop wishing for the Foundation to solve the Tragedy of the Commons and find some other way to make it happen. The Foundation will continue to provide benefits to the corporate members, that's fine - I've always been pro-profit. And the Foundation will continue to do marketing around the open source projects - nobody ever complained about too much PR help!
by Bjorn Freeman-Benson (noreply@blogger.com) at December 05, 2009 01:11 PM
by Bjorn Freeman-Benson (noreply@blogger.com) at December 05, 2009 01:06 PM
by Bjorn Freeman-Benson (noreply@blogger.com) at December 05, 2009 12:56 PM
by Bjorn Freeman-Benson (noreply@blogger.com) at December 05, 2009 12:48 PM