While it would be nice to sit down and crank out a project in just a few weekends of work, that's just not reasonable. Especially when the design calls for a very complex and process heavy database server platform, which will support multiple mobile clients - the amount of which is yet to be explored. Currently, I don't plan on describing what the project is, however I do plan on describing the process that I'm going through, and the amount of time and effort it will require. I will say that if you know my roots as a programmer and developer, then you can get a pretty good guess as to what market I'm aiming for.
My biggest struggle was in selecting the environment I would use for the back end. I knew that I needed to use a method of threaded communications with multiple clients. Since I wanted to utilize the use of Websockets, I started my search for a good set of existing routines or a library as a starting point. My criteria for my decision would be based on:
- Existing websocket libraries
- Will improve my ability to contribute technically to my "real" job
- Must support MS SQL as a back end database
- Can support multi-threaded, concurrent client connectivity
- Must be a language I either already know or can get up to speed quickly
Now for the proof of concept! After figuring out how to use port forwarding on my local network, out through my Comcast modem, I configured the Fleck Websocket server code and launched the server. Then I used the NSBasic Websocket sample code, made a few modifications, and then deployed it to my development web site. I pointed my iPhone Safari browser to the client code. Then came the whooop, as my client text was being received by the server and then echoed back to the client. Connectivity proof of concept completed! A milestone.
At least that is far enough to give my project a code name - Manta Ray. (Why not?! Apple likes cats, Android likes sweets. I'll go with sea life!)
Completed: Proof of Websocket concept
Next: Database design & ERD
Keep writing. codito ergo sum