Archive for the 'internet' Category

Ignite Seattle 3

Last night I finally made it over to one of the Ignite Seattle events. I’d been wanting to get over for one of them, but part of the rub is getting a ride from the ferry to the actual location. Fortunately, Ryan Stewart was kind enough to give me a lift to and fro.

Ignite has a very interesting format. There’s a MAKE event before the talks get underway. The talk section is grouped into 30 minutes of talks and 30 minutes of mixing, which is repeated for either 2 or 3 talk blocks total. The talks themselves are 5 minutes long and you get 20 slides and 15 seconds per slide — the slides advance automatically, so it really is 15 seconds. If you’re a listener, it means you get a bunch of talks in a short time, and you are guaranteed that you only have to endure a bad or uninteresting talk for 5 minutes. If you are a speaker, it means that you really need to have your act together. It’s a challenging format, and even some experience speakers have trouble making it work for them.

Highlights of the talks:

Karen Anderson’s Work Place Survival Tips - there was one really good one — I hope she blogs it. I had a camera in my hand, so my attention was divided.

Scott Berkun did what might best be described as a brief history of the decline of Attention.

Shelly Farnham of Waggle Labs talked about social tagging, which is the idea of tagging people with semantics which might be useful. She used the example of tagging people at conferences with tags that would help them connect with each other. That’s a problem that resonates with me, but you can easily imagine other domains where this idea would be helpful. Best of show. I’m looking forward to seeing what Pathable.com turns out to be.

Christopher Johnson’s talk on names was particular interesting, because we’ve been doing some branding stuff at OSAF, and I found his approach based on sounds interesting. Even more interesting was his analysis of how Apple’s name related to the attriubutes of the Apple brand.

Mark Novak from Microsoft crammed a security analysis of OpenID into 5 minutes by talking really fast. The 5 minute format means that the talks are also a kind of performance art. If you were an expert and familiar with his notation it was possible to follow the talk. If not, the performance was really good.

Eric Nevala of the US Marine Corp talked about his experiences running IT for the Marines in Iraq. Eric received sustained applause and support from the audience.

The Twitter backchannel for Ignite was projected on a wall. It was fun to watch some of that chatter go by, and you can use it to get a feel for what happened. After the whole thing was over, Ryan and I spent some time talking to Monica Guzman of the Seattle PI about the merits (or not) of Twitter.

On the whole I had a great time. I got to see some friends I hadn’t seen in a while, and the talks and format were good. I like seeing folks tinkering with meeting formats — I hope that there’ll be more of that in general. Between Mind Camp and Ignite, the technology community in Seattle might be bumping it up a notch. Kudos to Brady and Bre!

I did have a camera with me, and the pictures are up on this Flickr set.

Why WPF/E didn’t make my cut

Dare Obasanjo thinks that WPF/E ought be included in the list of contenders for RIA foundation. He makes his argument on the basis of some technical criteria (which I agree with). He also says that being open has nothing to do with it, and cites Java and Visual Basic as existence proofs that a single vendor technology can rise to the top. I never disputed the fact that a single vendor solution could rise to the top. That was the point of my original post. However, and unsurprisingly, I disagree that openness is irrelevant to the popularity of RIA platform technology, especially since part of the point is to deliver solutions that run on all the platforms that today’s web applications run on. And ultimately that’s why I left WPF/E off my list, even though I’m sure it’s on other people’s.

Miguel de Icaza followed up Dare’s posting with more analysis on WPF/E, Flash and the openness of Java. He does have some slightly out of date information, since the recent versions of OpenLaszlo no longer require a server, even when Flash is the runtime. You should read Miguel’s post for his analysis of the openness of Java. He’s right that the JCP process did help get other parties involved with the future of Java, which did ultimately help it. He’s also right that the JCP brought us nightmares like J2EE (I’m not as sure that you can blame the generics mess on the JCP). I would point out some JSR’s also came from the open source community, not just from companies. Not only that, EJB3, which puts to right a number of the worst problems with EJB2, borrowed heavily from ideas that first appeared in Hibernate and Spring, both open source projects. In any case, as I pointed out in my followup posting, I’d hope that we could do better than both the W3C or the JCP for Flex/Flash or OpenLaszlo.

Missed the Flickr Birthday Party…

Argh! I am disappointed that I missed Flickr’s 3rd birthday celebration. From the tagged photos it looked like great fun…

Ambient Intimacy - I love it.

[ via Cote ]

Leisa Reichelt has coined the term Ambient Intimacy to describe the value of Twittter. For some reason, this turn of phrase really resonates with me. [So, yet another RedMonk recommended blogger enters the 30 day evaluation folder in NetNewsWire...]

I’ve definitely benefitted from the Twitter experience — it feels a bit like my early days of blogging and feed reading: discovering new people and getting to know them through a new medium. The RIA flap of the last week or so introduced me to Ryan Stewart via Twitter. Well, actually via a combination of a RedMonk recommendation via the Twitter backchannel at Engage, but I think it’s true that I probably would have spent a bunch more time ignorant of Ryan without the events of the last week. Even more, I learned via a stray Twitter @message that Ryan is located somewhere in the Seattle area, which makes us neighbors, and outside the lush tech/social environment of the Bay Area, that’s a precious thing. Doubly so when you work at home.

Leisa thinks that the simplicity of Twitter is what has made it successful. But you can sort of imagine a Twitter-like situation coalescing via existing channels of communiations, IRC (via bots),, IM of various flavors, and the cell text messaging network. One thing that attracted me to Twitter was that it was a one stop shop. Web view, RSS view, IM integration, Text Message integration, and a REST based API for additional integration (I can’t wait until Bear gets done hacking Twitter support into supybot). There’s going to be a bunch more experimentation with Twitter, both via technology hacks, but also via social hacks. I think that this is going to be an interested playground to be a part of. The top thing on my list is the ability to have subgroups (both dynamically and statically) formed inside Twitter.

Following up on “The Microsoft of the Web”

My post “Adobe wants to be the Microsoft of the Web” attracted enough feedback that I think it’s worth a follow up.

I’m going to begin by trying to clarify two aspects of what I said in the post, and then try to treat blog posts and comments in light of those clarifications.

What do I mean by the Microsoft of the Web?

When I say this, I mean that a single company determines the direction of a technology. Input from other parties might be considered but the company has the final say. I don’t mean this to be a comment on avariciousness of the company, or about the use of monopolistic business practices. It is a statement about having a huge degree of control over an important technology area, not the manner in which control was obtained.

The Flex/Flash stack has many things going for it. Very broad distribution. Users who are somewhat accustomed to upgrading the Flash plugin. Excellent development tools. This gives the stack a powerful position in the market and a good launching point to gain an even stronger position in the new RIA space. There actually is an RIA space, and the problems of incompatible multi-vendor technology in the HTML/CSS/Javascript stack are real and bigger than the problems of plugin version detection and upgrade. OpenLazslo is the only other competitor on my radar, and they have a very good technology, but businesswise they are at a disadvantage when stacked up against Adobe name recognition, tooling, marketing etc. Because the Flex tools story is so compelling to so many developers, they are going to choose Flex. So unless something else happens, when the web is RIAs (which I think is the direction) Flex will be the web, and thus Adobe will be in a Microsoft like dominant position.

What are the properties of a sufficiently open technology?

I don’t think that all software must be free or open source. I don’t begrudge companies who want to charge money for software. I do think that the many properties of the “open source” model result in big benefits to certain classes of technologies, and things like RIA foundations for the web fall into that category. My thinking on this has been shaped by my participation in the Apache Software Foundation, and by books like Democratizing Innovation, The Future of Work, The Success of Open Source, and Benkler’s paper “Coase’s Penguin” (I want to include “The Wealth of Networks” here, but I’m stuck at page 272). In short, Democratizing Innovation is the goal.

  • Interested parties willing to make actual contributions an empowered seat in determining the future of the technology. Let’s break this down. “Interested parties” — anybody who is interested. Corporations or Individuals. “Willing to make actual contributions” - People hanging out throwing rocks but not providing proposals and/or code don’t count. “Empowered seat” - being at the table means having a vote, and not having to pony up money to participate, unlike, say, the W3C. Votes not being overridable at the whim of a single person, unlike, say, JCP 2.6. “determining the future of the technology” - this should be self evident. I am not saying this will be easy. Sun has yet to define the governance model for OpenJDK, and how they handle the governance issue will be of huge importance.
  • Compatibility is important - a significant part of the value (to me) of the Flash/Flex stack is portability/compatibility. It is self defeating to allow compatibility to go out the window. Properly handled, I think that compatibility suites of some kind coupled with trademark usage could go a long way here. Also, distribution of the Flash plugin has a huge impact on compatibility. While people can and do download plugin upgrades, it is also the case that the plugin that gets included in the browsers has a significant advantage, in the same way as the browser that is bundled in the operating system. Adobe already has that relationship with the browser folks. If they were to steward an opened Flash/Flex responsibly, I would think that relationship would be secure.
  • Availability of source code enables parties working on an open technology to collaborate whenever possible, including bugfixes and enhancements. It allows an interested party to show up with a working prototype for a new feature rather than just a paper design, for example. Because of the way that open source and free software have been defined, people think that it’s all about the licensing and availability of source. But all that stuff is just a facilitator for the collaboration. But more on that in a forthcoming post.

Elsewhere in the blogosphere

Ryan Stewart doesn’t want an open source Flash because he is concerned about compatibility. Just because Flash opens up doesn’t not guarantee that it will fragment into a billion versions, or even 5 (existing versions notwithstanding). The value of Flash is in the cross platform compatibility. If people are stupid enough to try gratuitous forking, they are not going to get adopted. This is what Sun has always been afraid of with Java, and I am happy to see that they finally got over it. When the value of your technology is portability/compatibility, the will be very strong pressure to remain compatible. Not only that, there is the distribution issue that I mentioned above.

Andrew Shebanow had several issues:

  • He took issue with the “sensationalistic title” — the title came as a direct quote of something I said in the Twitter backchannel, and I hope the paragraphs above on the meaning of “The Microsoft of the Web” expose more of the reasoning behind the statement.
  • He invokes “the web will route around ‘bad’ players” as an argument for why this will not happen. Perhaps the web will route around. Then again, people could have routed around Windows by buying Macintoshes. It’s a lot harder to route around when your business critical application has already been built.
  • He makes an emotional argument about the ethicality of Adobe, which I wouldn’t presume to dispute. Yet, corporations must answer to their shareholders demands for profits, and I think that the path I outlined about doesn’t require Adobe to be avaricious or have monopolistic tendencies. The only thing stopping it is whether the Flex adoption curve hits an inflection point. Which it hasn’t yet - otherwise I wouldn’t have bothered to post.

Jay Pullor, one of the founders of Pramati, posted about Dekoh, ther Java based RIA technology. I have to confess to a large degree of skepticism regarding Java based RIA technology, mostly due to the Java plugin distribution problem. Yes, I know there is Java Web Start, but my personal experience with Web Start based apps has been hit or miss and disappointing. There’s also the process/governance issues, which his post didn’t address.

The comments

Via the comments I found James Ward’s piece “How I overcame my fear of flash” from a few weeks ago. He basically admits that he is hoping Adobe will do the right thing on the openness front. I’m pointing out that hoping may just be that, due to all the forces in play around the technology and in the market. This is too important to me to leave to hope.

David Temkin from LazsloSystems weighed in on some of my comments about OpenLazslo. He pointed out that:

  • OpenLazslo does have an open public process for defining things like APIs, and that the process is open to non Laszlo contributors
  • Lazslo Systems has hired a community manager to accelerate the development of a community around OpenLazslo
  • He agreed that their community is at a very early stage, which means that there hasn’t been a lot of testing of the public process

(Disclosure: David is an old friend, and I have been a fan of the OpenLazslo technology for some time. I would really like to see them get a chance to compete in the marketplace of ideas for the RIA space.)

John Dowdell and David ? from Adobe also responded in the comments, and I was very pleased that they wanted to engage in conversation around the post. John was trying to suss out what my real requirements were for opennes around the Flash file format. I hope that the second section above provides the insight that he was looking for. (if not, there’s always the comments again). David provided some additional facts about the openness of various parts of Flex and the Flex dev tools. I think his position is that the only part of Flex that isn’t open source is the Flex framework (which sits on top of ECMAScript). The framework ships with source, and apparently, the licensing allows modification and integration. I think that a full story includes both Flash and Flex, since Flash is subsumed into the Flex story. In regard to the Flex framework David said:

Now, all of that said, we haven’t open sourced the Flex framework itself, just the underlying engine it runs on. We haven’t standardized the Flex framework, but we have standardized the language it in (in addition to ECMAScript, we leverage CSS). Given all this, how important is it to you that we open source the framework itself? What would this change for you?

Again, I would point to the second section above, which describes my conception of an appropriately open environment, but which goes beyond some people’s notion’s of open source (although no-one else involved with Apache would be surprised by my list, with the possible exception of the compatibility stuff). What it would change for me is that it would give me the assurance that your “good behavior” regarding Flex wouldn’t suddenly change when there was a management or other change at Adobe. It would demonstrate your trust and regard for a decently sized community of people that feel these issues are important, and who would reward that demonstration of trust with the fruits of their intellects.

There were a few other comments/trackbacks which I plan to address in the comments or in additional posts.

Summation

I see two leading contenders for RIA foundation technologies. OpenLazslo and Flex/Flash/Apollo. OpenLazslo is the underdog, with a really good technology and the basics of a good governance system, but with a fledgling community. Adobe has the advantage as the bigger player, with deeper pockets, more recognition, a better tools story, but no real story on governance/openness. Some components of Flex are source available, but as I mentioned above, source availability is an enabler, not the end goal.

Adobe wants to be the Microsoft of the Web

I suppose this will be the one “technical” post about the whole Adobe Engage thing.

Background
For several years, I worked on Chandler, a cross platform desktop app which uses the open source wxWidgets toolkit to hide platform differences from an application. I am currently managing the Cosmo engineering team, which is developing a web UI for Chandler data which is stored in the Cosmo server. In a previous life, during 2000, I built a rich internet app (RIA) using Flash and Java.

The problem as I see it
I think that a lot (but not all) apps will become RIA’s, and the base platform technology for RIA’s is very important. Too important to be controlled, or designed by any single party. The current vogue toolchain, AJAX, has this property. It also has the property of being a cross platform development nightmare. On the desktop, you commit yourself to a single cross platform library/technology, and then you spend the rest of your time wrestling with it. In AJAX, you have multiple browsers on each platform that you want to support. Not only that, you have multiple versions of each browser. If your use of AJAX is limited to simple animation and so forth, that’s not that big a deal. But when you want to build something that has rich interaction, all those versions are a compatibility nightmare. There are also the performance problems with Javascript. Firefox partisans will be shouting “Tamarin“. Only problem with Tamarin is that it doesn’t help IE or Safari or any other browser. So much for platform independence.

Flash/Flex
Enter Flash/Flex. Flash has a great cross platform story. One runtime, any platform. Penetration of the Flash Player is basically the same as penetration of browsers capable of supporting big AJAX apps. There are nice development tools. This is highly appealing.

What is not appealing is going back to a technology which is single sourced and controlled by a single vendor. If web applications liberated us from the domination of a single company on the desktop, why would we be eager to be dominated by a different company on the web? Yet, this is what Adobe would have us do, as would the many who are (understandably, along some dimensions, anyway) excited about Flex? Read Anne Zelenka’s post on Open Flash if you don’t think that Flash has an openness problem. I’m not eager to go from being beholden to Microsoft to being beholden to Adobe.

What to do?
Unfortunately, there don’t really seem to be many alternatives. There’s OpenLaszlo, but much as I like the Laszlo folks, perusing the mailing lists shows that it’s still pretty much a Laszlo show. So while the licensing is better, the community development part doesn’t seem to be much better. There’s also the possibility of Adobe having a change of heart regarding the openness of Flash and Flex. But it’s hard for me to see why they would do that. I guess we can only hope that Adobe’s experience with Tamarind warms it to the benefits of a more open model for the future of Flash. Sun has finally woken up, so maybe it’s not impossible for Adobe to either.

[Update: see my followup]

The fuss about Yahoo Pipes

Yahoo Pipes = RSS + Prograph + AJAX.

Nicely executed? Yes.
Useful? Yes.
Overhyped after one day? Yes.

Growlified Tweet

I’ve updated Tweet, the Applescript Quicksilver action for Twitter, so that it sends a Growl notification when it completes. The code is here.

Social social networking

It seems like I’ve been doing a lot of stuff involving social networks recently.

Flickr (http://www.flickr.com/photos/twleung)
Most of the fun activity in Flickr revolves around finding people that inspire me or who share some common interest. Sometimes that is even extending into the real world, as it did during last week’s SFlickr meetup.

Upcoming (http://upcoming.org/user/12327/)
Also last week was the first time that I really used Upcoming.org in any major way. I got an account when I went to the SFlickr meetup last May, but besides that use, I hadn’t done anything - no friends, no nothing. Since Macworld turned out to be the same week, I ended up following a number of the events at Macworld using Upcoming. I took the trouble to add friends, and subscribe to a few Upcoming RSS feeds, and this gave me no shortage of options for activities during the week. The combination of friends and locations seems to be a good fit for the way that I’d like to find out about events, especially while I am travelling.

LinkedIn (http://www.linkedin.com/in/tedleung)
Guy Kawasaki has written a pair of great posts on how to use LinkedIn more effectively. Of all the job or professional social networks, LinkedIn is the only one that has actually been any good for me. I’ve had several solicitations for contract work (even though I am not consulting any more) and I’ve seen some reasonable jobs go by (not that I am looking). I definitely feel that it is worthwhile to maintain my LinkedIn information, and to add people to my network. I’ve been much more stringent about letting people into the network, particularly since I’ve been asked to recommend people to each other, and I want to feel comfortable about doing that.

Twitter (http://twitter.com/twleung)
The most recent of the social applications is Twitter. Twitter is an app for letting you put your status out into the cloud. Your status will be recorded on a web page that people can see, and it will also be pushed to people via IM (I was having terrible luck getting IM notifications until I switched to the Jabber IM bot) or SMS (I turned this off early on before I exceeded my text message limit). You can also post status updates via the web, IM, or SMS.

It might seem like IM status messages would be enough, but they turn out not to be. At OSAF, we have a decently distributed staff using a number of communications media: IM (on multiple networks), IRC, and Skype. When I go away from my computer for lunch or an errand, I want to let people in the community know. Today, I have to go update the status of all those media. Also, in some of those media, your status information could turn into a message that scrolls off screen and gets missed. The fact that Twitter archives your updates on a web page is a great thing. For distributed working groups it provides a kind of status glue that makes up for some of the lost in person interactions. Up to a point — I’ve noticed that some people are using Twitter as if it were IM, having entire conversations through it. If you are using some kind of realtime monitoring, like IM, then this turns annoying very quickly, as you are privy to all kinds of conversations that don’t affect you, complete with IM notification sounds. If Twitter had the ability to send Tweets to groups of people, that would really help a lot. I also wish that it was easier to find people. The little pictures of people are cute but hard to read, and having to mouse over them individually to get more detail is RSI inducing.

There’s a small ecosystem springing up around Twitter. There are Ruby command line tools (sadly, I couldn’t get them to work because Ruby Gems is messed up on OS 10.4), Python/Growl notifiers (works, but high maintenance), and shiny Mac tools like twitterific. Someone has even written an Applescript Quicksilver action, Tweet, for posting. There are still a few things on my wishlist: 1) for Twitterific to both have it’s little history window and to deliver changes via Growl, and 2) to be able to set my status in Adium, Snak, and Skype based on Tweets.

Technorati Tags: