WeMail, this to-be-implemented Gmail-alike web mail client, is based on technologies of Java, SWT, JavaMail and Java2Script.
Before going into designing and implementing details, here are some background information.
JavaMail is a Java API used to receive and send email via SMTP,POP3 and IMAP. JavaMail is built into the Java EE platform, but also provides an optional package for use in Java SE.
SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented.
Why implementing another Gmail-alike web mail client?
I like Gmail UI, but I can not use its UI for other mail providers, like Hotmail or Yahoo! Mail. So I believe WeMail will help users doing their email jobs like receiving, composing and replying emails, in Gmail-alike UI for all mail providers. And it will sure increase their daily email processing efficiency.
And there are lots of companies that might block web access to Gmail, Yahoo! Mail or other mail providers. In these cases, a web mail client for general POP/IMAP & SMTP will help those users accessing emails even behind firewalls.
So I finally made up my mind to build it. And it was my two weeks’ fun.
Dang, dang, dang! Here it comes WeMail – Web Mail Client for Gmail/Hotmail/Live Mail/Yahoo! Mail/AOL Mail.
Configureing mail servers and login:
WeMail main window, listing emails:
Viewing an email:
Composing an email:
How is this Gmail alike web mail client being implemented?
I use WindowsBuilder Pro (formerly known as SWTDesigner) to design all the UI elements. Here are screenshots of its UI components being designed:
Overview of WeMail in designer:
Designing top menu bar:
Designing logo and search bar:
Designing left side widget:
Designing email selector bar:
Designing email message header:
Designing email message viewer:
Designing email composer:
Designing footer panel:
Designing login window:
Designing mail server configuring window:
Designing and adjust user interfaces causes lots of time.
And what about the receiving and sending emails? I use JavaMail to do email jobs. Between SWT UI and JavaMail, Java2Script’s Simple RPC technology is used. Those mail jobs are separated into following RPCs:
UI events will trigger those RPCs being called in separate threads and UI will be updates after their jobs are done.After RPCs get woven into UI elements. It is ready to be run as a native Java desktop application. So it is:
So it is my WeMail’s development log. Having fun.