About the Group
Description
Proposal
Parts List
Update 1
Update 2
Timeline
Status
|
- March 13:
- Max - Finished the Brochure, background app docs, and the personal retrospective thing.
- Jing - Finished with the skeleton of the final report.
- Danny - Documents for the Instant Messenger and MemoPad
applications are online.
As for the functionality of all the applications, they are performing as
expected. There are no problems on the PC or the iPaq side. The only
issue is that the wireless network is extremely slow at times, at least it
was over the weekend. This prevents us from using the iPaq because
communication with the profile server times out. However, in the past 24
hours, the network seems alright and the iPaq is working great.
- Jing - I put up the profile server's docs on the web.
- March 7:
- March 6:
- Max - Finished the CE and Windows versions of the background app.
- Josh - Spoton server is getting near completion, has passed tests
against instant messanger/background app.
source and
executable
- March 5:
- March 3:
- Jing - fixed NULL bug in messanger and memo.
- March 2:
- Jing - gave presentation.
- March 1:
- Jing - did initial draft of presentation #2
- February 27:
- Max - Fixed a stupid bug in the controller app. (Mental note: call UpdateData(true) before using variables attached to MFC edit boxes)
- Steve - The ToDo app now works with Max's controller app (that talks to the SpotOn device). Right now, only the W2k version has been developed, but the WCE version should be up soon also.
- February 26:
- Max - Wrote the background controller app and an example message receiver and sent them off to Steve and Josh for testing. Not sure what Steve is whining about -- he knows he had a choice in the matter ;).
- Steve - The ToDo app is basically done (both WCE and W2k), except for the communication with the SpotOn server, which our group has decided to use a background app for. The app hasn't been fully tested yet, esp on the iPAQ because the ipaq I have doesn't have a PCMCIA sleeve or a 802.11 card. Everything looks good against the Danny's test server though. and the slave finally comes through ;-) ... This would have all been done sooner, but I started off writing the Contact List (Address Book) app and the calendar app, and guess which two apps were dropped? (I guess that's what happens when you can't make it to the group meetings.) The contact list could be resurrected though cause I was pretty far with it anyway.
- February 25:
- February 21:
- Danny - MFC is surely a pain. Finished up the notepad
application. Tested it against my test server and all the output that
should be sent to the server looks fine. All messages that should be
received from the server also is handled. Now I just need to test it out
against Jing's server. Will start developing the notepad application for
the iPaq.
- February 19:
- Max - Added basic DTDs to the ToDo spec. If anybody know how to make them better, let me know. If anyone else wants to write DTDs, there is a crappy tutorial here.
- February 18:
- Max - Jing put up the test server!
- Max - Coded and tested the ToDo Server Module. Seems to be working.
- Jing - Wow... spent a lot of time coding in the last few days. Due to the way the devices were limited, we had to contort the server design a bit. At the same time, the changes revealed deficiencies and limitations for the coding on the server. That took the most time to get right. I also had difficulty getting the MemoModule to actually send updates to the database. That took a while to figure out. It turns out that the PreparedStatement object in JDBC is only supposed to be used for parameterizing value inputs. It does work when you try to parameterize other variables such as the table name you want to update to. That was why my updates weren't working. I couldn't parameterize the table name. Anyways, I've also update the memo table to use a BLOB instead of a long string. This was done to make the JDBC interfacing for long text easier.
- February 15:
- Danny - Wrote a simple test server in Visual Basic where you can manually input xml code
for the applications and display xml code from the application.
Worked on the notepad application, incorporating the xml parser with winsock connections. Its
able to take a snapshot command right now from the test server and send modified or new files commands
to the server. Right now the various text files in the profile are written to disk, when the user
logs on. When the user leaves, the files will be deleted. I need to add a method from the notepad
which will allow the user to delete files. It will probably just be a menu item which brings up
a dialog box.
- February 14:
- Jing - Coded for the server. Added a protocol issues page, where we can maintain synched information as our device-to-server communication matures.
- February 13:
- Jing - Coded for the server.
- February 12:
- Danny - Completed interface for notepad and instant messenger using MFC. Also finished writing the xml
parser for all five applications. I decided that because the xml files received from the server will always conform
to the specs, writing one from scratch would be much simpler. It simplies parses out a text file right now.
Next step will be looking at winsock to figure out how to communicate with Jing's and Josh's servers.
- February 11:
- Jing - Fixed some web page errors, as well as update some of the protocol specification tags. I've been coding for the server, but been lax with updating this status page....
- changed the contact table database spec: the uid of the contact person can now be NULL. This is to allow for the case when the individual one wishes to contact is not contained in the system.
- added the contact app protocol.
- February 9:
- Steve - I've met with Danny a few times this past week to discuss the application development. Danny will develop the Notepad & Instant messenger while I will work on the Contact List (address book) and Scheduler. After talking with Danny this afternoon, we thought that the best way to address the issues that Danny listed, as well as some other issues, is to have each application be autonomous, i.e. each application takes care of the XML parsing, communication with the SpotOn server, and communicating with Jing's Data server.
The reasons for this is that if we use a central background app to handle the parsing and/or communication with the servers, whenever we develop a new application, this central app will need to be change to support it. And I feel that this project's goal should be to create a framework for scrap devices with which 3rd party vendors can create applications on. We are developing the notepad, messenger, etc, simply as an example. Consider it a demo or SDK type thing. Let me or Danny know if anyone has a problem with this.
- Danny - Looked into writing Notepad for the Windows environment.
Microsoft was nice enough to provide a wizard for developing so its shouldn't
be too difficult.
We will have a background application which will be listening to the servers
for updates (Josh). Once an update is received, it should pass this information
onto the various applications.
Here are some things we need to consider:
- Should be background app parse the xml file and pass a
data structure to the various user application, or should it
simply pass the xml file and have the user app parse it?
- If the background app parses, it would be easier for it
to create a temp file which the user apps could read. Is this
doable for the ipaq? Should we just stay away from file io?
- Should a local temp copy of the profile information be stored
on the device? When you attempt to browse all the text files to
open, is that a query to the server for a list of files, or can you
simply check some "profile" directory on your device?
Your thoughts ....
- February 6:
- Josh - Have looked a little into the SpotOn stack. I think this is going to be an app that runs in the background. The user apps will communicate with this through WM_COPYDATA messages, unless someone has different ideas. WinCE supports COM, but I don't really know what this is... I think it is too much. All we need is: is there a nearest device? if so who is it?
- Max - Put up the presentation draft with the project schedule.
- Jing - Coded for the server. The source files aren't embedded with the javadoc comments for the layout yet. I've still got that on paper. Will flesh out the code more soon.
- February 3:
- Jing - Got CVS set up on the testbed server. Did some work on coding for the server. I've been cramming for a 461 midterm, so didn't get as done as I hoped.
- February 1:
- Max - Since POOM can't be used to do what we need it to do, we will be writing all applications from scatch. Steve wil either use VB or C++ for this purpose - whichever is easier for him.
I am still going back and forth with the MBA folks on what the strategy is for this biz plan should be. They want to roll it out in e-books/tablets first and try to use that position to go broader. I think we should shoot higher and try to roll out a global system from the start.. FYI: "The name of the company is "Ubiquiplex" (Ubiquitous + Multiplex). The name of the tablet is the u-Book (instead of e-Book)."
If you have any thoughts/ideas/concerns about any of this let me know.
I also took the initiative to modify the group rationale. So, don't say I never did anything for this project.
- Steve - looked in depth into programming for the
PocketPC. Seems like developing for it is not too complex. Using the CE
embedded toolkit, the programming for it is very similar to making a
native windows app. Haven't investigated the client/server support
though.
Also looked at POOM. It basically can satisfy our need for a
schedular & contact list. However, there are several problems. Mainly,
it's not gonna work if we want to update the server in real time. That
is, there are no events support for POOM (MS says that this is because
that functionality is not built into outlook). So the only thing we can
do is that before the user logs off the machine, we check to see if any
changes are made and sends that to the server. In this model, we can only
allow any user to be logged into 1 device at 1 time. No more
synchronization problems that way, but I'm not sure we want to head down
this route. Any thoughts??????
- January 31:
- Max - had Jing install a couple things I am used to having on the server to make coding a pleasant experience (VNC, XEmacs, WindowMaker). Spent a while figuring out why a simple java program did not want to connect to the server (authentication error). Finally either Jing or I did something that fixed it though we are still not sure what that was, but at least it works now. As far as I can tell what fixed it is Jing changing the group on the mysql /var directory but its not worth verifying.
- Jing - helped Max getting JDBC to connect to the mySQL server. Finally got a test java program to connect. Also installed VNC on the server, at Max's request (and I admit, it's cool).
- January 29:
- Jing - Got the linux server with mysql running. Will begin attempting to connect to it via JDBC. Also have picked the XML parser to use. The library is open source, and very easy to use. It is very stripped down, which makes it simple to use. I will write a small demo program to show it in action and place it on the group space.
- January 28:
- Jing - evaluated several XML parsers. Found one that has a very small footprint, and is designed to be used on embedded Java interpreters. Haven't stressed the libraries enough to know if they are buggy, but so far so good. All of them are either BSD or Apache license, so they shouldn't be a problem for us to use. I've also started setting up a server for the database. Not fully operational yet, but hopefully soon.
- January 27:
- Danny: applications - Started prototyping what the user
applications for the video wall will look like. They can be
found here . It was done
using Visio and any feedback would be appreciated. These are
very short applications with little extra features but should
contain the basic functionality.
- Jing - finished final draft of the xml protocol. I also started work on setting up a MySQL server. It can serve as the database testbed for the server.
- January 26:
- Danny : proposal - Added some more detailed information
about some of the issues discussed but not placed in the proposal.
As Josh mentioned, we need some more detail about the other aspects
of the project.
- Josh : proposal - I am just filling in the places of the
proposal that I am the go-to guy on -- radio beacon stuff. Lets get some more
detail on the video wall, iPaq and server filled in too. We still have a lot
unknowns as to how all of this will work, but there is a section for that.
- Josh : Radio Beacons - I just got done talking to Jeff.
The radio beacons operate on a "spotOn" packet protocol, which is used on
every comm., including the serial port and is sort of opcode driven. So our devices will have to be able
interpret this protocol, but he has writen all of this already and has ported
from the radio tags, to the pc and another device. It is writen in C so this
may pose a problem for Java development. He has writen a JNI but he says it
is not great, we might need to spruce it up. We may be better off going with
native code. Especially with the complication Jing mentions below about Java's
interface with the serial port. It is imperative to have calls to SAFELY
stream data through the serial port.
- January 25:
- January 24:
- Danny Touch screen is up and working. We installed the driver using Jing's laptop, running Windows 98. Now we just need the application for the video wall.
-
Max - We set some short-term goals at the meeting today:
- Preliminary Server Spec by Friday (Jing and Max)
- Preliminary XML Protocol Spec by Friday (Max and Jing)
- Work more on video wall (Danny)
- Talk to Jeff Hightower about radio beacons again and possibly start implementing
a prototype by hooking the devices up to a PC serial port (Josh)
- Application UI prototypes in Java by next week (Jing)
- Decide on a dev enviroment for iPaq -- either native or Java by Friday
(Steve)
- iPaq Application prototype by Wednesday (Steve)
Other point of interest was about using Palms in the demo. I want to do it, but the rest of the group feels that it may be a waste of time. The main problem is that the network connection options suggested thus far are Bluetooth prototype and a wireless modem both of which take up the serial port so its unclear how the radio beacon interface would be connected since the palm has only one serial port. I want to look into this more.
Tomorow I am supposed to have lunch with with the MBA team interested in putting a business plan around this project for the Business Plan Competition.
- Josh - I have just emailed Jeff Hightower to work with him on specifying the interface with the radio beacons. The plan is to have this specified by next Wednesday, and begin working on a simple emulator application for the next week. Apps for the wall screen and the iPaq can begin development in parallel with the emulator. The emulator will be an important part of the project since Jeff needs his radio beacons for his own research as well. We will need to work out some sort of time sharing for testing and demo.
Currently, very little is known about the capability of these radio devices. They have a processor, some radio connections that can transmit data and sense the distance from each other, a serial port. The meeting with Jeff should give us a clearer picture of how the development for these will work. He has expressed great confidence in begin able to send data -- distances and a pin number -- over the serial connection.
- Jing - Had a team meeting today. Helped Danny get the touch screen working. It works great. Just had to use Win98. I still need to contact Jong.
- January 22:
- Steve - apparently the meeting time has been decided and will be 1:30 pm Wednesday afternoon. Since Steve has class everyday at 1:30, he will not be able to attend and will have to entrust his roommate Max to provide him with complete & accurate information regarding all the decisions made during such meetings. However, most likely he will receive filtered & distorted info. Since Steve will not have any input at these meetings and will simply do whatever work needs to be done, maybe he is the slave of this group. Hmmm...
- Jing - had a meeting as to what we're going to do next. The group decided that we're going to go ahead and use the laptop for the video wall processor instead of trying our luck with the Cerfboard. Danny has reported that he has some slight difficulties with the drivers for the touch screen. The server team has decided to independently think of some schemes for a data transport and synchronization until our group meeting on Wednesday, so that we can bring a fresh set of ideas to the table. PDA developers have decided to get the WinCE development kit and start familiarizing ourselves with it.
- January 21:
- Danny - Attempted to set up the touchscreen on one of the computers in Sieg 327. However, I could not find the right driver for Windows 2000. It was not located with the touchscreen nor was it provided with at the comapany's website. I will attempt again on another computer running Windows 98.
- January 19:
- Jing - had a meeting with Jeff Hightower regarding the SpotOn devices. Jeff is highly confident that physical integration will take less than two days. Thus, all we need to do is ensure capability to input serial data into the devices, as well as having the proper infrastructure. Jeff has also told us that Jong Hee Kang would know of more alternatives since that was his research focus at IBM. I will attempt to get into contect with Jong later in the week.
- January 18:
- Jing - did initial web skeleton.
- January 15:
Initial project proposal agreed upon by group members.
|