Sign up

Widgets » Miscellaneous » My.Cook.Book

  • 36 downloads last 7 days
  • 5,099 total downloads
  • Rating: +2 (login to vote)
My.Cook.Book V1.0 Nov 23, 2008 9:25:11 PM

Find recipes, shop for ingredients and cook!

My Cook Book allows you to store a collection of recipes and use them for cooking, create shopping lists of ingredients for recipes and import new recipes from three major food recipe websites.

If you log in with your My.Opera account, all the recipes and shopping list items are synchronized with My.Opera.

You can also print the recipes in your browser or send them to an email address.


While developing this widget, I've decided to create a common framework that would allow me to build widgets more efficiently.

The result of this is: Widgets on Wheels

Widgets on Wheels is a Rails-style model-view-controller (MVC) framework that allows rapid development of Opera widgets and lowers the complexity of widget development.

Main features include:

- a simple MVC system that solves common problems of widget developers.
- effortless local and remote synchronization of model data with my.Opera
- mimicing links, url parameters and form posts to send data between the view and controller.
- clean templating with the Pure JS templating library and with the WoW form, link and button handlers.
- IDE friendly (clea


Comments 10 posts

Log in at the top of the page to post a comment.

1 - 10 of 10

Great idea, thankssss

By biennoinhovaem , # Apr 9, 2009 3:11:08 PM

WOW! I mean, I'm not one who will use such a widget, but the design is great and especially the features are ingenious astounding!

By zilti , # Jan 22, 2009 8:23:11 PM

Featured your widget and widgets on wheels shortly in my latest blogpost =) (codeutopia.net/blog)

By zomg , # Dec 4, 2008 8:50:16 AM

seems like some dumb cousin of this proper one...
I remember Opera promotes "One Web"... :rolleyes:

By FataL , # Nov 26, 2008 1:55:07 AM

FataL: I was wondering the same. The mobile version of widgets.opera.com that is forced on you on opera mobile (WHY?! Even IE Mobile gets the proper one, and IE Mobile sucks...) seems like some dumb cousin of this proper one...

By zomg , # Nov 25, 2008 6:32:57 PM

Opera staff, I'm trying to reach this page from p1i via Opera Mobile 9.5 (UIQ), and it says that this widget as well as many others that show mobile icon, is not approved for my device/browser...
How it can be?

By FataL , # Nov 25, 2008 3:47:31 PM

[b]@FataL[/b]: the reason for the custom scrollbars is that the default ones completely too small and unusable on mobile (I tried it on HTC Touch). I'll try to fix the scrolling or just put in regular ones for desktop... Also, I agree about the icons... [b]@zomg[/b]: If you're looking through the source code, look at the wow-app directory for the actual application. The wow directory contains the framework. I intend to properly document and release WoW, but there wasn't enough time.. About the snyching code, you actually don't have to do anything else than create a new model constructor: [code] Model.Recipe = function(title, content) { this.title = title; this.content = content; }[/code] Then, in your code, you can create a new instance and call save(), which will persist it locally and remotely. [code] var r = new Recipe("Soup", "...."); r.save(); [/code] To get instances of the model, use the all() or find(filter) method on the model: [code] // get all recipes var recipes = Model.Recipe.all(); [/code] [code] // get all recipes whose title contains "a" var recipes = Model.Recipe.find(function(recipe) { return recipe.title.indexOf("a")>=0; });[/code]

By d4n3 , # Nov 25, 2008 2:37:41 PM

I hate how there's a limit on the description length. Can you include the rest in a post?

The one UI suggestion I would have is to indicated clickability with either a cursor change (i.e. finger icon) or hover affect on the icon. A couple times I wasn't sure whether I was supposed to click on something or not, and it would be nice to give the user feedback.

Nice work.

By ja002h , # Nov 25, 2008 12:59:56 PM

The "Widgets on Wheels" idea is really nice, but I couldn't make heads or tails out of the code...

The syncing code was also a bit confusing. I've written something for doing Opera XML Store stuff myself as well, and used it in both my new widgets. Perhaps you can find it useful:
http://codeutopia.net/code/JS/opera.js

It doesn't do everything possible yet, but the interface is nice and OOP style for common ops =)

By zomg , # Nov 25, 2008 10:06:09 AM

Great idea, but I don't like implementation:
  • naviation through the widget is a guess game for me -- icons really need some tool tips at least;
  • scrolling really suck -- you probably shouldn't have used custom buttons for scrolling -- with mouse wheel it even becomes unusable (try yourself).
I hope you will improve all of these in next versions of the widget.

By FataL , # Nov 25, 2008 5:38:54 AM

Copyright © 2001 - 2009 Opera Software. All rights reserved. About | Contact | Privacy | Disclaimer |