Showing posts with label essay. Show all posts
Showing posts with label essay. Show all posts

2008-08-17

Is AppJet the next big web framework?

I just got a tip from AppJet front-end developer, Aaron Iba, about plans for self-hosted AppJet instances. "We're thinking about releasing this soon." This was also just added to the FAQs page. What this means is that one could download the backend that runs the apps and install it locally, on servers, or even Amazon Web Services. Why would someone want to do this when everything is already hosted by default for free? The answer is that it allows an app to use more resources, namely storage space and processing time. An avenue for intensive apps, such as Agglodex, is desperately needed. Some people also get a kick out of DIY projects. The self hosting option appeals to experienced techies, whereas the recent beginner's programming tutorial was an outreach to fledgling or even non-techies. This suggests either a lack of targetted focus or a quest for ubiquitous dominance for the AppJet team.

The prospect of achieving a serious foothold in the web framework space is intriguing. The prejudice against JavaScript might be just too much, in which case it will never gain traction. Although, AppJet is not the only company toting a JavaScript web framework. Aptana Jaxer has an interesting approach that blurs the line between client and server code even further. With over 2 million downloads, the market is clearly there.

To explore the degree of success the AppJet platform can achieve, we need to consider the business style of the team. We know they are Y Combinator funded, which historically seems to take a less bottom-line focus (although the latest round seemed much more commercial). Note that AppJet has been public for over three quarters with an apparent revenue stream of zero, with only polls about desired premium features. It would almost seem that they aren't interested in money at all! This is a very good sign for driving adoption, as long as they stay in business. (The one thing that worries me is the coddling of beginning programmers. This is good for PR, but wasting valuable time for the 3 employees. The point of a framework is to coddle the application structure. Syntax help and programming theory is a job for the community.)

Let's face it: web platforms have to be free and open. LAMP is the reigning king. Ruby on Rails and Django are the up-and-coming challengers. All three are open source and 100% free. Microsoft's ASP.NET--not so much. So to have any chance at all, AppJet needs to be open too. Luckily, the FAQs indicate that exact plan.

Or maybe not? Maybe AppJet is part of the new-wave sandbox hosting, such as Google's AppEngine, that doesn't directly compete against traditional web frameworks. It's analogous to Reddit vs. Slinkset. Do you want to DIY or get up and running right away? As time rolls on, it is clear that the level of abstraction increases. It is even getting to a point where dealing with virtual instances of computers on Amazon Web Services is too much work, if code can just run on one huge platform. The cowboy era is ending and the mesh is beginning.

And this is where AppJet comes in. If they have the business sense, they will host the runtime on AWS and charge a slight premium over Amazon's rates. All of the server configuration can be handled with zero human interaction. This simplifies hosting for app authors just as now, the difference being that it is now scalable. Also, using AWS plays to the current paradigm of having all data cached in RAM.

So, is AppJet the next web framework? Could it be something bigger?

2008-07-30

Please Solve Comment Fragmentation

Friendfeed is a leap in communication. Using RSS and proprietary activity stream APIs, you can track what people are doing across the web instead of just on one site. Facebook has some inklings of this as well. Whoisi adds wiki functionality which is parallel to imaginary friends on Friendfeed, where you can follow an activity stream of someone who didn't sign up or import a certain stream. XMPP will make the stream real-time and less intensive on networks.

This is all well and good, but there is still a problem. Comments. For one, Friendfeed doesn't thread the comments, which makes it too hard to have a conversation. But even worse is the fragmentation. Other sites, such as Reddit, will maintain a single page of comments for any particular URL. But Friendfeed can create several, and there is no way to find them all. There could be the original import of the item (maybe a blog post or image on Flickr) from the content creator, followed by any number of others' links to that item from Google Reader, Twitter, Digg, and the rest. And when those actions appear on Friendfeed, they all have the potential to create yet another silo of comments. You may see something interesting and be completely oblivious to a huge discussion happening around it. An app built on top of Friendfeed, Noiseriver, is trying to fix this. But Friendfeed is just a microcosm of a data siloing problem that the entire web faces. We're seeing a huge movement for something called "data portability", but this seems to have nothing to do with comments and everything to do with profile information and friends lists.

This is important too, but not the same goal. Sure, it's great to meet up with your friends on a completely different site, but does nothing for helping you connect with complete strangers. The real key to connecting people digitally is unifying the conversation. The argument against this is wanting to talk exclusively with one's friends, but this is unfounded since the program could easily bubble friends' comments to the top and only display other comments upon request. So I'm asking for a solution to comment fragmentation. We need an open API for posting threaded comments across the web. Any site choosing to accept open comments should accept a POST request stating,

"I am commenting on this URL in reply to that comment, and here is the text or URL of my comment".

And then of course you could GET for the current set of comments. Now anyone or any app involved in the discussion around a URL will be on equal footing and have access to all that is being said about it, because the silo now has a series of tubes running through it. Perhaps we can't realistically expect arbitrary sites to handle this kind of load, so some kind of glue, such as Gnip, may need to get involved. But this is the solution, and it will kick ass when it is created and people start using it. There is so much that the internet makes possible, so there is no reason to believe that what we have now is as good as it gets.

2008-07-24

U.S. Politics: Will things really be different when the Democrats control Congress and the Presidency?

We've seen how corrupt Republican control can be--spending out of control, perpetual wars, holding prisoners without fair trial and condoning torture. Even life long Republican voters are losing faith in their party. They are tired of war and scared of recession.

The probability of an electoral Republican win is low, and gaining net seats in either house of Congress is also highly improbable. Whatever the reasons, the support just isn't there this year, and it could take over a decade for the Republican Party to rebuild.

So let's assume a triple crown for the Democratic Party in the 2008 election: control of the Presidency, House, and Senate. I wonder how good Democratic control will be. Many of the Democrats in Congress vote for bills unpopular with Democratic voters, such as FISA, including Obama in this case [ www.senate.gov]. One problem is that there is simply too much to do. There is the of fixing and possibly nullifying poor legislation from years past (the Patriot Act comes to mind) and also new projects such as universal health care, which I don't even think they'll get to. Congress trails public opinion, therefore health care will come well after most people are clamoring for it, which they aren't yet.

One thing is certain: stuff will get done. Fast. There will still be enough Republicans around to filibuster, but that's only in the Senate. Now, more legislation typically means more unnecessary spending, but in this case that is not true. It is tempting for Congress to pass bills that sound good but are out of budget, and it is tempting for the President to sign them into law. Hell, the bill may be terrible in principle and cost. It's going to take some impassioned legislators to convince the others that the money simply isn't there, but it is not impossible. This is a tough issue because money seemingly grows on trees, but there is a reasonable limit to debt that the U.S. Treasury has surpassed. You can ignore it, but it's still there, devaluing the currency and siphoning tax dollars to pay interest. The flip side of this problem is that if Congress and the President were to cut spending and raise taxes and just pay off debt for years, they would look like they weren't even trying to do anything.

The prospect of Democratic control this term is quite appealing. America's economy, world image, and constitutional rights will all benefit from it. But the hole has been dug pretty deep, so don't be surprised if you get less change than you hoped for.

2008-05-13

the web is turning to soup

I am finally starting to see the mesh of innovative web sites that are allowing data to slosh around freely and expose people to more conversation. I must admit that I'm a little late getting onto the RSS bandwagon, but this is still a vital part of the equation not only for humans but for machines. There are a number of efforts to allow you to use the same profile on different sites, allowing you to connect with friends you may not have even known used these other sites. APIs allow third-party applications and other sites to send and receive messages and multimedia from not just computers, but also mobile devices. And these services will begin to truly become efficient as add the ability to push data (XMPP) in addition to pulling data (HTTP, RSS).

As many have pointed out, the noise level becomes a problem with so much text sloshing around. Duplicates are pretty easy to filter. The solution here is the same as personalized news. You rate items based on their relevance to you, and some algorithm figures out similarities between items you rated highly. There are several factors that could potentially be important to this kind of algorithm: keywords, length, author or originating source, ratings by users with similar tastes. That last one is enormously powerful. In fact, Netflix is running a contest to see who can do it the best.

I don't know if it will ever be possible to have completely synchronized discussions. But there are various hacks for now, such as tracking keywords on Twitter.

2008-04-30

Motives to be For or Against Adobe's Open Screen Project

The promise of the Open Screen Project to developers is the age-old dream of being able to write an application once and deploy it anywhere across any device. [...] Notably absent from Adobe’s list of partners is Apple, Google, and Microsoft. Each has its own ideas on how this cross-device compatibility will work.
I'll admit that Adobe Flash is a very useful implement for a broad range of applications. But I don't think it will have much relevance a few years from now because all of Adobe's openness will catch up to them. You see, the upcoming JavaScript 2 is based largely off of the language used in Flash called ActionScript 3. Adobe has also open sourced the virtual machine that currently allows Flash to run so much faster than normal JavaScript manipulating the DOM or a canvas element. The folks at Mozilla are busy integrating this into Firefox 4, though I think it may find its way into other browsers soon afterward. (Mozilla is already known to be making an IE plugin.)

Anyway, about those notably absent companies--what are their motives? This is assuming they have some other idea of what paradigm applications will take on next. Microsoft is easy; they are directly competing against Flash with Silverlight. Apple is almost as simple; IIRC they invented the canvas tag for their web browser, Safari, and it was later implemented in Firefox and Opera. So supporting canvas and web standards in general may be a factor. But Apple is most focused on its mobile hardware business. For some reason, Apple doesn't want Flash on the iPhone. Why oh why, Steve? (Maybe FSJ can tell me...) My guess is that they want anything not running inside Safari to be a good ol' Objective-C--or what have you--app. Google's absence is perhaps the most mysterious of all. A long time ago, google.com was a kickass search engine and nothing else. Their second runaway hit was Gmail. Its awesomeness was only made possible by the invention of Ajax, reloading only the part of the page you need! There is dispute over who created Ajax, but I think it is safe to say that Google created Ajax as we know it today. Now, it is possible to use Ajax and Flash together, but Google isn't terribly interested in that. If they were, then the majority of their apps--Gmail, Reader, News, Docs, et al.--would be based on Flash instead of pure HTML and JavaScript.

But Adobe may not need the support of the #1 and #3 browser vendors and the #1 and #3 search engines to retain dominance. Superior graphics are huge asset for Flash. Although the potential is there, I still have yet to see a solution to making games and animations using SVG or canvas that truly rivals the ease with which (I assume) you can in Flash Studio. These are mostly uncharted waters. Sure, I've seen lots of demos, but nothing seriously popular uses them. Internet Explorer's only having VML has a large part in hampering anything like that.

But the Open Screen initiative may be the ace in the hole for Adobe. Flash's continued success stems from its ubiquity, nearly 100% browser penetration already. And now it's coming soon to any previously untapped platform. So Adobe can probably hold off most challenges to Flash as the new software platform for everything. Because that's what it is or what Adobe wants it to be. There is another option, but I don't see much chance of it happening. Adobe could essentially throw out Flash and fully adopt some kind of JavaScript and SVG alternative. This actually has a fairly good chance of occuring gradually over time, as crossover increases. Consider Google Gears, which compiles Java into JavaScript; it is not hard to imagine compilers that go back and forth between Flash and alternatives.

So if you are a freetard, as I am, don't get discouraged if you are working on something that might be better done in Flash. And if you are a flashboy or adoboy--yes, I just made those up--don't necessarily come over to the light side if it would terribly inconvenience you. Both sides have bright futures and we'll all be on to something entirely different in 10 years anyway.