Over the last week we have released several new services which provide features focused at even better browser-based uploading, and have built a new demo to explore various upload techniques using these new tools. We've summarized the new set of tools in a short screencast:

New Services and the Features They Provide

The shiny new Archiver service provides enhanced file combination options (including tar and zip), as well as rounding out the client side compression support in the platform to include both GZip and BZip2 in addition to pre-exisiting LZMA support.

FileAccess v2.0 and above supports "file chunking", allowing you to take a slice of an existing file to create a new file. This low-level feature can allow web applications to build higher-level features such as resumable uploads (especially combined with client side file checksumming) or more efficient parallel uploading.

Finally, a glimpse of a minor API redesign can be had by inspecting the new Directory service. Previously, services which produce file paths (like FileBrowse or DragAndDrop) exposed options to fuel mime-type filtering and recursion. The 2.x versions of these services no longer provide these features, and return verbatim the user's selection. Subsequently the web application may recurse and/or filter the user's selection as needed. This tactic ultimately affords the web application more control, and by moving functionality out of the core platform into services (FileBrowse and DragAndDrop are "built-in" services) we are able to leverage the service versioning built into BrowserPlus in order to fix problems and release features, faster.

Toward Intelligent Uploading

As you'll see in the screencast, a focus of some of these new features is better uploading, and we're hoping that these features will ultimately lead to much improved attachment performance in Yahoo! Mail as well as across the web in abstractions such as plupload.

Finally, as always, you'll find source code for most of the services referenced here available on github. We look forward to your feedback, ideas, and contributions.

The BrowserPlus Team

| No Comments | No TrackBacks

Greetings!

We've developed a lightweight header-only framework to try to really ease development of new BrowserPlus services in C++.

bpcppfw.png

The framework aids you in implementing the C structures you're required to provide by the C Service API. It also gives your service methods C++ argument types which are a bit easier to work with than the native BrowserPlus C types. It also sports a transaction object to make it easy to do asynchronous responses and multiple callbacks.

We now have a tutorial up on browserplus.org, which references sample code on github. Build files are provided for OSX (using GNU Make) and Windows (for Visual Studio 2008), so you should be able to build and test with a minimum of fuss.

The tutorial implements a simple HelloWorld service, but more complex services have been built using the framework. For example we have built a C++ version of our PublishSubscribe service.

If you have any questions or feedback or suggestions regarding the framework or tutorial, come join us on irc. Or, since the framework is on GitHub, just fork it, fix it, and send us a pull request!

Have fun,

Dave and the BrowserPlus Team

| No Comments | No TrackBacks

Hello All,

On this fine day we've released two new services: LZMA and Tar. These new tools complement the existing Zipper service to give you several options for portable data compression in the web browser. We believe that client side compression can improve user experience by decreasing the time it takes to upload content. For a whole lot more about client side compression, watch our short screencast.

Finally, please take a look at the Bit Squeezr demo, which gives you a visceral feel for these new services

till the next, The BrowserPlus Team

| No Comments | No TrackBacks

Howdy all,

This Tuesday we pushed version 2.4.12 of the BrowserPlus platform. This update, like 2.4.9, includes a couple small focused fixes. There may be more drops in the coming weeks as we continue an aggressive period of QA.

Here's an idea of some of the fixes in 2.4.12:

  • Fixes related to proper functioning on windows when certain AntiVirus software in installed
  • Fix a regression introduced in 2.4.9 which would have caused platform update to fail in certain circumstances (fix is automatic, no user interaction required)
  • Change the way update is performed - before we would wait until you navigate away from the page using browserplus to perform an update. Now we perform the update immediately, so that upon page reload you're using the new software.

As always, keep the reports coming!

| No Comments | No TrackBacks

Howdy all,

We quietly pushed 2.4.9 today, a small iteration with a handful of fixes. Expect a couple more of these tight iterations as we work to harden the platform in response to community bug reports. Fixes in this release include:

  • FileBrowse built-in service -- Hitting enter on an autocomplete selection now works on Windows XP
  • Complete support for "High DPI" on all windows versions/browsers
  • Increase robustness of Installer, support uninstall/reinstall cases common in QA
  • Fix several issues in HTTP timeout support
  • Fix selection of shortcuts through File Browse dialog.

Thanks to all who have reported problems, and please keep the feedback coming. Finally, we'll have a new service to announce in the coming days, so stay tuned!

| No Comments | No TrackBacks

We're pleased to announce the general availability of BrowserPlus platform 2.4.8, some updated developer tools, and a shiny new service! Here's an itemized list of what's new and what's changed:

BrowserPlus platform 2.4.8 includes:

  • Experimental support for 3 new languages (Danish, Swedish, and Norwegian)
  • Experimental support for windows 7
  • Oodles of bugfixes and stability improvements.

The new and improved Service Explorer comes with the following enhancements:

  • Allows parameters to be specified for all argument types (including callbacks and file handles)
  • Automatically provides callback arguments for all functions
  • Improved parameter help
  • Improved provision of default parameters

Additionally we've shipped a new version of the Uploader service that supports cross domain uploads via a crossdomain.xml file hosted on the upload target. This is the same tried and true mechanism that flash employs to provide a similar feature, and you can read all about the file format on Adobe's site.

Finally, we've push an alpha version of a brand new service, PublishSubscribe, this service allows secure cross-document and even cross-browser messaging. Check out our code demo for a visceral idea of how this works.

Finally, thanks to all who continue to work with us and provide feedback in our forums and on IRC, don't be strangers!

| No Comments | No TrackBacks

Howdy folks,

We recently have had a new colocation facility come online with more distribution servers. So downloads of services and the platform installers should now be faster worldwide.

We've had some complaints in the past especially with latency in Asia and various locations in Europe. So test out your latency and throughput to BrowserPlus servers (like, for instance, downloading the installer).

And if you ever notice "slow performance", drop us a line, we'd love to hear about it, and fix it!

| No Comments | No TrackBacks

Howdy all,

We're very pleased to announce today the availability of a new version of the BrowserPlus platform - 2.3.1. Many important bug fixes went into this version that were reported by the community, and we're deeply appreciative of all the time that people have taken to drop us a line and help us improve the platform.

In addition to several bugfixes, the following features have been added for this release:

  • Administrative permissions are no longer required to install BrowserPlus
  • Improved translations and several bugfixes for localized systems
  • Smoother win32 uninstall flow
  • Improved installation flow (check out the firefox/osx flow for a taste of how good it can be).
  • More servers in more collocation facilities coming online in the next weeks.

These features should reveal our present focus - BrowserPlus should be...

  • accessible to everyone
  • absolutely bullet-proof
  • the easiest software to install on the planet

So pull it down and have a look! And stay tuned in the coming weeks for some exciting new services...

| No Comments | No TrackBacks

As we continue to improve the BrowserPlus platform, with a focus on making it accessible to more end users (localization), and rock solid, we hope to simultaneously slow things, and speed em' up.

What am I talking about? Well, the platform itself has reached what we hope will be a period of feature stability. There's a vast ocean of untapped potential in terms of the kinds of things you can do with BrowserPlus, without adding new major platform features. So work in the core platform will be focused on making sure BrowserPlus installs cleanly, and runs for anyone out there on a supported system and browser.

What's a Platform Feature?

But don't get confused here, what is a "platform feature"? Well, the fundamental stuff that's common to all services, and the stuff that must be built-in, for instance the distribution, acquistion, and revocation of services - all platform features. Isolation of services in their own process, another platform feature.

Everything else, all the features that a web developer (or most of us, technical and otherwise) may care about, are actually implemented outside the platform, in services. This list includes most of the services that fuel how people perceive and define BrowserPlus: In browser Image manipluation, snazzy desktop notifications, client side compression, motion detection, etc.

Present Focus

Our focus moving forward will be slow and careful refinement of the core platform, and fast and fancy-free nourishment of the growing body of published services for the platform. To aid this goal, we'll turn heavily to you guys, the community. Our first step in this direction is Hack the Browser.

HackTheBrowser

This, at present, is a catalog of open source work that's been done actually applying BrowserPlus to new problems. As a taste that site includes links to in-browser screenshots, by Steve Spencer, or experiments into evolutionary javascript profiling, by Dav Glass, or for the ultra useful, wonky in-browser arcade style tunes based on bloopsaphone by why the lucky stiff.

Join us on IRC

Further, more and more conversations we've been having about BrowserPlus have been on IRC. Admittedly the traffic on our public rooms is still just a trickle, but we dig irc and want to nourish it. Having a place to come and get a real-time response about how to use or extend BrowserPlus seems necessary. So Hack the Browser also features a full searchable archive of all the utterances past and present on our room, at irc.freenode.net #browserplus:

BrowserPlus on IRC

So have a look at all the work going on, and come join us!

| No Comments | No TrackBacks

Howdy!

We are delighted to announce that BrowserPlus 2.2.0 is now live at browserplus.yahoo.com. Yes, we pushed on a Friday. Again.

Here's a brief summary of some of the highlights of this release:

1. Better Installer

Between our platform update code and our HTML/JavaScript/C++ interop technology, we had most of what we needed to make our own installer, rather than use a 3rd party package. So we did.

The main purpose and benefit was to dramatically reduce the number of clicks required from end users at install time.

Other benefits include complete skinnability using plain ol' HTML and CSS. An sdk for developing your own installer skin will be available.

We now provide better progress feedback to the user during install.

2. I18n and L10n

Using Yahoo's amazing localization resources, we have currently localized the platform into 13 languages and 30 locales.

The localization applies to our Installer, Permissions dialogs, and Configuration Panel.

Seeing is believing:

BrowserPlus Installer

We use IDNA to handle non-ascii domain names. We display dates and times in a locale-respectful manner in the Config Panel.

All of this is based on detection of the user's locale, and falling back to appropriate parent locales when necessary.

3. Services in their own process

As mentioned in a previous blog post, BrowserPlus Services now run in their own process. This enhances the stability of the platform, and also aids in debugging when you're writing a service.

4. It's Shrinkage!

We are now exploiting LZMA compression in our packaging and are seeing great improvement in the delivery size of the platform and services.

Enjoy!

| No Comments | No TrackBacks