There are at a fairly high level but for technical people out there this uses:
Languages: PHP, Javascript, HTML/CSS
Framework: LAMP with PHP.
Browser Tests: Internet Explorer 8 (8.0.6), Internet Explorer 6 (6 SP3), FireFox 8 (8.0, 8.0.1) Opera 11 (11.6), Opera 10
Mobile: Samsung and Siemens phone browsers.
Components:
- A fairly robust homebrew engine that renders Smashwords data into XML (in a modified RSS format)
- The RSS/XML file generated by this system
- A library of standard functions for parsing the XML data.
The widgets then draw the data they need from the RSS files, using functions taken from the library.
As everything runs off the core engine, most of the dev work is going on making it stable, even though users will never see it.
If you want to generate your own widgets, then the RSS feeds are available. Drop us a note and we can send you details and the library. Smashwords should have some official feeds coming this year, but until then these are a free set of dev tools.
Future possibilities?
There's a java coder looking at producing applets for the site. We'd be very interested in hearing from Flash developers, as there are some ideas for widgets in development that are crying out for Flash but it isn't a skillset we have in the group at the moment.
Constraints:
Saving data, such as having user accounts with prebuilt widgets etc. requires a level of security that would be prohibitive in terms of time and effort. Also, we are based in Britain, which has much stronger Data Protection laws than most of the world. Therefore to avoid falling afoul of these (and all the ensuring complications with data security) we don't save data. All the widgets are generated dynamically on request.
Opportunities:
Technical areas we aren't currently in:
- Google apps. As no one currently has Python skills, if a python coder wants to convert the widgets to google apps we'd be delighted.
- Flash widgets. Smoother and better converting than Javascript or iframes, and better supported than java. Again, no flash coders are currently on board.
- Facebook. Anyone who devs for Facebook has a great opportunity here, because we don't.