My Dream App

Welcome to My Dream App!

The event where 24 finalists compete for a chance to have their dream app made into reality.

First time? Check out what this contest is about and create an account for free. If you are already a member, please login to remove this message. Thanks!

You might wonder how is Portal’s development progressing after Austin and Jason posted their updates a while ago. After posting my article on the research of file synchronizers I am looked through all the publications and articles I mentioned and a lot more. As it often happens with these kinds of inquiries you end up in similar or even completely different research areas. In this case I found out that some file synchronization publications overlap with the research underlying my company’s product SubEthaEdit which features collaborate text editing.

But let’s get back to identify the implications for Portal’s development. Soon after reading the fundamental papers about this topic I felt confident that you probably won’t invent a new file synchronization engine yourself. There are a lot of interesting tools out there which work quite well but either lack a cool user interface as envisioned by Farzad or just don’t quite meet the requirements Portal has. For example, rsync is a very popular tool among administators and power users to keep file trees in sync over a large number of machines. rsync tries to minimize the transfered bytes to keep two copies of a file in sync by doing incremental updates on the file. This is especially great for slow connections where you don’t want to transfer a complete file if only a few bytes have changed. The described approach is employed by the rsync tool and is generally known as the rsync algorithm. You may find the algorithm implemented in other software as well. But what else does rsync offer? It is basically used as mirroring tool. You can mirror a file tree from your machine to several others. It allows you to promote changes you made on your machine to others. If you change your files on the other machines and then want to promote them back then it get’s difficult because rsync doesn’t have great support for back and forth synching. It’s great as a uni-directional mirror utility. Using Portal you want to have bi-directional synching because you want to work with your files on every synched machine without worrying whether they can be promoted back. Therefore rsync is not an option for Portal.

My next candidate was Unison. It caught my eye early on because like rsync it is a tool that is widely used and not yet another research prototype. First of all it support bi-directional synching which we want for Portal. It uses a compression protocal similar to rsync which makes it suitable for slow links. Besides that it is resilient to failures. I think this one of the most important aspects if you don’t want to worry all the time whether my synching software is gonna destroy my data on the next update. There are so many failure scenarios in a synching application. You can experience all sorts of network failures. Your software might crash. Your files are modified while the synching process is still going on. But in all those cases you want your replicas to stay intact and be synchable in the future. Unison has put a lot of effort into making sure that your data is safe. Interestingly enough Unison features specification dealing with all those issues that is also proven.

What does all this mean for Portal? After my research on topic I decided to use Unison as the foundation for Portal. There are two options for accomplishing this. The first approach I pursued would have been a Mac OS X specific implementation of the Unison specification. The result would be an optimized solution for Mac OS X which could make use of all the operating specifics. Implementing your own solution takes a lot of time and you wouln’t see any flashy results because it would involve mostly file I/O and network programming. Comparing to an existing and mature implementation your own solution will surely inlcude many bugs and issues at the beginning. The second approach I’m now focusing on is to use the existing Unison implementation and build Portal on top of it. Unlike the first approach we now get much sooner to the point where we can experiment with application interaction, i.e. user interface. My next step is to build a prototype of Portal using the Unison tool under the hood.

12 Comments

Copyright © 2006, 2007 - My Dream App. All Rights Reserved

Username:
Password:

E-Mail Me

Please notify me when there is news on the My Dream App winners.

Atmosphere
Portal
Cookbook

Contestants

  1. Anders MelinAnders

    Stick-It

    A modernized sticky solution that lets people use virtual stickies just as they do in real life.
  2. Andrew WilsonAndrew

    Desktop Wars

    A real-time strategy game that brings the battlefield to your desktop with network play, voice commands and more.
  3. Bob ConlonBob

    Savant Carde

    Takes the Hypercard concept into the 21st century through direct manipulation. Could this be the next big breakthrough in hyperlinked media?
  4. Bogumil GiertlerBogumil

    Herald

    A modern update to the newspaper, combining the power of RSS, simple newspaper creation and sharing, and an eye-catching user interface.
  5. Cameron WestlandCameron

    Atmosphere

    A virtual window to the outdoors for your desktop. View a virtual representation of your area's weather when too busy to go outside.
  6. Dan LundmarkDan

    Blossom

    A virtual plant that responds to productivity, not sunlight and water. Had a good session in Excel? Your plant will thrive. Play too much Warcraft? Expect some withering.
  7. Dillon KrugDillon

    Bookroom

    Get back into reading, with Bookroom. Presents e-books in a beautiful interface, and supports annotations and Leopard's VoiceOver support.
  8. Farzad SadjadiFarzad

    Portal

    File syncing from the future. Sync folders and documents between Macs effortlessly and watch transfer progress through a cool, highly visual wormhole user interface.
  9. James BadcockJames

    Destinations

    Plan vacations and trips with ease and tie related photos and notes to locations on the map as an interactive travel album.
  10. Jeff GreenbergJeff

    iGTD

    A Mac implementation on the popular "Getting Things Done" productivity system with iCal and Address Book integration, iPod sync, and more.
  11. Joe BatutisJoe

    Puppet Constructor

    Create simple 2D animations with the ease of manipulating puppets. With Puppet Constructor, keyframes are replaced by users manipulating their "puppets" with their mouse.
  12. John BellJohn

    Minerva

    A virtual secretary for your Mac. Minerva can automatically process new contacts, aggregate news, remind you of appointments and more, speaking with Leopard's voiceover.
  13. Josh McGuireJosh

    iGotPets

    Keep track of your pet's well-being with iGotPets, and share your pet's profile through the web.
  14. Kevin CapizziKevin

    Hijack

    A full Cocoa interface for browsing and participating in your favorite discussion forums.
  15. Marshall KucharczykMarshall

    SweepIt

    The solution for messy desktops and download folders. Set folders for automatic cleaning based on user set rules.
  16. Michael WuertheleMichael

    Chatboard

    The virtual, network-enabled whiteboard that adds real-time shared visuals to group collaborations.
  17. Michael YuanMichael

    Cookbook

    The ultimate cookbook application, with online grocery shopping, thousands of recipes, Leopard voiceover technology integration, shopping list sharing, and more.
  18. Mickey WemberMickey

    iVlog

    Photo Booth for videos, with easy to use video logging (or "vlogging") support.
  19. Mike GabouryMike

    iSightSee

    An alternative control method powered by your Mac's iSight. Control your Mac with hand gestures and movements.
  20. Peter PeblerPeter

    Bubble Fish

    Bubble Fish is the friend who knows everything, but without the annoyance factor. Ever curious to learn about a word or phrase beyond a dictionary definition? Wikipedia, Google, Flickr and more would be just a control click away.
  21. Raven ZacharyRaven

    Telepath

    Turns your phone into a Blackberry lite. Push important emails, news items, and more to your phone from your Mac via SMS.
  22. Richard WhitelockRichard

    Whistler

    Ever had the urge to create a song until you realized it was harder than it was worth? With Whistler, just whistle, hum, or tap out your creation into music app importable form.
  23. Russell HeistumanRussell

    Ground Control

    Dashboard done right, with a unified design and modules for your most used apps and important information at your fingertips.
  24. Windy ChenWindy

    iStyleIt

    Bring your wardrobe into your iLife with iStyleIt, a virtual closet on your Mac. Pick your clothes with ease, store and rate your favorite outfits, and share them with your friends.

Developers

  1. Jason HarrisJason

    Jason Harris

    Developer of ShapeShifter and Chicken of the VNC.
  2. Austin SarnerAustin

    Austin Sarner

    Developer of AppZapper.
  3. Martin OttMartin

    Martin Ott

    Developer of SubEthaEdit.
  4. John CasasantaJohn

    John Casasanta

    Developer of iClip.

Today's Sponsors

Sponsor My Dream App