More good news on eRCP/eSWT related documentation. Forum Nokia, has released the 2.1 version of the documentation for java developers. The library now includes a section for eSWT which explains eSWT use with MIDlets accompanied with an overview of the eSWT toolkit. The library also now ships eSWT 1.0 javadoc as a reference. The documentation is available online as well as an eclipse plug-in.
Dec 13, 2007
Dec 4, 2007
I will hold a webinar on eclipse live on December 13. Webinar is about getting started with eRCP. It will have a short introduction to what is eRCP about and its architecture? I plan to demonstrate how to develop eRCP applications using the Eclipse PDE on windows and then show how to deploy it to a real device. I am hoping that this will be a valuable resource for getting started with the eRCP development.
Nov 27, 2007
A picture can sometimes be misleading though I was not able to run eUpdate and workbench still needs some work. As I have posted earlier, eSWT implementation for GTK+ is missing a lot of components especially the mobile extensions.
Working with Maemo and N800 to get eRCP running this far has been a very positive experience. Maemo is one of the easiest platforms to work with as mobile platforms concerned.
Of course, in order to be able to add Maemo as one of the supported platforms for eRCP, we need more than my initial hacking. That means we need your help to complete it. If you are interested, use the eRCP developers mailing list to let me know about your interest. I am sure that you will get started with eRCP hacking on internet tablet in no time.
Nov 16, 2007
eRCP project received code contribution for the GTK+ implementation for eSWT. The contribution includes the complete implementation for only eSWT core components so there is work needed to complete the implementation.
The GTK+ implementation will enable eRCP project in two fronts. It will allow eRCP applications to run on the mobile Linux devices, a selfish interest of mine because I have got a N800.
It will allow eRCP project to release a SDK for Linux which will allow eRCP developers to use Linux as their development environment.
On the negative side, there are no active committers working with the code. I know that these calls for help are usually futile but if you are interested GTK+ may just be the coolest implementation of eSWT to work on.
Nov 6, 2007
I was reading the overview of the Google's recently announced Android (a.k.a Google Phone). The information is very scarce at the moment to comment about any technical details but I am under the impression that Android shares some of the properties and goals of the eRCP project.
First the most obvious, it is "open", for real. It is licensed under Apache license. A license that is equally friendly to manufacturers and operators just like Eclipse's EPL. One of the reasons why eRCP is one of the rare cases of an open source technology being adopted by the mobile industry.
It aims to "allow developers to build rich mobile applications". This is what eRCP is bringing to mobile world especially with eSWT and that is why eSWT is one of the most improved part of the eRCP on every release.
Another subheading in the overview is "All applications are created equal". I guess this sounds very familiar to Eclipse plug-in developers. Isn't "all plug-ins are equal" the second most repeated sentence by Jeff McAffer, after "plug-ins equals bundles" for the last few years.
"Fast & easy application development". eRCP tries to achieve this by providing a desktop version of the eRCP runtime and utilizing the Eclipse PDE and JDT. At the same time the single implementation with collaboration ensures that eRCP works same across platforms. It will be interesting to see the tooling story on Android.
Without any infromation other than the overview of Android and the fact that it includes a java solution, I will not be surprised if Android includes an OSGi based middleware(or something very close to OSGi) like eRCP to achieve above.
Oct 31, 2007
Together with some of the people working on S60's java platforms, we came up with a list of the coolest eSWT features we believe the MIDP developers will appreciate most. Because I wanted to limit it to ten items, and did not want to write a book for a blog post, it is not a complete list of eSWT features. It is a list for MIDP crowd extracted from a discussion with MIDP crowd.
Here is the list in no particular order.
- Advanced widgets such as Table, Tree, Browser and ListBox: So far MIDP developers were creating their custom widgets to get the same advanced functionality. I am sure not having to create custom widgets for will be appreciated.
- Layout Managers: eSWT comes with desktop java layout managers that will ensure the application scales to different screen sizes.
- Inline text editors: MIDP is not stuck with the full screen text anymore. Text can be positioned anywhere with full benefits of the platform supported text editing facilities including edit modes and T9.
- Pop-up windows: Using eSWT Shells it is possible to create info pop-ups and even your own custom dialogs.
- Access to native dialogs such as FileDialog, DirectoryDialog, ColorDialog and others: Now java applications can use the same dialogs as the native applications of the platform.
- Clipboard access: This is pretty obvious but amazing you can copy data to and from platform`s system clipboard.
- Saving images to files: Create images on memory, change them and save them to a file. This makes taking screenshots on your mobile java applications a breeze.
- Menus and Commands done right: It is possible to have multiple levels of menus or commands. You can use images on them or have check, radio style menus.
- Query device capabilities: Use eSWT's MobileDevice to discover input or screen capabilities of device, even get notifications of changes such as a Bluetooth keyboard added and adjust application behavior
- Events, and many of them: Mobile java applications can get notifications of everything happening in your UI, keys, mouse, selections, traverses, and many other.
And a bonus feature,
- Open source implementation: Got a problem have a look at the code, better create a patch to fix it. Discuss your problem or a missing feature with the implementation team
Oct 27, 2007
Oct 24, 2007
Oct 23, 2007
There will be conference focused on mobile and embedded java at the Sun Santa Clara Campus auditorium. The call for papers is open until October 31 and I hope to see eclipse and especially DSDP projects represented there.
I, with my colleagues in Nokia, plan to submit something for eSWT and eRCP but I feel that on a Sun hosted conference with Sun dominated committee the chances are not great.
Oct 8, 2007
This is very significant because for the first time that eSWT implementation for S60 is made available for developers. If you are a MIDP developer, please do check out the extended capabilities of the eSWT toolkit. If you are an eclipse veteran, I am sure that you will enjoy working with the all familiar SWT concepts and APIs when developing for mobile.
In order to get started, you may want to check out my older posts about the information available for eSWT and the midlet how to document. If you seek help on eSWT issues eRCP newsgroup is the place to ask questions. If you discover bugs, eclipse bugzilla now lists S60 as one of the target operating systems.
We are now starting to push the S60 implementation to eclipse CVS and the development of the implementation will continue in the open. If you are a Symbian developer or want to learn about Symbian who wants to contribute to the project, do not hesitate to contact the project mailing list.
Oct 4, 2007
I am speaking about eSWT at the Eclipse Summit Europe on October 11 at Ludwigsburg, Germany. A good portion of the talk is a demo of eSWT on different Nokia devices and windows desktop. As an added bonus, I will show how the same UI can be made available as an AJAX application using RAP.
Prior to my session, eRCP commiter Uriel Liu will have a talk that will introduce the project and its current state.
This is my first time attending the eclipse summit but eclipse events are always a great opportunity to learn about the cool stuff and meet people. I expect this one to be no different.
Oct 3, 2007
I have not used a visual editor since the Visual Age for Java days but like many others involved in eRCP project I was curious about the first visual editor to include eSWT support.
This is an initial screenshot from the eRCP GUI builder from Instantiations. eRCP GUI builder will be part of their window builder family of products. It will support both eRCP and MIDP based eSWT applications. Eric Clayberg from Instantiations noted that eRCP Designer will be available for beta testing soon.
Sep 24, 2007
Eclipse's very own Wayne Beaton had created a sudoku game Eclipse RCP application. Why? You may wonder. Well, he had his reasons. As it goes with all the good software, the little sudoku application has grown to be something different. Recently, eRCP project have received the sudoku application. Thanks to the contribution of Remy Suen, you can now enjoy an eRCP flavored sudoku on your phone. Installing it to your phone is easy via eRCP update manager. Add http://www.eclipse.org/ercp as an eclipse update site on your phone and the update manager will guide you for the rest.
Sep 20, 2007
Members of a project team inside Nokia asked for a beginner's info kit for eSWT. It ended up to be a list worth sharing.
- The main reference is the eSWT API specification downloadable from eclipse.org
- The premier for eSWT use with midlets with code example
- Online presentation by Ben Galbraith about the basics of SWT, most of the content applies to eSWT
- A premier about SWT resource management which applies to eSWT
- SWT document that explains layout managers which are the same in eSWT
- eRCP newsgroup for asking questions
- eRCP web site in the eclipse.org is a good starting point
And let's not forget SWT book which largely applies to eSWT.
Sep 10, 2007
I believe, this will be one of the pioneering commercial deployments of the eclipse technology and it is likely that others in the industry will follow.
Over the last 2 years, implementing eSWT had been a wonderful learning experience. I and the rest of the team in Nokia have enjoyed working with eclipse technology. I hope you enjoy using eclipse technology in your next mobile phone.
Sep 5, 2007
Aug 21, 2007
Although, eSWT is assumed to be dependent on the other parts of eRCP by many. The relationship between eRCP and eSWT is similar to RCP and SWT. eSWT does not have dependencies to other components of the eRCP. It can exist on a mobile device independently.
CLDC+MIDP desperately lacks a UI toolkit with advanced features. This is part of the reason, why the number of mobile business & productivity applications are less than mobile java games.
The solution is coming from eclipse. In 2007, we have seen growing interest from mobile phone manufacturers and mobile network operators to eRCP and eSWT. As early as next year, we will start to see mobile phones with eSWT available for use on CLDC/MIDP. eSWT, in addition to its role in eRCP, is the next generation UI toolkit for the MIDP. I hope that Wayne has enough eclipse installed stickers for this largest deployment of eclipse technology.
Jul 27, 2007
For a change, I want to tell about a software that is not based on Eclipse technology. The mobile web server can be best described as the Apache HTTP server running on a mobile phone. Mobile web server also includes a port of the mod_python module that enables python web applications. Python and Apache http server creates a powerful platform to create a new breed of mobile applications for mobile phones.
So what is the use of having a web server in your pocket? Mobile web server comes with a few application examples. For instance, publishing your calendar or contact information or running your own blog right from your phone. There is even an application that takes a picture using your phone's camera, remotely. You can check out the rest of the features on mobile web server's site.
It is not a surprise for Eclipse and OSGi veterans when I say Eclipse has been providing the same functionality for the mobile phones since the day eRCP 1.0 released. I am referring to the OSGi HTTP service which complemented with JSPs, and servlets provides the same functionality. Of course, unlike Apache HTTP server + python solution, eRCP is not limited to web applications and delivers OSGi based rich UI applications that uses eSWT for native like UI.
Jul 10, 2007
When implementing eRCP for the S60 platform, we use three main resources in our SWT/eSWT implementation team at Nokia. SWT/eSWT javadocs. SWT book by Steve Northover & Mike Wilson, also referred as "the book" within Nokia's eSWT/eRCP team. And the most important, the source code for the existing implementations.
I have been chatting with a fellow eSWT implementer for an up and coming implementation a while ago. He complained that "the book" is no longer available from Amazon. It looks like amazon no longer has it, so does the publisher's site. But no need to panic, I found out that safari books online includes it. If you prefer paper & ink books over online, like myself. Unfortunately, I have no information on the future availability.
Jul 2, 2007
I have already written my reasons why eSWT on midlets makes sense. Judging from what I have been receiving from several channels, there is a good interest for it as well. Fortunately (surprise! surprise!) , we have been experimenting with eSWT midlets for a while in Nokia. Jussi Suistomaa, who is a commiter in eRCP project, have put together a brief how to document from this experience(OK, I did the editing for wiki). If you are interested, please read the wiki and let me know about any comments, questions, doubts.
Jun 22, 2007
I know, I usually post about mobile java and eRCP, but eRCP is not the only eclipse project I am involved in. As the Europa release is around the corner, I feel, I should highlight some of the new features on the WTP(webtools) generic server framework that will be interest to those who develop and maintain server integrations in WTP.
Thanks to contributions from John O'Shea and David Black from Capeclear, generic server serverdef files now has a new friend, the runtimedef file. With runtimedef files it is possible to reuse parts of generic server definitions. I suspect, this new feature will be popular among those folks who needs to support the same server with SOA extensions and some blend of portal software or ESB software. You can read the details in this bug report.
A new improvement has been added to the way classpaths are defined in serverdef/runtimedef files. Starting with Europa you can define ANT style filesets in classpath definitions in addition to archives. Here is an example snippet that shows how it works.
<classpath id="jboss.project" >
<include name="client/*.jar" />
<include name="server/default/lib/*.jar" />
Jun 6, 2007
Yesterday, we have received the first welcome mail to dsdp-ercp-dev list from SonyEricsson. They are now working to get eSWT to their mobile phones. Moreover, they have started to participate in the project as well.
I believe with this addition of SonyEricsson platform to Nokia S60 and Windows Mobile, eSWT will be available to a good portion of the smartphones as early as 2008.
Jun 5, 2007
A pleasent Finnish spring morning. Sitting on my desk on Nokia's Kulma Sarvis building in Tampere and waiting for the arrival of the guests for the meeting, I had a flashback to a moment on eclipseCon 2005. To one of those moments that you would not normally remember.
EclipseCon 2005 was exciting days for WTP project. WTP had just started and earlier in the conference BEA had announced their participation to the project. I was sitting on the code camp with Tim DeBoer (IBM) and Konstantin Komissarchik (BEA), Tim was explaining to Kosta basics of server tooling framework. At one moment, I think Tim somehow felt odd and turned to me and said "We are in competition with these guys". I did not really understand what was Tim and Kosta feeling that day because I was coming from Lomboz and never felt that they were competition.
My cellphone rang and the lady from the reception said "Your guests arrived". Taking the elevator to down to meet some members of eSWT implementation team from SonyEricsson, I thought so that's how it feels.
May 27, 2007
InfoQ has a good article that summarizes what is currently happening and why they are happening in eRCP, JSR-232 and OSGi on mobile space. I strongly recommend the article but in case you just want to have a quick summary of the recent developments here is my list.
May 21, 2007
Should eSWT be available for midlets? I believe it should. Here are my reasons.
- eSWT is a great UI toolkit with features beyond mobile UI toolkits, that are compatible to desktop UI toolkits
- It requires only CLDC
- CLDC+MIDP is the most common java ME configuration
- An advanced UI toolkit is(or was) a big missing piece on CLDC+MIDP if not all java ME space
- Availability of eSWT on midlets makes it easier for the applications to transition to eRCP
In what platforms will it available? S60 may just be the first one to do that.
Apr 23, 2007
Mar 19, 2007
- Updatability: The number of devices that needs to be maintained is large (think about post office workers or police officers in your city). eRCP makes it easier for them to maintain their applications.
- Updatability(again): Some of those applications interface other devices such as health monitors, it is not practical to load the drivers that interpret received data as these devices vary. Applications should be able to pull the required driver when needed, while running.
- Disconnected operation: Network connection is not available at all times. eRCP applications can be designed to work both connected and disconnected mode.
- User interface: eRCP applications use eSWT and already have the native user interface. The users of the devices are already familiar with the navigation styles, input methods etc. which lowers the training required for the applications.
Feb 28, 2007
Jan 15, 2007
I do not believe that having a specification and having the accompanying TCK really ensures the compatibility. If a specification would solve that problem, java ME itself would not suffer from the incompatibilities. On the other hand, the open source development we are following on the eRCP project, allows us to cooperate closely among different implementation teams on different platforms. We share our tests, see the bugs reported, read comments about all platforms and best of all see the implementation code. I do not think any specification and TCK can provide better means for compatibility than this.
Some argue that being a JSR makes it available on more platforms. Well, not necessarily, proof? Not all the JSRs are available (and suitable) for all platforms. The decision to implement an API on a platform depends on many other things before a specification. If a person or company wants to implement eRCP for a platform, I hope that by following the eclipse development process and being open, transparent as possible eRCP project can be inviting enough for everyone. If it is not please let me know.
Would eRCP and/or eSWT loose anything with a JSR? I guess the design-by-committee nature of the JCP would hobble the innovation.