IS480 Team wiki: 2008T1G3 Barcoders/Minutes
- 1 Meeting Minutes
- 1.1 Minutes of Meeting - 1
- 1.2 Minutes of Meeting - 2
- 1.3 Minutes of Meeting - 3
- 1.4 Minutes of Meeting - 4
- 1.5 Minutes of Meeting - 5
- 1.6 Minutes of Meeting - 6
- 1.7 Minutes of Meeting - 7
- 1.8 Minutes of Meeting - 8
- 1.9 Minutes of Meeting - 9
- 1.10 Minutes of Meeting - 10
- 1.11 Minutes of Meeting - 11
- 1.12 Minutes of Meeting - 12
- 1.13 Minutes of Meeting - 13
- 1.14 Minutes of Meeting - 14
- 1.15 Minutes of Meeting - 15
- 1.16 Minutes of Meeting - 16
- 1.17 Minutes of Meeting - 17
- 1.18 Minutes of Meeting - 18
- 1.19 Minutes of Meeting - 19
- 1.20 Minutes of Meeting - 20
Minutes of Meeting - 1
- Decided on the team meeting schedule with Team CMU
- Meeting Timings:
- Thursday: 7:30 PM Singapore Time Or 7:30 AM Pittsburg Time
- Tuesday: 9:30 AM Singapore Time Or 9:30 PM (Monday) Pittsburg Time
- Both the teams agreed to have a common agenda for the project
- Discussed the project break down. Team SMU proposed the project be broken into the following parts:
- Developing secure web service and building user interface
- Developing tool to generate QR Codes
- Developing tool to generate Data Matrix Codes
- Discussed regarding the Final Presentation. Final Presentation for Team CMU is in the 1st week of December. Final Presentation for Team SMU is in the 3rd Week of November.
- Professor Kevin Steppe proposed a final combined presentation with both the teams in 1st week of December.
- Things to do before Tuesday’s (September 2nd) Meeting
- Role’s Document to be updated by Team CMU
- Add in Technical Skills to the existing Working Group List
- Come up with recommendations for the technology to be used in the project
- Check with SMU IT Center whether initiating a 3-way call is possible from SMU
- Draw up an agenda for Tuesday’s meeting before the meeting
Minutes of Meeting - 2
- Discussed our understanding of the project
- Our understanding of the project (also discussed in our first video conference meeting with the team from CMU) seems to be fine. We explained the details of the project on a macro level and David seemed to be fine with it.
- Decided on weekly meetings with the client
- David recommended a weekly (which can be made more frequent/infrequent depending on us) meeting with the entire project team (both SMU and CMU teams). This shall require a three-way connection and we have contacted our university centre for IT for more assistance with that. David seems to be fine with Monday 10pm (Singapore time).
- Request for details of project team/supervisors
- David recommended that we should send him a document that has details of all the people involved in the project. We have already sent this document to David. He will forward it back to us with his details.
- Plans of visiting Pittsburg/Singapore
- Requested David for a videoconferencing meeting with us, while he is in Pittsburg with the team from CMU. However, he could not commit to that. He also informed us of his tentative plans to visit Singapore from the 10th – 16th September.
- Project details
- We asked David more specific questions related to the project and obtained the following information:
- He is looking for a web based application rather than a desktop application. He recommends loose integration with the UI.
- When asked if we would require multiple servers, he said one server would be fine. (Since not too many people are expected to use the application at one time, no load balancing required)
- Security wise, we do not need to implement any advanced security measures. Simple authentication would be enough.
- He proposed the idea of cache barcodes
- Although on maximum occasions the input should be URL, the tool should be able to accommodate Vcard, e-mail address and even plain text.
- Urged us to put forward our recommendations. He is more than willing to listen to our innovative ideas and incorporate them in the project.
- File Format that has to be used for documentation is Open Office document Format.
- Put forward the idea of possibly writing a research paper on the project.
- Plans of sending documents/flowcharts to him in the coming week to demonstrate and further clarify our understanding of the project.
Minutes of Meeting - 3
- Decision on technology to be used
- This decision will be postponed until our next joint meeting on Thursday. Experience of the team members will be a factor in the decision, but we may also be constrained by the availability of open source QRCode and Data Matrix libraries for a particular language. We will research these libraries prior to Thursday’s meeting.
- Weekly meeting with David Leip
- We have established a tentative meeting time of Wednesdays at 10:00am EST / 10:00pm Singapore time. Not all team members will be able to attend, but this is acceptable given the scheduling constraints.
- Team Roles
- We briefly discussed the role(s) each member will play in the team. SMU already has established roles which they will send to CMU. CMU needs to finalize team roles (especially project manager) for Thursday’s meeting. Mohit is the project manager for SMU’s side and Vijay is the meeting / communications manager. On the CMU end, Robert and David Yu would like to concentrate on development and David Erfley would like to focus on documentation. However, all team members will do both documentation and development to some degree.
- Project Division
- We agreed on the breakdown of the project into the 4 components suggested by the SMU team:
- Web Service
- Libraries for QRCode
- Libraries for Data Matrix
- User Interface
- We will work in parallel with one team taking QRCode and the other handling the Data Matrix libraries. This division will be fleshed out on Thursday. SMU suggested the Apache Tomcat / Access platform for the web service. CMU supports the suggestion.
- Project Milestones
- We established a tentative order for the tasks to be completed: we will focus first on the libraries, then the web service, integration of the web service and libraries, and finally the user interface. We will establish optimistic, probable, and pessimistic schedules with actual dates at Thursday’s meeting. Worst case end date should be no later than November 24th to fit SMU’s schedule.
- Things to do before Thursday’s (September 4th) Meeting
- Research QRCode and Data Matrix libraries (all) and be prepared to make technology recommendations
- Decide team member roles (CMU)
- Exchange documents with team roles listed (all)
- Consider scheduling issues and be prepared to set milestone dates (all)
Minutes of Meeting - 4
- Deadline to finish integrating the Web service with open source libraries
- Both the teams have set 25th September as a deadline to finish integrating the web service with the open source libraries (Both QR Code & Data Matrix). The teams have also decided to set 2nd October as deadline to finish the integration by all means if it couldn’t be done by the 25th September.
- Meeting with David Leip
- Both the teams will participate in a conference call with David Leip and discuss the following the issues.
- Discuss the project scope
- Integration with IBM Website
- Discuss the specifications of writing a research paper on this project
- Understand the business value of the project
- Discuss ways to broaden the scope of the project. E.g. Firefox Plug-in etc
- CMU-SMU Team Meeting on Monday 10 AM (Singapore Time) / Sunday 10 PM (Pittsburg Time)
- Decide on Technology and the web service to be used in the project. Confirm this with David Leip during the Conference call on Monday 10 PM (Singapore Time).
- Team CMU to send a list of libraries (QR Code & Data Matrix) to Team SMU
- Setting up Wiki & SVN
- Decided to use the wiki to update the project status and in the future use it as the single point of contact for all the latest information on the project. Team SMU will send a mail to Team CMU with all the login details ASAP. Team SMU will also give Team CMU the access to SVN repository for document management
- Things to do before Monday’s (September 8th) Meeting
- Research QRCode and Data Matrix libraries (all) and be prepared to make technology recommendations
- Send Team CMU access details of the Wiki & SVN Repository
Minutes of Meeting - 5
- Encoding Libraries & Technology Decision
- SMU looked at several libraries and was able to successfully run the IEC16022Sharp Data Matrix 2D Barcode Generator library (written in C#). SMU also suggested using the Open Source QRCode Library (also written in C#). CMU recommended the Zint Barcode Generator (written in C) for the Linux platform, supporting both Data Matrix and QRCode.
- Possible Platforms for Web Service
- The Following options are under consideration:
- Apache Axis2/c for Linux (to use with Zint)
- ASP.net web services (Windows)
- WCF (Windows Communication Foundation) part of Visual Studio 2008 (Windows)
- Wiki and SVN
- SMU and CMU members will be using the Wiki as a central storage location for meeting minutes and other documentation. The SVN repository will be used to maintain all the source code for the project.
- Tasks for Future Meetings
- We will need to ask David Leip what platform constraints IBM has (i.e. Linux vs. Windows)
- We also need to further define project breakdown
- SMU will compile a list of tasks necessary for completion of the project. CMU will review the list and revise as needed.
Minutes of Meeting - 6
- Discussion of IBM’s Platform Constraints
- IBM requires the barcode service to run in a Linux-based server environment. David Leip also expressed a desire to rely exclusively on open source libraries and applications if possible. These criteria indicate that we should use the Zint Barcode Generator instead of the alternative C# libraries.
- Clarification on Project Scope
- David Leip envisions the final product as being a freely available, open-source utility
- It must include a web service that can be invocated via scripts or other applications as well as a web page interface to allow manual input of URLs for encoding
- Must implement both QRCode and Data Matrix standards
- We are at liberty to think creatively and expand upon the core feature set as time permits
- Firefox Extension
- David Leip said that this idea was “worth pursuing” but should complement the web service rather than replacing it. IBM won’t commit to hosting a public web service for the extension to query.
- Logistical Notes
- David Leip requested a document with contact information for all team members. The working group list was forwarded to him after the conference call concluded.
- David Leip suggested a videoconferencing solution he is using on other projects and will send us the URL so we can try it out. It involves embedding multiple video streams on a single web page.
Minutes of Meeting - 7
- A decoding script has to be used to test the authenticity of the barcode generated
- Over head time metric should be included in the project metrics.
- Overhead time is the time spent communicating with other stake holders (Team CMU, Project Supervisors, Client) against the time spent in doing the actual project
- Keep track of the actual time spent on the Project
- Any C ++ compiler can be used to Compile C programs
- If client is not available, make decisions on his behalf and make progress in the project
Minutes of Meeting - 8
- Discussed the meeting with David on Thursday. Communicated his expectations and concerns about the project and the possibility of writing an experience journal
- Discussed programming glitches experienced by the team in terms of compiling the C code. Team still in the process of fixing the problem and getting it running.
- Showed the sequence diagrams, metrics template and the sample UI for the system. Metrics templates to be updated with numbers and emailed to him.
Minutes of Meeting - 9
- Team CMU to provide Team SMU with the development link
- Team SMU updated Team CMU regarding David's Meeting. David wants the teams to write an "experience report" as a part of the project.
- Team CMU to update the SVN with whatever they have
- Discussed project milestones with Team CMU and both the teams have agreed on the project milestones
- Team CMU will create a "C" based Web service & WS Client and Team SMU will create a Java based web service & WS Client
Minutes of Meeting - 10
- SMU was able to resolve Linux / GCC issues and get Axis running
- SMU advised that a Java web service was probably infeasible due to the difficulties of integrating with a C library
- Metrics were discussed and revised. Robert updated the wiki with the latest changes.
- Both teams will work on developing a functioning web service to run under Axis2/C for this Thursday, September 25th
- David Yu will work on user interface design
- If the C service isn't up and running by our next meeting with David Leip, we will use the PHP prototype as a backup
- Robert will contact David Leip again to set a firm meeting date and time
- Next joint CMU/SMU meeting scheduled for Thursday @ 7:30am via videoconference
Minutes of Meeting - 11
- Decided on the possible meeting times with David Leip to show him the interface and get feedback (Team CMU to let SMU know of the confirmed time)
- Proposed Meeting Timings:
- Monday: 10 PM Singapore Time Or 10 AM Pittsburg Time
- Tuesday: 10PM Singapore Time Or 10 AM Pittsburg Time
- Both the teams agreed to send David a compiled set of documents pertaining to progress of the project
- Team CMU agreed to send the link of the interface to David Leip before the meeting
- Both teams agreed on doing research on the existing patterns of caching and other related issues for the October 15th Deadline
- Team SMU sent the project metrics numbers to Team CMU
- Wiki to be updated with the Risk Management Issues by team SMU
- Determine future SMU-CMU meeting timings after the meeting with David Leip
Minutes of Meeting - 12
- Resolved to send meeting agendas out earlier
- Have more specific agenda points
- Emphasize tangible deliverables for each meeting
- We should make a final verdict on whether to go with Axis
- By Thursday, Oct. 2nd we should be set on the technology and good to code
Barcode Image Caching on Web Service
- Robert: Prototype on SVN with MD5 hashing for image names
- Expiration time for cached images should be short because they won't be reused often
- Caching doesn't become important until the system is put under load
- Ask SMU for their contributions on caching
- We should deliver a new prototype every week
- At a meeting each week, we should decide the features for next week's prototype
- First prototype in this cycle will be delivered on Oct. 9th
Major Features for Oct. 9th Release
- Reference point linking URL images to actual URL text
- Image resizing
- Click on single barcode image and have it come out as a pop-up
- Decoding integrated into web interface
- Image caching solution
- Unicode / multi-byte characters can be encoded in 2D barcodes for convenience
Minutes of Meeting - 13
Interface Comments from David Leip
- GUI interface - be able to encode things other than URLs
- Different from what he had envisioned but not bad necessarily
- Which barcode corresponds to which corresponds to which URLs
- Wasn't originally envisioning multiple at a time via the GUI, but likes the idea as long as it
Additional Features to Have
- Option to modify the URL when generating the code (i.e. option to put a tracking code on the URL) by appending a variable to the end
- Have this feature be optional (i.e. a checkbox on the manual generation form)
Notes on the Report
- We should talk about the technology and how we would use it in various scenarios
- Create a rough outline on some of the things we may want to talk about in a report
Bug Tracking & Source Control
- David Leip asked what we are using for source control and bug tracking
- We are currently maintaining all source code in the SVN repository hosted at SMU
- Rob suggested Bugzilla for bug tracking
David Leip's Comments on Project Priorities
- As long as we have something that can be called as a service and will accept any kind of URL, etc. and a piece of client code that can call the service with its own URL, we're good
- Firefox plugin - a good idea, still worth pursuing
- Decoding feature - interesting / nice to have, but a little less important than the others
Q&A with David Leip (Paraphrased)
- David Leip: Has anyone installed decoding support on a mobile device?
- SMU: We loaded it on an iPhone and are using it for testing purposes
- Leip: Is it available in the app store?
- SMU: Yeah it's in the app store and it's free
- David Yu: What's the why for this project?
- Leip: The whole reason is so that people can get information (generally URLs) into their mobile devices. It would be nice to see it in action in that way.
- David Yu: Can you explain the tracking information use a bit more? All info is sent through e-mail already and you can check the e-mail on your phone. So why is this helpful?
- Leip: It removes the need to send that e-mail at all. The e-mail is sent because the URL is so long and it would be a PITA to type it in. It's not strictly necessary, but it's another option. It could also encode a link straight to the shipping company instead of Amazon's status page
- You just bought a product on Amazon or something. Instead of just getting an e-mail with a tracking code, you would get a 2D barcode along with the tracking code on the screen so you can put it on your mobile device and keep up with what's happening with your order.
- Shipment tracking / order status is a nice application for this
- In Japan, people use it often to grab information off a website when they're in the office so they can refer to it during their commute home
- People put barcodes in all kinds of print media as well (business cards, advertisements, billboards, etc.)
- If grabbing from a print format, it will allow you access to more up-to-date information
- On web pages, have something in the corner that immediately generates barcode for that page so that it's easy to capture on the mobile device
IBM.com QRCode Example
- www.ibm.com/news/jp features a QRCOde that was manually generated as an example, that one has been there for a while and IBM japan partners' say this works fine on their phones. It's a good size, but too much screen real-estate. That's why we have the idea of the icon that brings up the layer on the page.
Weekly Meetings and Deliverables
- Weekly videoconference meeting will be set at 10:00am EST / 10:00pm Singapore time on Wednesdays
- These meetings will include members of CMU & SMU teams as well as David Leip
- They will use the same phone number and access code as was used in this meeting
- Meetings should last approximately 1 hour or less
- CMU and SMU will continue to have weekly Skype meetings on Monday 10:00pm EST / Tuesday 10:00am Singapore time
- Code deliverables should be done for this meeting so they can be discussed and presented to David Leip on Wednesday
- By Monday, Oct. 6th, we will implement the features discussed at the previous meeting
- We should also have selected decoding libraries and begun testing them by Oct. 6th
- November 10th - tentative final deadline to allow SMU time to prepare for finals
- November 24th - SMU's final day of the semester
- October 3rd (Friday) - have project timeline compiled and send to David Leip; final decision on PHP vs. Axis2C platform
- Next Meeting - go over risks and discuss
Minutes of Meeting - 14
- Team SMU / CMU successfully ran the Libdmtx Data matrix decoding library. Team CMU to integrate this with the manual interface before meeting with David Leip
- However, libdmtx is able to decode barcodes that are encoded using libdmtx and not the zint library which is being used to encode the barcodes. Teams suspect this is because of the error correction script in the zint library. Team CMU to look into the matter.
- Team SMU to work on Image Caching
Minutes of Meeting - 15
- Showed David Leip the latest version of the Manual Interface with addition of the following functionalities:
- Decoding of Data matrix Barcodes
- Generating bigger size barcodes in a separate window by clicking on the barcode
- Reference point linking URL images to actual URL text
- David pointed out four bugs in the manual interface( Please refer to the "Defects"section of the wiki for more information). Both the teams to work on these bugs before the next meeting.
- Team CMU agreed to send the link of the interface to David Leip before the meeting
- Expressed his desire to implement the manual interface using a web service
Minutes of Meeting - 16
- Team CMU to continue to develop the Manual Interface using PHP
- Team SMU to develop the Web service using C
- Team SMU / CMU to work on QR Code decoding library
- Team SMU to perform testing and find bugs for the manual interface
- To report bugs to Team CMU by the next meeting on Monday ( Team CMU: Please refer to the Defects Section of the wiki for update on the bugs)
Minutes of Meeting - 17
- Discussed regarding the Midterm report. Team CMU to make changes to the midterm report draft sent by Team SMU.The deadline for submission of the report is Friday (17th of October)
- Discussed regarding the Final Team Presentation.The ideal time for Team SMU is between 14th Nov & 24th Nov. Team CMU to get back to Team SMU regarding their availability for the presentation
- Team SMU discussed regarding the bugs in the Manual User Interface (Please refer to the defects section in the wiki)
- Team CMU to come out with a new version of the user interface with all the bug fixes and cosmetic changes before meeting with David Leip
- Team SMU to update Team CMU regarding the progress in the web service. Team CMU have requested for some sought of a documentation regarding the web service
Minutes of Meeting - 18
- David wanted clarity on specifics on the licensing on the open source libraries used. To update him in the next meeting
- David asked for a report on the current barcode applications available for mobile phones on various platforms(Mac OSX, Symbion, Blackberry, Windows, Andriod). A report to be submitted to him before the next meeting and this will also be included in our final report.
- David asked the teams to draft a user manual for using the manual user interface and also the web service before the next meeting. Google docs will be used to collaborate between Team CMU, Team SMU, & David Leip
- David asked for a Horizontal Bar on the current Manual User Interface
- The team also reported to David the bugs that are yet to be resolved. To work on them before the next meeting with David
- David prefers PHP over web service on Axis Platform as it is easier to deploy and use for other external users in the future. However, both the teams agreed to continue developing the web service on the Axis Problem
- David to invite guests from IBM to have a look at the manual interface for Barcode generation.
- David wanted the team to start work on the browser plug-in. Wants the team to implement it on firefox before moving on to the other browsers.
Minutes of Meeting - 19
- Divided the work amongst the teams:
- Team SMU to work on the following
- Specifics of licenses of open source libraries.
- Research on existing Barcode Applications for mobile phones
- To work on the User guide along with Team CMU.
- Create a google document to work on the user guide
- Implementation of Web Service
- Final Draft of the Midterm report
- Team CMU to work on the following
- Fix the bugs on the manual interface. Add horizontal scroll as requested by David Leip
- To work with Team SMU to come with the user manual
- Make changes to the midterm report and send it to Team SMU by Friday morning 9 AM Singapore Time
- Time slots for Final presentation
Minutes of Meeting - 20
- libdmtx is under the LGPL, which states that any application which makes use of the library can be distributed under any terms
- zint is distributed under the apache license 2.0 which stipulates that we must have 2 files in the top-level directory which contain information about the library and its authors
- licensing for the application: we reviewed some of the licenses in use such as LGPL, GPL, etc. and think that LGPL could be a good option because it allows both proprietary and free software to make use of it. The GPL doesn't offer this freedom.
- Mohit adds that we could have several kinds of licenses
- David Leip: I will take this information and contact IBM's open source organization and see if they have any thoughts on the subject
- Vijay sent David Leip the overview and and discussed it briefly
- Leip: On Blackberries... is it available currently?
- Vijay: Yes, it is. It is under development for Android.
- Samsung and Nokia are preloading phones with the 2D barcode software so you don't have to download
- GS1 conference in Barcelona - they were creating standardized formats for mobile barcodes. Mostly to QRCode and DataMatrix as the standards of choice.
David Leip's comments on the user manual
- Requested that we send original Word doc. It has been sent.
- Wants to add a section on why people would want to use the 2D barcodes
- We also need to write a section on the web service configuration and usage
Security on the Web Service
- We can't use a key or anything because of the constraints imposed by client-side code
- Someone might want to be restricting the use to only their own pages, etc.
- One simple approach might be to ensure that if it's a URL being encoded, then it could be specified to only accept URLs within a certain domain.
- We could also check to see where the request is originating from.
- This would require doing RDNS lookups on all requests coming in.
- We could have an approach where these parameters are configurable. Security and domain restrictions would be optional.
- David Leip thinks that we don't necessarily need to address the threat of DoS attacks specifically
- Also only address requests that have a 'referer' of a certain domain
- At a minimum, we should do the first one (checking URLs)
- We should have some easy means of configuring security options for an installation
- Robert is looking into security for the web service and will report at the next meeting
- If someone wants to encode a VCard, we should be able to create an interface to facilitate easier generation of that (Plain text box may be too difficult)
- Mohit has agreed to work on an addition to the interface that will support this
- David Leip noted that we should start writing the expedience report
- He will post an outline of what he wants on the report to the wiki.
- David Erfley has a 'Hello World' plugin working and is continuing development
- Goal is to have barcode service integrated by next week
Interface Design Work
- David Erfley is also working on the interface design.
- This is an ongoing task (deadline not yet set)
Installation of Interface/Service
- We need to develop an installation procedure for the systems we have created
- Robert will look into this and present progress at Monday's meeting