widgets.opera.com 2.0 - the best place for you to share and find Opera Widgets
By Sharebear. Thursday, 7. February 2008, 10:24:32
It's a been a while since we unleashed widgets.opera.com 2.0 on the world so we're long overdue a blog post from the devs regarding what we have done and where we intend to take things.
Why change?
With implementations of Opera Widgets for devices and mobile phones developing fast, we knew we needed to evolve the site in order to keep up with new requirements as well as improving the experience for both users and widget developers. Below I will explain what we've achieved so far, and what is still yet to come.
Progress so far
The code under the hood has been completely rewritten, plus the following improvements have been made, to make widgets.opera.com better for the users and developers of the Opera Widgets community.
- Improved style and layout: The new site looks great in all major desktop browsers and the Internet Channel on the Nintendo Wii, we're also working on mobile specific optimisations at the moment.
- Improved upload process: We now do basic sanity checks on all files that are uploaded.
- Better versioning of widgets: This allows users to moderate widgets more securely, ensuring that end users only get quality widgets that are known to work.
- Bug tracking system: If you find a bug in a widget on the widgets.opera.com site you can now file a bug for the author rather than just mentioning it in a comment, where it may get lost. When logged in to widgets.opera.com as a widget author you get a quick summary of all the bugs that are registered on your widgets.
The stats
For those more interested in the technical details here are a couple of quick snippets of information. I hope to blog about some of the programming topics in more detail over coming weeks.
- Hardware
- 2 blade servers both with two 2GHz Intel Xeons and 4Gb RAM
- Workload
- approximately 3,500,000 total requests per day (including media)
- Language
- Python
- Application Framework
- Pylons
- Templating Language
- Genshi
- Database
- MySQL
What's coming next?
Now that we have the new code base in a kind of stable state, what are we working on? From now on, you can expect to see us start on some of the more advanced features aimed at making widgets.opera.com a more tailored experience for the user.
Feedback
If you have any feedback regarding features or bugs with the site then please raise it on the widgets forum. We do check up there regularly and try to provide a response whenever we can.
I still wonder though why you didn't go with PHP.O well..
By shadowk, # 7. February 2008, 10:31:04
Why not PHP? That's a good question, it is used on some of the biggest sites in the world (Yahoo!, Flickr), so could also have been a good candidate. The short answer is probably part personal preference, part experience. Perhaps I can expand on this in a future blog post. I am a little hesitant though, I don't want to kick off a language war, all languages have their pros and cons, someone will always want it done a different way.
By Sharebear, # 7. February 2008, 12:21:42
By shadowk, # 7. February 2008, 13:06:49
as one of the people helping out on the Genshi project I am curious about your setup (obviously).
Are you guys using 0.4.4 or 0.5-dev?
Are you guys using anything like memcached for additional caching or just raw Genshi?
We would also be happy if you feel inclined to add yourself to http://genshi.edgewall.org/wiki/GenshiUsers
Thanks!
--Jeroen
By asmodai, # 7. February 2008, 17:44:44
Genshi 0.4.4
Yes we use memcache to cache full pages for logged out users, and some internal api calls.
I'll add us to the users page tomorrow (getting to the end of the work day here in Oslo) however, we may phase it out due to scaling concerns. In informal click testing with the profiler we saw that Genshi was taking the majority of the load time for a page.
If this is the case then switching to something faster would significantly affect the load on the servers. That, coupled with FormEncode's htmlfill and Genshi not playing very well together, is leading me think we should consider moving away.
Having said that, there are some areas in the templates that I think could be a cause of some of the slowness and should be refactored. If/when we prioritise looking at the templating I will try and get some proper, reproducable load tests done and publish the results if I can.
By Sharebear, # 7. February 2008, 18:13:25
- ØØ -
By NoteMe, # 7. February 2008, 18:51:02
Maybe you missed this one
By Sharebear, # 7. February 2008, 19:12:17
Thanks for pointing that out, Sharebear.
- ØØ -
By NoteMe, # 7. February 2008, 19:37:49
some additional speedups were introduced in the current trunk, they might be interesting for you guys (and perhaps not).
Alec Thomas is working on additional performance optimizations in a separate branch at http://genshi.edgewall.org/browser/branches/experimental/optimizer
According to Christopher Lenz using htmlfill with Genshi is most likely an issue and he noted that Genshi features a better way to do so using genshi.filters.html.HTMLFormFiller (see http://genshi.edgewall.org/wiki/Documentation/filters.html#html-form-filler ).
Needless to say we are very happy you guys use Genshi and this kind of feedback is valuable for us (so if you have more, please feel free to let us know: drop in on Freenode's #python-genshi or on the mailinglists).
I hope this helps you guys a bit.
--Jeroen
By asmodai, # 7. February 2008, 19:58:25
Thanks for the pointer to the speed optimisations, We'll definitley include them if/when we get around to giving the templating some love (plenty of work to do before then).
I did look at HTMLFormFiller but, off the top of my head, I seem to remember that it would mean we couldn't use the FormEncode validator framework at all, which wasn't something I wanted to change at the time I realised Genshi stripped out the <form:error> tags before passing the result on to htmlfill.
By Sharebear, # 7. February 2008, 20:34:01
Now you should expect the jealous looks of the other opera webdevs. Traffic counters will raise just because of that!
By deadHarlequin, # 8. February 2008, 09:31:58