Entries from April 2008 ↓

FancyUpload: Swiff meets Ajax

View original post found on Ajaxian » Front Page authored by Dion Almaer

FancyUpload

Harald Kirschner has created a new version of FancyUpload “a file-input replacement which features an unobtrusive, multiple-file selection menu and queued upload with an animated progress bar.”

A good example is the Queued Photo Uploader which is coded by:

PLAIN TEXT
JAVASCRIPT:

  1.  
  2. var swiffy = new FancyUpload2($(‘demo-status’), $(‘demo-list’), {
  3.         ‘url’: $(‘form-demo’).action,
  4.         ‘fieldName’: ‘photoupload’,
  5.         ‘path’: ‘../../source/Swiff.Uploader.swf’,
  6.         ‘onLoad’: function() {
  7.                 $(‘demo-status’).removeClass(‘hide’);
  8.                 $(‘demo-fallback’).destroy();
  9.         }
  10. });
  11.  
  12. /**
  13. * Various interactions
  14. */
  15. $(‘demo-browse-all’).addEvent(‘click’, function() {
  16.         swiffy.browse();
  17.         return false;
  18. });
  19.  
  20. $(‘demo-browse-images’).addEvent(‘click’, function() {
  21.         swiffy.browse({‘Images (*.jpg, *.jpeg, *.gif, *.png)’: ‘*.jpg; *.jpeg; *.gif; *.png’});
  22.         return false;
  23. });
  24.  
  25. $(‘demo-clear’).addEvent(‘click’, function() {
  26.         swiffy.removeFile();
  27.         return false;
  28. });
  29.  
  30. $(‘demo-upload’).addEvent(‘click’, function() {
  31.         swiffy.upload();
  32.         return false;
  33. });
  34.  

Coherent: Cocoa Databinding for Ajax

View original post found on Ajaxian » Front Page authored by Dion Almaer

Coherent Flickr Browser

Jeff Watkins is a fan of the Cocoa data binding model, and wanted to bring it to the Web. This lead him to create a projects three years ago, which comes out of the dark now: Coherent.

There are some fun demos, such as the Flickr Browser, and the Laptop configurator which mimics the Apple store look and feel for picking a product.

There is also some documentation so you can learn how it all works. There are tutorials on properties and bindings, how to write a widget, and details on the APIs.

Most of the magic is done via attributes in HTML itself, along with the JavaScript API. For example, you get binding:

PLAIN TEXT
JAVASCRIPT:

  1.  
  2. userController.bindNameToKeyPath(“userId”, “search.content.nsid”);
  3.  

and then bindings happen in HTML such as:

PLAIN TEXT
HTML:

  1.  
  2.         <div id=“demo”>
  3.         <div id=“userSearch”>
  4.             <h1><span>Flickr Browser</span></h1>
  5.             <label for=“userName”>Flickr Username:</label>
  6.             <input id=“userName” type=“text” valueKeyPath=“search.parameters.username”/>
  7.         </div>
  8.        
  9.         <div id=“userInfo”>
  10.  
  11.             <div class=“queryIndicator” visibleKeyPath=“user.queryInProgress”>
  12.                 <img src=“images/spinner.gif” width=“16″ height=“16″/> Loading user profile&hellip;
  13.             </div>
  14.        
  15.             <img class=“buddyIcon” srcKeyPath=“user.iconUrl”/>
  16.             <h1 textKeyPath=“user.content.realname._content”>Real Name</h1>
  17.             <p textKeyPath=“user.content.location._content”>Location</p>
  18.         </div>
  19.  
  20.        
  21.         <div id=“userTagsList”>
  22.             <div class=“queryIndicator” visibleKeyPath=“userTags.queryInProgress”>
  23.                 <img src=“images/spinner.gif” width=“16″ height=“16″/> Loading tags&hellip;
  24.             </div>
  25. </div></div>
  26.  

Beatunes.com – Analyze and Manage iTunes Library

View original post found on KillerStartups.com - all authored by thomasg

What it does

For the small price of $25, beaTunes can take your iTunes Library and make it much smarter. First off, is a powerful inspection feature that picks up typos and misspelled artists’ names in your library and fixes them for you so that you no longer have R.E.M and REM as separate bands in your music library. After helping you with the cleanup, beaTunes can also help you build intelligent playlists with its BPM detection tool that analyses music and creates playlists of music that have approximately the same beats per minute. This feature allows you to make playlists to fit whatever mood you’re in—if you want some relaxing music, just pick low BPM’s or if you are making a playlist for working out, pick a higher BPM list.

In their own words

“What started out as a BPM detection tool for DJs, runners and dancers, has become one of the finest iTunesâ„¢ library management tools around. beaTunes’ powerful inspection feature let’s you clean up your iTunes track data in a way unrivaled by any other software on the market today. Easily find typos or different spellings of artists’ names, automatically fill in the album artist names, and much more. No more R.E.M. and REM in your iPod’s artist list!”

Why it might be a killer

The price is very reasonable when you consider that you will never have to manually fix typos in your iTunes library again. People will also definitely like the ability to make playlists based on BPM’s

Some questions

They state that beaTunes doesn’t currently work with music imported from the iTunes store. Will they be able be successful without support for this considerable library?

Updates

 » original news

ProjectLocker.com – Affordable Subversion Hosting

View original post found on KillerStartups.com - all authored by Siri

What it does

ProjectLocker is an on demand project development solution. It allows developers to create smarter code faster in a collaborative friendly environment. It tracks defects allowing users to share pertinent information on the fly. It’s got automated integration and streamlined management tools. It’s also secure—users can safely share their documents and projects on the web without worry. ProjectLocker provides users with instant Subversion hosting and Track hosting. They offer both Lite an enterprise plans to fit projects to scale. The features can be summed up thusly: Trac, a tracking tool, Build Locker, integration for Java, Wiki for team work, Document Management, Analytics, a personal storage locker and an archival system. Pricing starts at $2.50 a month for startups, and goes up to $12 a month for the Venture plan. Enterprise service offers can be solicited from the company.

In their own words

“ProjectLocker was founded in 2003 to provide on-demand tools for software developers. Guided by the simple mission of helping companies build better software, ProjectLocker’s services have expanded to include services for the complete lifecycle of software projects, from requirements documentation to build and test automation. ProjectLocker serves companies from startups to Fortune 1000 multinationals.”

Why it might be a killer

ProjectLocker gives developers an affordable and powerful subversion host and project management tool. It’s got the features users want without the price tag. It’s quite flexible and well designed.

Some questions

How well does this handle? Is it user friendly? How does it perform overall in comparison to the competition?

Updates

 » original news

Presdo, The Magical Online Scheduler

View original post found on TechCrunch authored by Erick Schonfeld

presdo_logo.gifI want you to stop what you are doing right now and go try Presdo. It is a deceptively simple online scheduling assistant that is a prime example of what a modern Web app should be. It only shows you what you need to see at the moment that you need to see it. And it understands what you want to do based on normal (and not-so-normal) English that you type in.

“We actually threw a lot away,” says founder Eric Ly, who previously was a co-founder of LinkedIn and its first chief technology officer. He wrote most of the code himself and bootsrapped the entire site with only $35,000 of his own money. “I left LinkedIn on a Friday, and started Presdo on Saturday,” he tells me. That was back in April, 2006. He had to develop his own natural-language algorithm to deal with events, times, and scheduling, and the words people use to describe those things. The whole site is built with Ruby on Rails, Ajax, and the LAMP stack.

The home page is a plain, Google-inspired box. But instead of typing in what you are looking for, you type in what you want to do and with who: “Coffee with Eric in SF,” “Movie with Nadia Fri night,” “Meeting with Henry at 2:30 pm.”

presdo-home-2.png

It then takes you to a page with pre-populated fields based on what you typed in: when, who, where, what. You can refine the details further on this page. If you typed in the person’s email in the first box, it appears in the “who” field. If you didn’t, you can enter it at this point.

presdo-coffee-sf.png

Presdo lets you pick a location by searching through local listings on a Google map. You can pick one near you, near the person you are meeting, or in between. (It helps if you first register with your own email and location.)

presdo-map.png

Or you can look at a list view of nearby places instead.

presdo-local-list.png

Presdo guesses what day and time you meant and puts those in as well. But you can offer up alternative times and allow the other party to pick the best one or suggest their own.

presdo-time-choose.png

When you are satisfied with what you have, you hit “Send Invite.” The other person gets an e-mail with the details and a link back to Presdo, where they can change the time or place. You can also add a message. All the messages back-and-forth are recorded on the event page.

presdo-message-small.png

Once everything is set, you can export the meeting to your calendar (Presdo supports Outlook, iCal, Google Calendar, and Yahoo Calendar).

presdo-calendar.png

Every time you schedule an event with a new person, Presdo remembers who they are for the next time. You can also use Presdo as a to-do list. There are some obvious features Ly needs to add, such as support for other forms of messaging beyond email including mobile text messaging and Twitter. But he is off to a good start. The service is free, and he hopes to eventually charge for premium subscriptions. You can try it out now, and tell us what you think in comments.

Information provided by CrunchBase

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Cuzillion: Performance best practices tool

View original post found on Ajaxian » Front Page authored by Dion Almaer

Steve Souders has released a nice little tool called Cuzillion which has the tag line of ‘cuz there are zillion pages to check, although it could also be that there are a zillion ways to do Web development!

The tool lets you test out different techniques for optimizing performance in browsers, and these tests can be saved and shared by the community.

Steve explains how the tool came about:

I’m constantly thinking of or being asked about how browsers handle different sets of resources loaded in various ways. Before I would open an editor and build some test pages. Firing up a packet sniffer I would load these pages in different browsers to diagnose what was going on. I was starting my research on advanced techniques for loading scripts without blocking and realized the number of test pages needed to cover all the permutations was in the hundreds. That was the birth of Cuzillion.

Here Steve talks about some examples:

A great example of how Cuzillion is useful is looking at the impact inline scripts have when they follow a stylesheet in Internet Explorer. Typically, a stylesheet followed by any other resource results in both resources being downloaded in parallel in Internet Explorer. (In Firefox stylesheets block parallel downloads, so this performance optimization is only applicable to IE.) Here’s a Cuzillion page that shows this: stylesheet and image downloading in parallel. Both the stylesheet and image are configured to take 2 seconds to download. Since they download in parallel the page takes about 2 seconds to load as shown by the “page load time”.

But look what happens if we put an innocent inline script between the stylesheet and image: stylesheet, inline script, and image. Now, in Internet Explorer the stylesheet and image are downloaded sequentially, which means the page load time goes from 2 seconds to 4 seconds. If the inline script is simply moved above the stylesheet the two resources are downloaded in parallel again, and the page load goes back down to 2 seconds: inline script, stylesheet, and image.

This was a great discovery. But immediately my officemate asked if inline style blocks had the same effect. No problem. With Cuzillion I just do some clicks and drag-and-drop, and can test it out: stylesheet, inline style block, image. It turns out inline style blocks don’t cause stylesheets to block downloads.

The findings from a tool like Cuzillion are really valuable. The lessons learned from poking at inline scripts and stylesheets can save hundreds of milliseconds on page load times. And it’s a common problem. eBay, MSN.com, MySpace, and Wikipedia all suffer from this problem.

Much thanks to Google for letting me release this code under Open Source. It’s not currently on Google Code but if you want to contribute let me know and I’ll do that. Try it out and send me your feedback. And share your insights with others. We all want the Internet to be faster!

Steve is talking at Web 2.0 Expo today at 1:30pm in room 2002. If you are in town, check it out and see Cuzillion in action!

The New Yahoo: Sticky, Viral, And Most Of All, Friendly

View original post found on TechCrunch authored by Michael Arrington

Yahoo’s CTO Ari Balogh and Chief Architect (Platforms) Neal Sample filled in a few more details today around their new Yahoo Open Strategy (called YOS internally).

Background

Yahoo wants to turn itself into one big social network-driven site, and simultaneously open many of its core services to get users and developers thinking of Yahoo as their Internet hub. They’ve been talking about parts of this since last November. First were details about how webmail will serve as the social networking hub, followed by more tidbits in January. In March they joined the Google-led Open Social initiative. And they’ve made a series of announcements around Search Monkey which will allow third parties to enhance Yahoo search with structured data.

Yahoo Open Strategy

Yahoo mashes the social stuff and the open stuff under the same banner of YOS. There are three components to the additional news announced today – platformization, opening services, and portability. It’s important to note that nothing has launched, and there’s no public timetable for the launch of any particular part of YOS. Sample said in a briefing today that the pieces will be released over the coming months.

Below is Balogh’s presentation at the web 2.0 Expo:

Platformization: Users will notice this most, as the overall Yahoo experience becomes social. This is driven by (1) the reduction of the dozens of profiles (for each service) they have today to a single, unified Yahoo user profile, and (2) the promotion of the email inbox as the center of the Yahoo experience. Once the profile is centralized they will begin to socialize the services. Think friends lists, activity streams, etc.

Clearly Yahoo isn’t bolting yet another social network onto their existing services. They keep saying that, of course. But even the fact that they refer to this part of it as “platformization” internally shows how they are thinking of this. They’re moving Yahoo to a massive new social network platform, and rewriting large parts of the core functionality.

Open Yahoo: This encompasses a few different things. First, they are now deeply involved in OpenSocial and will allow developers to get access via those common APIs. But they are layering their many existing (and planned) APIs on top of OpenSocial to allow deeper integration with Yahoo services. Users will be able to add these third party applications, built on Open Social and the Yahoo APIs, into Yahoo.

The other piece of this is Yahoo Application Platform (YAP) – which will be a direct competitor to Google App Engine. Users can host their independent applications on Yahoo’s bandwidth, storage, database and CPU resources. At first they’ll support SecurePHP applications only, but they’ll expand to additional languages over time. The model will be very similar to Google’s – free usage up to a point, metered after that. They’ll also offer various developer tools as well.

Portability. Yahoo is also going to promote the spread of Yahoo around the web to third party apps and services. This isn’t just widgets – they’ll also let user data out of the ecosystem. For example, Sample said in the briefing, they’ll facilitate the synchronization of the Yahoo address book with Plaxo (Facebook hated the idea of users doing this, by the way).

Yahoo: Sticky, Viral, Friendly

Yahoo continues to compete in search marketing, the big driver of revenue. But they realize they’ll always be second to Google in that game. So the win for them is to make Yahoo as sticky, friendly, and viral as possible. They have 500 million worldwide visitors per month – nearly 60% of the total Internet audience visits a Yahoo property every month (Google has 72%) (Comscore). That audience can clearly be leveraged, and this is a war that, unlike search marketing, Yahoo thinks they can win.

They still, of course, have to actually launch this massive project – for now it’s all ideas and vaporware. And no one knows what Microsoft thinks of all this, or what happens to YOS if that deal is done.

Crunch Network: CrunchGear drool over the sexiest new gadgets and hardware.

Brando 3-Way USB Hub Doesn’t Need Power Brick [USB]

View original post found on Gizmodo authored by Kit Eaton

See those two USB plugs on this hub gizmo from Brando? They’re what makes this thing a little bit neat, even if its looks aren’t anything special. Most USB hubs need to draw energy from a power brick if you’re going to load them up with much more than a memory stick and charge up a gadget. But this one plugs into two USB ports on your PC for more juice, so you can connect up to three different devices and charge or sync your phone or camera at the same time via the mini-USB connector. It’s available now for $12. [Brando]


Experiment: 96% of passers-by ignore famous artist’s street painting

View original post found on Boing Boing authored by Mark Frauenfelder



polossatik says: “Klara.be (belgium art radio/channel) did an experiment with Belgian painter Luc Tuymans (who’s paintings go for million usd). What if you take art out of its usual context and expose it in the street? Would people even notice it?”



IDSelector.com – Making OpenID’s Easy

View original post found on KillerStartups.com - all authored by bruna

What it does

Many sites are adopting the OpenID function which allows internet users to logon to many sites with the same digital identity so that users don’t have to remember 20 different usernames and passwords. IDSelector is a widget that makes it easier for users to login with their OpenID’s. For some internet users the OpenID concept is new and may be a bit confusing for them. IDSelector makes it easier for users to be comfortable with OpenID. IDSelector is a widget that sites with OpenID can utilize to help their site’s users. The IDSelector helps users by giving them a selection of OpenID providers that they can use for the site that they may already have an account with. The IDSelector will remember the OpenID choice that the user chose the next time that user visits the site so they don’t have to repeat the process of signing in. The IDSelector builds the URL the right way; it is smart enough to know how to do this so that the user doesn’t need to figure it out. The IDSelector also knows about the different OpenID providers and their guidelines so that users don’t have to worry about a thing. Adding the IDSelector widget to your OpenID website is easy, it attaches to your existing form. Each website can choose which OpenID providers appear in your selector and in which order. IDSelector gives users a flexible experience and makes using OpenID’s effortless.

In their own words

“It’s all about getting users signed into your website as quickly and efficiently as possible. It achieves this by providing a simple, consistent, provider neutral interface, and by educating the user about OpenID during the sign in process. In short, it makes OpenID easier for the end user and benefits both the relying parties and OpenID providers.”

Why it might be a killer

OpenID’s are becoming more and more popular on websites and the IDSelector is a great way to ensure that users will continue to be active on your site. You want to make using your site an easy experience and the IDSelector helps users enter without any hassle. The explanatory video is a great way to give users a visual of how the IDSelector widget works. The testimonial section is a great way for people to see how useful the widget has been for others.

Some questions

Is there a maximum number of OpenID providers that can be listed on the IDSelector widget? Does IDSelector have any other competitors that are approaching OpenID issues?

Updates

 » original news