Friday
Slide and Flektor
Slide’s most recent financing, rumored to be in the $20 million range, is a reflection of this growth. According to Hitwise, they have grown by more than 2,000% in the last year. Slide tells us that they are delivering more than 150 million daily slide show views and that more than 200,000 new slides shows are created daily (a press release will be issued later today).
The new kid on the slide show block is Flektor. It just recently came out of beta and has few users so far, but we’re hearing they are getting a lot of attention from potential acquirors. Flektor’s founders, Jason Rubin and Andy Gavin, previously co-founded game developer Naughty Dog (Crash Bandicoot and Jak Daxter), which was acquired by Sony Computer Entertainment in 2000. These guys are experts in creating attractive user interfaces, and Flektor is a generation ahead of Slide and RockYou in ease and flexibility in creating slide shows and related products.Like Photobucket’s recent offering, Flektor allows users to create slide shows using video, photos, text and effects/transitions, something Slide and RockYou have yet to release (Slide and RockYou also don’t do effects, which are like Photoshop filters - users eat this stuff up). In our testing we also found the Flektor creation wizard to be far easier to use than the current Slide and RockYou offerings. Click on the screen shot for a larger view. Slide and RockYou have valuations that prohibit speculative acquisitions. Flektor is brand new and doesn’t have the capitalization complications of the older startups. My bet is they may be acquired this year by one of the social networks, perhaps one of the up and comers looking for as many tools as possible to compete with MySpace.
Automatic testing of Ajax from Java
Ed Burns (of Sun and the JSF expert group) has created an automated testing framework for Ajax in Java called MCP.
This framework stems from an old, old Mozilla project called the Mozilla Web Client started in 1999 as a part of the Sun/AOL/Netscape alliance. The ambitious misson statement of the project is:
The webclient project aims to provide the premier browser-neutral Java API that enables generic web browsing capability. This capability includes, but is not limited to: web content rendering, navigation, a history mechanism, and progress notification. The actual capabilities implemented depend on the underlying browser implementation.
You can tie unit tests into browser ajax events by using an AjaxListener and getting access to items such as the responseText/responseXML/HTTP headers, and more.
Zimbra Desktop
Zimbra has had a local proxy solution for a long time, so it only made sense that they would innovate quickly to come up with Zimbra Desktop:
Zimbra Desktop is the next generation leap forward for Web 2.0 applications- now you can have Zimbra's Ajax-based collaboration experience online and offline. That means when you are out of the office without a connection (say, in a plane, train, or automobile), you can keep working without missing a beat. Write email, add new appointments, edit documents and when you re-connect changes will be automatically synced to the Zimbra Server.
We talked to Kevin Henrikson of Zimbra and he kindly answered some questions:
Q. Not all offline is equal. What is Zimbra's solution, and how does it compare to Apollo, Slingshot, Firefox...
Zimbra has used a variety of off the shelf open source technologies to provide our offline solution. Jetty(http support), Derby (SQL support), Lucene (full-text indexing), etc. The choice of these components was for several reasons. They can be embedded, Java based(our tech of choice), made reuse of our current code easy, ability to support extremely large data sets, and ability to be optimized for heavy email/collaboration work loads. The key difference is large datasets and the ways in which we need to to access that data with a mix of structural (SQL), full-text (search) and object (blob) patterns. Most other offline solutions take a file or object based storage API but for Zimbra we need to be more flexible.
Summary of ways in which Zimbra Desktop's solution differ's from apollo/slingshot/firefox/dojo:
- Released and publicly available today(although in alpha)
- 100% Open Source and based on open protocols/technology
- Cross platform including Mac/Linux/Win32
- Designed for very large datasets (sub-second search responses on multi-GB mailboxes)
- Reuses Zimbra AJAX web UI and SOAP/JSON based API
- Requires a local client install(some of the above may not)
- Cross browser (Safari/IE/Firefox)
- Java Based vs Rails (Slingshot) vs Flex/Flash (Apollo) vs Browser specific (Firefox)
What are the challenges for a developer to create offline capable applications?
Some questions/challenges when taking a webapp offline:
- Do you take all your features and data offline?
- What browsers/platforms will you support?
- Data integrity now that an offline copy can become the master.
- Conflict resolution and change mgmt in multi-user environments/applications.
- End user desktop support. Something many web app developers take for granted.
How important is offline to your customers?
Very important. In fact this was a major driver. People have asked for a Zimbra offline solution and in particular wanted the same interface they'd fell in love with when working online. Countless number of times we've heard customers and our community and ask to keep the Zimbra AJAX interface when away from home and a network connection. The pain they felt when forced to use Outlook, Apple Mail, Thunderbird, or some other fat client when traveling made them want a Zimbra like interface and feature set.
Should the average Joe start trying to implement offline, or should we be waiting for the new standards to be implemented and such?
It depends. Do you users need it? Are they asking for it? Is the data your app needs offline access to small and simple? Applications like Instant Messaging don't make sense to take offline. On the flip side applications where offline editing, composing and creating are common may have reasons or need for an offline solution today. For Zimbra we heard the need frequently. Other applications may not have that same pressure and can wait until standards are written and toolkits like Dojo stabilize and become popular making the hard things easy for the average web developer. Dojo in particular is something we are watching with great interest. Brad Neuberg has been looking at this issue for quite sometime. First with AMASS (flash backed web storage), then Dojo Storage (pluggable storage toolkit) and more recently the Dojo Offline Toolkit(complete offline framework). It's 100% open source, cross platform and cross browser. Doesn't quite meet the needs of an application like Zimbra but will help a large number of applications on the web today. Those apps should be able to create an offline solution rather quickly when starting with the Dojo Toolkit. In particular we like the way he's handled online/offline detection and the automatic switch between.
InfiView
InfiView uses Ajax technology and its own unique dynamic memory management to enable developers to systematically create graphical web applications using any amount of data (from very small all the way to infinite). With InfiView-built web-applications, end-users seamlessly interact (pan, zoom, right-click for actions…) with all types of graphical data - such as network topologies, DNA sequences or genealogy charts - oblivious to the vast amounts of data available.
100% built in Bindows (www.bindows.net), InfiView is built on top of the Bindows framework which is back-end/server agnostic, and provides best-in-industry support for section-508 accessibility compliance, internationalization and localization.
Iris
Last week I got to see Iris, a Flickr manager that uses Java applets and Ajax together to give enhanced features such as:
- Native desktop integration (drag and drop works, full screen)
- Rich media: OpenGL for 3D graphics (hardware accelerated), OpenAL for spatialized audio, Java Media codecs
Jasper Potts, a Sun developer, explains Iris, and points us to a video of the product.
There are some really nice features here, although having to click through three "trusted" dialogs is a pain. Also, note that you need Java 6 installed to see the glory.
The Swing team had an interesting time delving into the CSS world, and aren't fans of it for layout. That being said, they would love to be able to style Swing components in a simple way, and our own Ben has a solution to this problem.
Make slideshows with Ajax
I recently stumbled upon Ajax-S, which is a short for AJAX-Slides. AJAX-S uses an XML format for the actual data which is being presented and XSLT to transform it into it’s final presentational form in order to provide strict separation of content and presentation. Now the best part is, it is available for free download and hence will be helpful for the developer minds.
The idea came to me because I wanted a lightweight slideshow based on HTML, CSS and JavaScript, but I also wanted to separate the data of each page from the actual code that presents it. Therefore, I decided to move the data into an XML file and then use AJAX to retrieve it. The name AJAX-S is short for AJAX-Slides (or Asynchronous JavaScript and XML Slides, if you want to).
ActiveScaffold
ActiveScaffold provides you with a wealth of dynamically created goodness:
- An AJAXified table interface for creating, updating, and deleting objects
- Automatic handling of ActiveRecord associations
- Sorting, Search and Pagination
- Graceful JavaScript degradation
- RESTful API support (XML/YAML/JSON) baked in
- Sexy CSS styling and theming support
- More extension points than you can shake a stick at
- Guaranteed to work on Firefox 1+, IE 6+ and Safari 2+
- Released under the MIT License, the same one as Rails itself, so you can use it freely in your commercial applications.