Endicia Webmailer Application
Total Page:16
File Type:pdf, Size:1020Kb
Endicia Webmailer Application By Megan Tsai Gage Fleischer Migdoel Alvarado Sponsor: DYMO Endicia Advisor: David Finkel 3/4/2011 1 Acknowledgements We would like to thank the following people for their support throughout this project: Amine Khechfe, Endicia. Patrick Farry, Endicia. Emil Redzic, Endicia. Julian Thomas, Endicia. Jason Davey, Endicia. Steven Tsao, Endicia. Bhaumin Shah, Endicia. Charles Morelle, Endicia. And all the employees at Endicia. Professor David Finkel, WPI. 2 Abstract This project collaborated with Endicia in migrating the existing DYMO Stamps application to the web. We created a set of web pages and a print engine to print stamps from a browser without endangering the securities necessary in the stamps creation process. We explored new technologies that would be beneficial to the company for future works. This project was handed off for further development and production. 3 Acknowledgements ....................................................................................................................................... 2 Executive Summary ...................................................................................................................................... 6 Chapter 1 Introduction .................................................................................................................................. 7 Chapter 2 Background .................................................................................................................................. 8 2.1 Endicia ................................................................................................................................................ 8 2.2 Competitors ......................................................................................................................................... 8 2.3. Current Applications .......................................................................................................................... 9 2.3.1 DYMO Stamps ............................................................................................................................. 9 2.3.2 Web Application ........................................................................................................................ 10 2.3.2.1 MonTimbrenLigne .............................................................................................................. 10 2.3.2.2 USPS Click-N-Ship............................................................................................................. 10 2.4 User Base Research ........................................................................................................................... 11 2.4.1 Client Side Requirement Research ............................................................................................ 11 2.4.1.1 Browser Type Usage ........................................................................................................... 11 2.4.1.2 Browser Height Usage ........................................................................................................ 13 2.4.1.3 Browser Width Usage ......................................................................................................... 14 2.4.2 Print Engine Requirement Research .......................................................................................... 15 2.4.2.1 Operating Systems Usage ................................................................................................... 15 2.4.2.2 Java Support Usage ............................................................................................................. 16 Chapter 3 Requirements .............................................................................................................................. 18 Chapter 4 Design......................................................................................................................................... 19 4.1 Client Side ......................................................................................................................................... 19 4.1.1 Environment ............................................................................................................................... 19 4.1.2 Design ........................................................................................................................................ 20 4.1.2.1 Design Process in Endicia ................................................................................................... 20 4.1.2.2 Design Approach................................................................................................................. 20 4.2 Print Engine ...................................................................................................................................... 21 4.2.1 Environment ............................................................................................................................... 21 4.2.2 Design ........................................................................................................................................ 21 Chapter 5 Implementation ........................................................................................................................... 23 5.1 Client Side ......................................................................................................................................... 23 5.1.1 Iteration I: Development from Wireframe ................................................................................. 23 5.1.1.1 Development Process .......................................................................................................... 23 5.1.1.2 Iteration I Testing ................................................................................................................ 26 5.1.1.3 Iteration I Development Issues............................................................................................ 26 5.1.1.4 Iteration I Result.................................................................................................................. 27 4 5.1.2 Iteration II: Development from Visual ....................................................................................... 28 5.1.2.1 Iteration II Development Process ........................................................................................ 28 5.1.2.2 Iteration II Testing .............................................................................................................. 33 5.1.2.3 Iteration II Development Issues .......................................................................................... 33 5.1.2.4 Iteration II Result ................................................................................................................ 36 5.1.3 Iteration III Feedback and Enhancement ................................................................................... 37 5.1.4 Integration .................................................................................................................................. 39 5.1.4.1 Integration with Endicia‟s Server ....................................................................................... 39 5.1.4.2 Print Engine Integration ...................................................................................................... 39 5.1.4.3 Integration Problems ........................................................................................................... 40 5.1.5 Security ...................................................................................................................................... 40 5.2 Print engine ....................................................................................................................................... 41 5.2.1 Proof of Concept ........................................................................................................................ 41 5.2.2 Applet Migration and Embedding .............................................................................................. 41 5.2.3 Code Refactoring ....................................................................................................................... 41 5.2.4 Custom Print Dialog................................................................................................................... 42 5.2.5 Printing and Roll Selection ........................................................................................................ 42 5.2.6 Printer and Job Status Querying ................................................................................................. 43 5.2.7 Stamp Image Retrieval and Session Sharing ............................................................................. 43 5.2.8 Status Feedback ......................................................................................................................... 43 5.2.9 Final Refactoring........................................................................................................................ 43 5.2.10 Logging .................................................................................................................................... 44 Chapter 6 Result .......................................................................................................................................... 45 Chapter 7 Conclusion .................................................................................................................................