3-24-14
Checking in to the thread. I had a very busy weekend and had to work 12 hours shifts all weekend, so I've been a little scarce for the last few days.
Effort right now is being put into the internal API system. For security reasons, the website its self will not have access to the database. Instead, it will communicate with a backend server (which is completely isolated from the Internet on a VPC) via a secure internal API that has strict control over what kind of information the web server has access to. I'ts going to eat up some development time in other areas, but it's important to have the security portions done correctly right from the beginning to ensure the security of user data.
Another area I have been poking around with is the User Interface. Right now I'm torn between using standard tools like JQuery and JQWidgets (I hate programming in Javascript, so using these would mean hiring out for more work to be done on the interface), and between using a completely custom UI (meaning that the UI is a custom program with all components rendered on a canvas, including text boxes and other standard UI items - more so like a video game). There are pros and cons to each. Here is a quick list of the pros and cons of both.
JQuery/JQWidgetsPRO | CON |
- Industry standard libraries
- many programmers available to hire
- Very fast and attractive interface
- Skinnable via CSS
| - Standard HTML UI elements are a security risk
- Javascript is not my strong point, I would hire out
- Bugs in JQuery/JQWidgets would be out of my control
|
Custom UIPRO | CON |
- Full control over features and appearance
- I can use a language I'm very fluent in
- Skinnable via custom graphic files
- I could use the same base for web via HTML5 and/or Flash, iPhone, Android and desktop UI options
- Super high security
| - Would likely take a little more time
- Not likely to be as fast as standard UI components, as each one is rendered as a graphic (20 FPS target)
- Not industry standard
|
So as you can see, weighing these two options is not very easy. I want to take the project in the right direction so I need to be sure that I make the right choice. Throughout the week I'll be experimenting with a little of both to help in the decision making (and any feedback from the community considered as well)
Lastly, I know it's a bit early but I've been doing some experiments with porting the framework over to compiled C++, which is not only way faster than interpreted PHP, but will also lower costs in the long run due to being lighter on provisional resources. This is a very long term thing though, I would finish the framework in PHP first and start serious work on the port only after Rollerbot is up and running (think of it as the "next generation" product).
That's about it for now. Just wanted to give an update on where things are. I should be able to put a good dent into the internal API and user registration/login system this week!