Dec 16, 2007

Java ME developers library published

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.

Read more →

Dec 13, 2007

eRCP documentation available online

The benefit of using the eclipse help plug-ins is they make it really easy to get the content online. eRCP 1.1 documentation is now available on the DSDP project's help site for your viewing pleasure.

Read more →

Dec 4, 2007

eRCP webinar on Eclipse Live

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.

Read more →

Nov 27, 2007

eRCP running on N800 internet tablet

A little bit of hacking and I was able to run eRCP to some extend on N800 internet tablet. Here is a screenshot from the eRCP workbench running on internet tablet.

eRCP, eSWT, running on Maemo N800

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.

Read more →

Nov 16, 2007

GTK+ implementation for eSWT

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.

Read more →

Nov 6, 2007

What does GPhone and Eclipse eRCP have in common

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.

Read more →

Oct 31, 2007

10 über cool eSWT features for MIDP developers

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
Read more →

Oct 27, 2007

eRCP 1.0.3 released

eRCP 1.0.3 release is available for download. This is a maintenance release with several critical bug fixes. This is a release that was eagerly sought by some of eRCP`s corporate adopters.

Read more →

Oct 24, 2007

eRCP, We would use it again!

I have found out about this presentation by accident. It is an experience report on using eRCP. Also highlights some of the eRCP and eSWT features. I am always glad to receive any kind of feedback on eRCP but this one gets very pleasing on the last slide where it says "We would use it again!".

Read more →

Oct 23, 2007

Java Mobile & Embedded Developer Days

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.

Read more →

Oct 8, 2007

eSWT for S60, First Contact

Forum Nokia has released a plug-in to S60 3rd edition FP2 MIDP beta SDK, that will enable the development of eSWT based midlets using the SDK. eSWT support will be part of the final MIDP SDK.

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.

Read more →

Oct 4, 2007

Going to Eclipse Summit, demos in my pocket, literally.

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.
Read more →

Oct 3, 2007

Visual Editor for eSWT

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.

Read more →

Sep 24, 2007

Sudoku now in your mobile phone

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 as an eclipse update site on your phone and the update manager will guide you for the rest.

Read more →

Sep 20, 2007

Resources for eSWT developers

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.

And let's not forget SWT book which largely applies to eSWT.

Read more →

Sep 10, 2007

S60 will include eSWT in the next release

Yep, it is here. Starting with S60 third edition feature pack 2, eSWT will be a standard part of the S60's java platform. It will be available to Midlets.

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.

Read more →

Sep 5, 2007

If you are interested in mobile java

I have started blogging on the blog that is hosted by the S60 java platform team. So I finally have a place to rave about java in the mobile phones.

There are no changes with this blog, will continue to be about eclipse stuff.

Read more →

Aug 21, 2007

eSWT is not eRCP

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.

There is a key difference with eSWT though. Unlike the other components of the eRCP, which requires CDC, eSWT requires only CLDC. CLDC with MIDP is the most commonly deployed mobile java platform.

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.

Read more →

Jul 27, 2007

A new breed of mobile applications and Eclipse

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.

Read more →

Jul 10, 2007

No SWT book? Well, almost

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.

Read more →

Jul 2, 2007

How to use eSWT with Midlets

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.

Read more →

Jun 22, 2007

New generic server fetaures in Europa

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" >
<fileset dir="${serverRootDirectory}">
<include name="client/*.jar" />
<include name="server/default/lib/*.jar" />

I am now updating the generic server article with these details and it will be ready for the Europa release.

Read more →

Jun 6, 2007

More platforms and more companies are supporting eSWT

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.

Read more →

Jun 5, 2007

Eclipse moment of competition

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.

Read more →

May 27, 2007

OSGi, JSR-232, eRCP and Sprint

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.

  • Nokia is releasing eRCP targeted for use with E90 handset. The package includes the first public appearance of eSWT implementation for S60 platform
  • Sprint defining a new platform named Titan platform that is based on JSR-232 and eRCP
Read more →

May 21, 2007

Midlets with eSWT

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.

Read more →

Apr 23, 2007

Eclipse goes to Istanbul

Eclipsist is a new conference about eclipse that takes place in Istanbul. As someone who lived in Istanbul in his past life, I always felt that there was not even enough java events in Istanbul compared to other technologies. Naci Dai, along with the conference sponsors, deserves the recognition for making this happen. Mike Milinkovich is the keynote speaker and the conference program is quite rich covering different eclipse technologies. I will be introducing eRCP project and talk some why eRCP is a good match for mobile services and mash-ups.
Read more →

Mar 19, 2007

eRCP: what the fireman needs

I am discovering a new area for eRCP applications. I have seen some very interesting applications and exciting ideas on eRCP applications targeted for public workers (nurses, doctors, fire dept. and such). I have created a short list of advantages that eRCP provides to those applications.
  • 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.
Read more →

Feb 28, 2007

Speaking about announcements

Donald Smith blogged about EclipseCon announcements, which reminds me that we will have a couple of exciting news about eRCP technology during the conference. Where is the place to hear about them? Well, they are part of our industry coverage in eRCP talk.
Read more →

Jan 15, 2007

No specification? Well, this is so un-javaME

Every now and then, eRCP project receives a comment or question suggesting a need for a specification for eRCP. This is mostly due to the fact that mobile device world is a highly fragmented one and everyone wishes to see a compliant implementation of eRCP and eSWT on their favorite platform. I also think the familiarity of mobile java with JSRs contributes as well ( almost half of the JSRs are targeted for Java ME). Now that eclipse has joined JCP, it is imminent that we will receive more of those so here is my 2 cents on that.

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.
Read more →

Jan 4, 2007

eRCP release 1.0.1 available

It finally arrived, the first release of the year. This release contains some of the fixes that our adopters needed and contains a number of fixes for users.

The release is available from eRCP website.

Hope you enjoy this new release.
Read more →