|
A conversation with Harry Whitfield regarding the future development path for Yahoo widgets.
(me) Harry, in your opinion, what is the platform direction to point
towards if you want to keep your investment in your widgets for the
future. Conversion to which platform? What route would you take if you
were forced?
(Harry said)
I'm not qualified to say, as I've not explored (m)any of the options.
Here are three links that you may find useful:
http://en.wikipedia.org/wiki/Comparison_of_widget_engines
http://en.wikipedia.org/wiki/Software_widget
http://www.forevergeek.com/2006/05/yahoo_widgets_vs_google_gadgets/
I would guess that it really depends on your objectives - are you
writing software to sell or for your own amusement? Either way, it is
useful if the product is cross-platform - Windows, Mac OS X and
(ideally) Linux as well. Professional (full time) programmers may find
an IDE useful. For occasional programmers, like myself, it is important
that there is not a large system to learn about and remember!
I've used (and taught) many of the major programming languages over my 50+ years as a programmer.
As a hobby programmer, I am more than happy to use javascript, which
compares very well with most of the other languages I've used and is the
major language of the web.
When it was available, I used HyperCard/HyperScript, which provided the
ability to make simple desktop widgets. I found Konfabulator's use of
XML and javascript quite attractive, more so than using
HTML/CSS/javascript in Dashboard. I have toyed with the idea of trying
my hand at iPhone apps, but it's really too much trouble. When the
Yahoo! Widget Engine stops working, I'll most likely call it a day!
Almost all of my javascript code is free for others to use under the GNU General Public License.
All of which does not answer your question.
You might like to look at the book "Building iPhone Apps with HTML, CSS and JavaScript" by Jonathan Stark,
Published by O'Reilly, ISBN 978-0-596-80578-4. For someone familiar with
HTML, CSS and JavaScript, this is a zero cost introduction to iPhone
Apps. I've looked at Adobe AIR Flash/Flex Builders, but they cost far
too much for hobby use. You can get the XCODE development software for
the Mac/iPhone for free, but there's a lot of learning to do. You could
also look at Google Desktop Gadgets and Opera Widgets, but, I suspect,
they don't match up to Yahoo! Widgets.
(me) I will do so, I will look at the book. I had also thought about
the Google gadgets direction as there some linkage to the services that
google provides but the ipad route appeared a difficult one, if the
investment is carried on though it will make it all a lot easier.
(Harry said) It occurs to me that working within a browser is a fairly
safe direction, in that they are unlikely to go out of fashion and the
versions of javascript and their implementations will continue to
improve.
However, they don't allow access to the local file system and many other
features that can be accessed in Yahoo! Widgets. This is, of course, to
prevent abuse, but is somewhat limiting.
If it were possible to tell a browser to hide all of its own window
features and just show the contents specified by the html pages, CSS and
JS files, you could get quite close to the appearance of a desktop
widget.
(me) Agreed, my initial preference was to integrate my widgets into my
website design as the skills and some of the technology are
transferable, I just don't see quite how at the moment, integration with
the desktop for extracting system information seems poor and as you say
the ability to dis-integrate the surrounding browser elements would be
nice...
Then these ipad/Android things have arrived on the scene and they seem
to be growing in importance so it seems unwise to ignore them. If only
the Konfabulator engine had not been acquired by Yahoo I guess that
Linux and other o/s might have been covered in the course of time. As it
is, migration is not easy nor is the correct path clear to me...
-oOo-
Conversation continues... click read more
(Harry said)
I came across this stuff:
http://www.w3.org/2008/webapps/wiki/WidgetSpecs
(me)
I believe there is only one browser that is compliant?
(Harry said)
It is. I read that somewhere, too. Opera ?
(me)
Its rather limiting given that opera is used by less than 2% of the browser market.
(Harry said)
A lot of people appear to have done a lot of work on the Widget
Packaging and XML Configuration W3C Recommendation 27 September 2011,
but there are currently very few implementations. I've been toying with
the idea of translating Yahoo! Widgets into something that would run in a
browser. Apple Dashboard uses HTML and CSS to create the user
interface, so it must be possible.
Where all of the visual objects are defined in a kon file, it should be
possible to produce an HTML file that generates the same interface,
albeit in a web page window. I was thinking of trying a few examples,
then looking to see if the translation could be automated. However, my
knowledge of HTML and CSS is pretty primitive, so I wondered whether you
might take the bait!
Where visual objects are generated dynamically (using javascript) in a
Widget, using new Image(), new Text() and new TextArea(), etc., it seems
be harder to do the translation, but that may just be my lack of
knowledge of client-side javascript and the way it interacts with HTML.
For example, if I generate an image with new Image(), in the way we do
it in Yahoo! Widgets, how do I attach it to the browser window or
document?
window.appendChild(image) does not work for me in Safari. Is there an equivalent?
Accessing the filesystem and many other system calls is pretty well a
no-no from a browser, unless you implement a local web server as I have
done to access serial devices in some of my Macintosh Widgets.
I have various Widgets that use RS232 and USB serial devices running on
the Mac (e.g. a GPS Display Widget that uses a USB GPS stick and shows
the position on a Google map). I also have a Widget that controls a
stepping motor over the serial interface and another that accepts data
from a bar-code scanner over bluetooth.
I've not yet succeeded in doing the same on Windows. It ought to be
possible to access serial devices using the Konfabulator COM object (not
to be confused with .COM ports), but I know very little about
programming on Windows and don't have too much enthusiasm to learn!
Any thoughts?
(me)
Your thoughts are roughly parallel to mine, yours are only deeper, more
technically competent and with some confidence in your ability in this
whole area.
My knowledge of html and css is working-only, javascript only through
widget development and some limited experience on developing PHP and js
(kludging) on joomla. Experience tells me that CSS is an appalling
travesty to format any sort of creative graphic output (ten steps
backward in technology away from WYSIWYG leading to blocky, standardised
websites) and HTML is so inprecise in its interpretation that still to
this day the output changes quite fundamentally from browser to browser.
As a result my belief is that some more mature framework is required.
One of the reasons why I selected yahoo widgets. >Doh< back to
where we started from.
If only the linux implementation had been completed before it was bought by yahoo.
It would however be very interesting technically and I see where you are coming from.
Personally I think someone should come up with a runtime engine that
uses KON and js, duplicating the yahoo widget runtime functionality. In
the beginning make it work solely on Linux and you have opened the yahoo
widget world to all the Linux/android hand held devices. Then a mere
matter of recompilation on windows and Mac os/x and you have an open
source future multi-platform for yahoo widget development not dependant
upon yahoo. Sounds easy...
Marvin from Kludgets was pointing in the right direction then he stopped.
-oOo-
Conversation continues... more here soon and news from a new developer that has created a possible yahoo widget engine replacement.
|