Niall Kennedy has a blog post entitled Netvibes module developer collects web credentials, personal content where he writes

A developer created a Netvibes module and submitted it for inclusion in the Netvibes Ecosystem module directory. A Netvibes employee examined and approved the submitted module for inclusion in the directory. The remotely-hosted module was then altered by the developer to retrieve stored preferences from other configured modules and store information from other modules loaded in the page such as the contents of a webnote, the user's latest Gmail messages, upcoming appointments and contacts, etc. The developer stored this data in a remote database and later examined his collected findings.

Each Netvibes module is rendered inline, meshing the markup generated by the module with the rest of the page's content. A module developer is encouraged to access only their own module's content using a special Netvibes variable, but any developer can request other content on the page through standard JavaScript or the Prototype JavaScript framework.

I talked to Niall about this on IM and upon reading the blog post from the Netvibes team as well as Niall's summary of the situations it seems they are doing at least three things wrong from a security perspective.

  1. 3rd party gadgets hosted inline within the page instead of within iframes which means the gadget can walk the DOM and interact with other gadgets on the page.
  2. 3rd party gadgets are fetched from 3rd party domains instead of a snapshot of the code being run from their domains which means malicious developers can alter their gadgets after they have been submitted
  3. 3rd party gadgets not hosted on a separate top level domain which means gadgets may may be able to set and read cookies from the *.netvibes.com domain

All of these are safeguards that we take in Windows Live Gallery, Windows Live Spaces and Live.com to prevent malicious gadgets. I'm stunned that the response of the Netvibes developers is to change the text of their warning message and allow user rating of gadgets. Neither of are significant mitigations to the threats to their service and I'd recommend that they reconsider and actually secure their service instead of pushing this onto their users.


 

Categories: Web Development

Richard Sim over on the Hotmail/Windows Live Mail team's blog has posted an entry entitled We Heard You Loud and Clear which states

To do this, we started from scratch and built a whole new service from the ground up – and we called this Windows Live Mail. As we brought users onboard to this new service and had them kick the tires, we learned quickly that users loved it. We knew we were onto a good thing. We also found that many users were extremely loyal to the Hotmail brand and perceived the beta as an upgrade to Hotmail. In fact, our most loyal users have been very happy with Hotmail for years and while they loved the improvements in the beta, some were a bit confused by name change. 
 
As we prepare to launch the final version of our new web mail service, we recognize the importance of ensuring that our 260+ million existing customers come over to the new service smoothly and without confusion. By adopting the name “Windows Live Hotmail”, we believe we’re bringing together the best of both worlds – new and old. We’re able to offer the great new technology that Windows Live has to offer while also bringing the emotional connection many existing and loyal users have with Hotmail.

I'm glad to see that a lot of the unwise decisions around branding that originally infested Windows Live are beginning to fade. First Windows Live Local switched to Windows Live Maps. Now Windows Live Mail is Windows Live Hotmail, which builds on a brand that is about a decade old instead of throwing it away.

What we need now is a campaign to rename Windows Live Mail desktop to something less unwieldy which also respects our brand with lots of mindshare. Perhaps Windows Live Outlook Express? :)  


 

Categories: Windows Live

I've mentioned in the past that I like the SessionSaver extension for Firefox and would like to implement similar functionality for RSS Bandit. I finished up this feature last night but I kept getting weird behavior. The expected behavior is that when RSS Bandit is launched it remembers the application state from the last time it was closed such as whether it was minimized to the system tray, open browser tabs, what nodes in the feed subscription tree were expanded and what news item(s) were selected. 

The weird behavior was that every once in a while when the application restarted, I'd get an InvalidActiveXStateException which was thrown from the IWebBrowser2.Navigate method when restoring the open browser tabs from the previous time the application ran. Further investigation narrowed the issue down to only showing up when the application had been minimized to the system tray when it was closed and thus being immediately minimized to the system tray when the application was restarted. 

I managed to read a comment on some forum that indicated that the problem is that IWebBrowser2.Navigate method doesn't work if the WebBrowser control isn't visible. This means that this feature won't work as smoothly as I'd like when the application is restarted after being closed from the system tray but it does get rid of the ugly exception.

I hope this blog post explains why the feature will seem wonky in this situation for our users and may prove useful to developers who come across this weird error in the future.


 

Categories: Programming | RSS Bandit

A couple of blogs I'm subscribed to are pimping the brand new Yahoo! Pipes which I unfortunately can't seem to access right now. You can read some of the hype in blog posts like Jeremy Zawodny's Yahoo! Pipes: Unlocking the Data Web and Tim O'Reilly's Pipes and Filters for the Internet where it is described as "milestone in the history of the internet". I'd have loved to try out the service giving my interest in mashups and feed syndication but the site seems to be down or is just really, really slow.

As Dave Winer writes in his post Pipes Investigation

I see that Yahoo has a new web app, called Pipes, that looks to me like a feed construction kit. It takes RSS inputs, processes them in ways that are specified by the user, and produces feeds as its output.
...
From a quick persual of the functionality last night and the fact that the server isn't responding right now (5:45AM Pacific), it seems this app uses lots of CPU on the server

As someone who works on large scale online services for a living, Yahoo! Pipes seems like a scary proposition. It combines providing a service that is known for causing scale issues due to heavy I/O requirements (i.e. serving RSS feeds) with one that is known for scaling issues due to heavy CPU and I/O requirements (i.e. user-defined queries over rapidly changing data). I suspect that this combination of features makes Yahoo! Pipes resistant to popular caching techniques especially if the screenshot below is any indication of the amount of flexibility [and thus processing power required] that is given to users in creating queries.

Really interesting idea though. I agree with Dave Winer that this is definitely fodder for geeks and not the average Web user. After all, RSS still hasn't crossed the adoption chasm with average Web users let alone an RSS feed remixing service.


 

It looks like we just announced that we'll be supporting OpenID at the RSA conference. Official details are in the press release Microsoft Outlines Vision to Enable Secure and Easy Anywhere Access for People and Organizations which states

To further enable the vision of secure and easy anywhere access, Microsoft today announced the following product milestones and industry alliances:
...
On the heels of the Windows® CardSpace™ general availability launch in Windows Vista™, Microsoft demonstrated momentum with industry partners that are working to apply this technology to help consumers realize a more confident online experience. This includes the announcement of collaboration on use of Windows CardSpace with the OpenID 2.0 specification. Through the support of the WS-Trust-based Windows CardSpace experience, consumers can take advantage of increased security against phishing attacks without adding complexity to their identity management experience. Also at the conference, Wachovia Corp., Arcot Systems Inc. and Corillian Corp. showcased a proof of concept demonstration using Windows CardSpace to deliver a simpler and safer online banking experience for customers.

I'm glad to see the Web platform teams at Microsoft getting better at watching what's going in the Web developer community and adapting their plans to accomodate them. AJAX, RSS, and RESTful Web Services are all trends that started outside the B0rg cube that the platform teams have embraced after some initial resistance. With OpenID it didn't take as long for us to go through the NIH<->FUD<->Acceptance<->Approval<->Adoption cycle that I've come to expect from my fellow B0rg. It seems we have adapted.

You can get some more details about the announcement from Kim Cameron's blog post CardSpace / OpenID Collaboration Announcement which has more details on which companies are collaborating with Microsoft in this effort.
 

It looks like another collection of links have piled up in my "to blog" list which I don't have enough thoughts on to warrant an entire blog post.

  • Help Find Jim Gray - Jim Gray has been missing for about a week and the efforts to find him by various technology companies has been impressive. From the post "Through a major effort by many people [ed - from NASA, Digital Globe, Microsoft, Google, Oracle, Amazon and others] we were able to have the Digital Globe satellite make a run over the area on Thursday morning and have the data made available publicly. We have split these images into smaller tiles that can be easily scanned visually and stored into the Amazon S3 storage service. We then created tasks for reviewing these images and loaded then into the Amazon Mechanical Turk Service.".

    This is a rather powerful use of Amazon's technology platform and the wisdom of the crowds to try to save a life. If you'd like to help in reviewing sattellite images on the Amazon Mechanical Turk service to help locate Jim Gray go here.

  • The Limits of Democracy - I read this article at the gym last week and the following excerpt stung like a body blow, "Bush's arrogance has turned people off the idea of democracy," says Larry Diamond, co-editor of the Journal of Democracy.But he goes on: "There's a lot more to it than that. We need to face up to the fact that in many developing countries democracy is not working very well." Diamond points to several countries where elections have been followed by governmental paralysis, corruption and ethnic warfare. The poster child for this decline has to be Nigeria, a country often lauded for its democracy. In fact, the place is in free fall—an oil-rich country with per capita GDP down to $390 (from $1,000 20 years ago), a ranking below Bangladesh on the United Nations Human Development Index, and with a third of the country having placed itself under Sharia."

    I've wrote a blog post in response to this article but decided against posting it for obvious reasons. The only observation I'll make in public is that it is unfortunate that the problems with Bush's [lack of a] strategy in Iraq has now moved the Overton Window to a place where people talk wistfully about when the United States supported brutal dictatorships which supported its policies instead of trying to encourage democracy in developing countries. Especially since a lot of the current ethnic woes facing many emerging democracies trace their roots back to meddling by colonial powers.

  • Position Paper For the Workshop on Web of Services for Enterprise Computing - The problem summary for the paper is "Web Services based on SOAP and WSDL are 'Web' in name only. In fact, they are a hostile overlay of the Web based on traditional enterprise middleware architectural styles that has fallen far short of expectations over the past decade". Wow, a VP at Gartner submitting a position paper with the above summary must be a sign of the end times.

  • Here, women propose marriage and men can't refuse. From the story highlights "Woman presents special plate of fish to man; he takes a bite and is engaged. Matriarchal society exists in archipelago of 50 islands off Guinea-Bissau. Missionaries bring new concept of men proposing, causing strife in families".

    I thought the days of missionaries coming to Africa and destroying centuries of African culture converting the heathens to the ways of Christianity ended in the 19th century. Are we in a time warp here?

  • In wake of 2 fatal shootings, some question police tactics - Undercover cops pretending to be drug dealers end up shooting an 80 year old man who confused them for actual drug dealers selling drugs on his property. The statement from the police makes it seem like they consider this the equivalent of a bureaucratic foul up. Sad.


 

I'm a little late in blogging this but last week the Windows Live SDK silently launched. What's in the SDK? All of this goodness

Kudos to Jim Gordon, Kevin Ledley, Koji and all the others who pulled together to get this out. I actually did some work on this as well. I updated the documentation on the Windows Live Spaces MetaWeblog API to account for the very recently announced Windows Live ID 1.0 Client SDK. Finally, non-Microsoft applications can talk to Windows Live and MSN services that require Passport Windows Live ID authentication without having to sell their souls to the B0rg cube. Now we just ask for a pound of flesh. ;)

Seriously though, I'd been watching Yahoo! and Google's forays with BBAuth and Google Account Authentication with some jealousy so it is with a lot of gladness that I welcome this move. If you are an application developer that is interested in building an application that accesses user data from Windows Live services then download the Windows Live ID Client SDK 1.0 alpha release and share your feedback with the Live ID folks on the Windows Live ID development forum. Authentication is a fundamental building block of any API story that we have with regards to accessing and manipulating user data so it is important that we get it right and get feedback from developers out there.

Let us know what you think.


 

Categories: Windows Live

There's a theme that I've seen recurring over the past few weeks that I thought would be good to expand upon in my blog so that next time it comes up I can just point people here. It started with a blog post by Joshua Schachter of del.icio.us entitled lessons learned: fidelity where he writes

While software systems tend to strive towards accuracy and fidelity, I have frequently observed that these exact qualities may hurt social software.
...
It occurs to me that not every factoid gleaned from the constellation of behavioral data should be presented.

For example, the emminently social Twitter, happily informs me that while 34 people count themselves amongst my friends, only 31 of them care to be informed about I'm up to every day -- and then shows me who those folks are. While these lists are on different actual web pages, it's not a herculean task to figure out the actual people involved. Even though it's possible to show all the information, from a social perspective a degraded view would be better.

This point has come up repeatedly in discussions I've had with people across Windows Live. Just because we have information doesn't mean we should present it to users especially since giving users all the data can sometimes be considered spamming them (e.g. unwanted friend requests in social networking sites) or can be somewhat unsettling to users even if the information is readily available ( e.g. the original implementation of News feeds and Mini-Feeds on Facebook). 

Then there's the reciprocity point that Joshua Schachter brings up. The problem with social networking is that it is all about reciprocity and unfortunately sometimes we have to deal with rejection. How the application displays this rejection to users is key to the user experience. Here is one example taken from the Penny Arcade post The Pilgrimage, Part One

I had hoped that there at CES I would have an opportunity to use the Zune's social features - its "higher brain functions," as I put it - but I was only there Thursday, after the place had largely thinned out. Near the Microsoft booth I was happy to see many devices speaking wirelessly - so many I had to scroll! - until I realized that they were named after genres, and were (in fact) the display units, which added greatly to my shame.

The two times I had an opportunity to share files were interesting - once on the floor itself, and once in the plane on the way back. In both cases, my offer was rebuffed. This actually feels terrible when it happens, because you're trying to show someone something that is important to you and they don't care. But let's be clear: when someone is listening to music, that's private. They are actively eschewing the outside world, and here you are - with some song they've never heard of - interrupting their lives. Let me also state that your music stops when doing this - even for someone that buys into the device philosophically, I mean... Jesus Christ, guys.

Notice that in this case, the rejection is really stark and turns what was meant to be a "social" experience into a negative user experience. We've faced this problem as well in various applications across Windows Live. In Windows Live Messenger [which just hit two milestones] we cushion the pain of rejection by not telling you if the person you made a buddy request to said Yes or No. Instead, we add them to your buddy list right away but in the offline state and you can't communicate with them or see their online presence until they accept your request. So we leave it ambiguous if your request was ever answered or the person is just never online when you are. Of course, this isn't full proof but it significantly cushions the blow of rejection. We do the same for when someone adds you to their friends list on Windows Live Spaces. However one place where I still think we get the social nuances wrong is that when someone deletes you from their friend list in the social networking experience, you can tell because they get removed from your list as well since the relationship is reciprocal. Still trying to figure out a good way to deal with that although it happens infrequently enough not to be a showstopper. 

Finally, you have to be clear about what your goals are when showing users data. Are you trying to generate page views by giving them more stuff to click on? Are you trying to encourage a particular type of behavior? Or is it just data pr0n? And even when you think you have clear goals, they should be constantly be revisited as the site matures. Take this example from today's post by Kevin Rose of Digg entitled A couple updates… where he writes

Which leads me to a disappointing trend that we’ve noticed over the past several months. Some of our top users – the people that have spent hundreds if not thousands of hours finding and digging the best stuff – are being blamed by some outlets as leading efforts to manipulate Digg. These users have been listed on the “Top Diggers” area of the site that was created in the early days of Digg when there was a strong focus on encouraging people to submit content. The list served a great purpose of recognizing those who were working hard to make Digg a great site, as well as a way for new users to discover new content. Now, as the site has matured and we regularly get 5,000+ content submissions per day, we believe there are better ways to discover new friends based on your interests and what you’re digging. So if you have been digging stories about digital cameras and Oolong tea, you will be introduced to other top users with those interests.

So what does this all mean? After considerable internal debate and discussion with many of those who make up the Top Digger list, we’ve decided to remove the list beginning tomorrow. As for what’s next, we’re currently working on designing and refining the technologies required that will help enable our nearly 900,000 registered users to make real connections that we believe will greatly enhance the Digg experience – whether you’re brand new to the site or have been on Digg since the beginning.

This is part of the natural evolution of social news sites. I remember when Slashdot instituted the karma cap because of Signal 11 about six years ago because of similar reasons. Ranking users and turning participating in the community into a game complete with a high score list may be a cheap way to incentivize your users but it becomes problematic once your site matures and has hundreds of thousands of users.

All of these issues should be kept in mind when considering how much information should be shown to users instead of just focusing on whether it is possible to show them the information.


 

Categories: Social Software

It's unfortunate that when people become successful, there are always the jealous waiting on the wings to tear them down and exaggerate every flaw. Today was one of those days for Flickr. You can tell things are fishy when the people complaining loudest about a company aren't its users but its competitors. We have

  1. There's Thomas Hawk who writes There's Some Mighty Pissed Off Flickr Members Right Now

    [I am CEO of Zooomr]

    Flickr needs to reverse the asinine decisions made today to force people to merge their accounts with Yahoo and to place new limits on your contacts and tags.

    Here are some of the more interesting comments pulled over the past few hours from two flickr forums where they are taking a beating over this right now.

    People are pissed.

  2. And There's Don MacAskill who doesn't just stop at gloating stoking the flames reporting on the problems at a competitor's service. In his post The Dark Side of the Flickr Acquisition where he writes

    You asked for it, you got it: SmugMug is offering 50% off to all Flickr refugees. Just sign up for our free trial using the coupon code flickr and if you like what you see, you’ll get 50% off your first year.

    We’re getting some email from ‘Old Skool’ Flickr users asking us if they can get a discount because Yahoo’s making some changes they don’t like. Thomas Hawk has more coverage over on his blog, you can read the Flickr Forums for more reactions, and even check out the Flick Off group (aka the Flickr Accounts Mass Suicide Countdown group).

I looked at the announced Flickr changes and didn't see anything particularly shocking. For performance/architectural reasons, they are limiting people to having 3000 buddies and 75 tags. That sucks but it isn't the end of the world. If anything, it just points out the architectural limits of Flickr's backend to competitors but those limits should be fine for most users. The second issue seems to be that you'll soon need a Yahoo! ID to access Flickr. As Anil Dash states in his post I am okay with my Yahoo sign-in, people have known this for months so it shouldn't be a surprise and they've encouraging people to get a Yahoo! login on the sign-in page for a while now.

I wouldn't be surprised if a lot of the "aggrieved users" are actually astroturfers from competing Web 2.0 photo sharing sites.


 

February 1, 2007
@ 01:19 AM

Miguel de Icaza of Gnumeric, GNOME and Ximian fame has weighed in with his thoughts on the FUD war that is ODF vs. OOXML. In his blog post entitled The EU Prosecutors are Wrong Miguel writes

Open standards and the need for public access to information was a strong message. This became a key component of promoting open office, and open source software. This posed two problems:

First, those promoting open standards did not stress the importance of having a fully open source implementation of an office suite. Second, it assumed that Microsoft would stand still and would not react to this new change in the market.

And that is where the strategy to promote the open source office suite is running into problems. Microsoft did not stand still. It reacted to this new requirement by creating a file format of its own, the OOXML.
...

The Size of OOXML

A common objection to OOXML is that the specification is "too big", that 6,000 pages is a bit too much for a specification and that this would prevent third parties from implementing support for the standard. Considering that for years we, the open source community, have been trying to extract as much information about protocols and file formats from Microsoft, this is actually a good thing.

For example, many years ago, when I was working on Gnumeric, one of the issues that we ran into was that the actual descriptions for functions and formulas in Excel was not entirely accurate from the public books you could buy.

OOXML devotes 324 pages of the standard to document the formulas and functions. The original submission to the ECMA TC45 working group did not have any of this information. Jody Goldberg and Michael Meeks that represented Novell at the TC45 requested the information and it eventually made it into the standards. I consider this a win, and I consider those 324 extra pages a win for everyone (almost half the size of the ODF standard).

Depending on how you count, ODF has 4 to 10 pages devoted to it. There is no way you could build a spreadsheet software based on this specification.
...
I have obviously not read the entire specification, and am biased towards what I have seen in the spreadsheet angle. But considering that it is impossible to implement a spreadsheet program based on ODF, am convinced that the analysis done by those opposing OOXML is incredibly shallow, the burden is on them to prove that ODF is "enough" to implement from scratch alternative applications.
...
The real challenge today that open source faces in the office space is that some administrations might choose to move from the binary office formats to the OOXML formats and that "open standards" will not play a role in promoting OpenOffice.org nor open source.

What is worse is that even if people manage to stop OOXML from becoming an ISO standard it will be an ephemeral victory.

We need to recognize that this is the problem. Instead of trying to bury OOXML, which amounts to covering the sun with your finger.

I think there is an interesting bit of insight in Miguel's post which I highlighted in red font. IBM and the rest of the ODF opponents lobbied governments against Microsoft's products by arguing that its file formats where not open. However they did not expect that Microsoft would turn around and make those very file formats open and instead compete on innovation in the user experience.

Now ODF proponents like Rob Weir who've been trumpeting the value of open standards now find themselves in the absurd position of arguing that is a bad thing for Microsoft to open up its file formats and provide exhaustive documentation for them. Instead they demand that Microsoft  should either  abandon backwards compatibility with the billions of documents produced by Microsoft Office in the past decade or that it should embrace and extend ODF to meet its needs. Neither of which sounds like a good thing for customers. 

I guess it's like Tim Bray said, life gets complicated when there are billion$ of dollars on the line. I'm curious to see how Rob Weir responds to Miguel's post. Ideally, we'll eventually move away from these absurd discussions about whether it is a bad thing for Microsoft to open up its file formats and hand them over to an international standards body to talking about how we office productivity software can improve the lives of workers by innovating on features especially with regards to collaboration in the workplace.  After all everyone knows that single user, office productivity software is dead. Right?


 

Categories: Technology | XML