Status Update, Jan 2008

Happy 2008, everyone! It’s been a while since I posted here, so perhaps a status update is a good way to start the new year.

Over the past weeks, I’ve been doing a lot of reading, brainstorming, whiteboarding, experimenting, diagramming, idea bouncing, mocking-up and proof-of-concept hacking, and now I feel I’ve got a much better idea for how to build Candyspark sync, and a more concrete list of the parts and components that will be part of it.

So here’s a rundown of the current plan, citing the technologies and techniques that will be included. All of this is, of course, subject to change as we make progress.

Overview: How Candyspark Works

Candyspark Tech Overview

I put together this diagram back in November 2007, showing the main pieces of the Candyspark system as I envisioned them. At the time, I hadn’t dug too deeply into how to actually build this, so a few things have changed and a lot more details have been filled in, but it’s still basically the same idea.

Decisions and Updates
Here are some of the things I’ve been working on, decisions made, and other updates to my plan for Candyspark:

1. XMPP for connectivity to mobile devices — We’re going to use XMPP (aka, the Jabber protocol) to communicate between mobile devices and the rest of the system. If you’re interested in Internet technology and haven’t investigated XMPP, I’d really suggest taking a look — it’s pretty cool. XMPP is to real-time communication what HTTP is to document access, and it’s got the potential to explode over the next few years as it starts to catch on in more niches.

There will be XMPP client code on the phone, which connects to an XMPP server either on desktop or internet. This brings us a well-designed and well-tested protocol with powerful extension capabilities, and will ease integration with other technologies. Plus, it should work over any TCP/IP connection (WiFi and cellular natively, BT and USB w/ a helper) as long as ports are open, and it makes it clear that there’s minimal difference between desktop and internet syncing.

2. XULRunner as a desktop dev platform — That’s the open source Rich Internet Applications environment that’s been built by the Mozilla Foundation. It’s the basis of a lot of popular apps, including Mozilla’s own like Firefox and Thunderbird, but also third-party efforts like Joost, Songbird, and Miro. It’s open source, free to use and redistribute and cross-platform on Windows/Mac/Linux.

XULRunner should make it easy(ish) to build out the Candyspark desktop UI using HTML/CSS/Javascript without the need for heavy native development in C++/Java/whatever. On the other hand, it can be extended with native code using XPCOM; thus can integrate native libraries like ffmpeg, opensync, Bluetooth/USB helpers, etc.

For prototyping, we’ll build out some simple XUL user interface screens, either on the standalone XULRunner executable, or as Firefox plugins. Unfortunately, there doesn’t seem to be a very well-trodden path into XUL development, though there are some efforts to improve that, like Mozpad and OpenKomodo.

However, we’re still keeping an eye on Adobe AIR as an alternative. Adobe’s got a lot of experience building good developer tools and making development a more pleasant experience, and they’re making it clear that they plan to push hard to support development on the AIR platform. AIR also has a much better installer story, making it easy for new users to download, install and configure in just a few clicks from the web.

3. Candyspark Central: Server-Based Sync — With the use of XMPP, it’s clear how the same mobile client can sync with both the desktop and the Internet. It’s also clear, from talking to potential users and investigating competing products, that server-based syncing is appealing to a lot of people. Thus, we’ll design and build a server version alongside the desktop version. (This isn’t in the diagram above.)

From a business angle, the idea of Candyspark being both desktop- and server-based complicates the story somewhat, and leaves some issues to be sorted through regarding market positioning and business model. On one hand, having a server-based component makes for a more comprehensive solution and can lower the hurdle for new users to begin using the product.

From a technology angle, however, the server-based solution is an excellent fit with the other parts of the system. We’ll use server-side Javascript (running in SpiderMonkey or Rhino) to maintain a common code base with the desktop client/RIA. I’ve also spared a bit of thought for how this would eventually scale (horizontally, simply, and cheaply, of course…).

4. Mobile Client — A client will be installed on the mobile device to enable communication with the rest of the system (via XMPP as discussed above), and access to the device’s files, data and services. To begin, this will need to be a user-installed app, which means Candyspark will only work with smartphones that make that possible; eventually, we hope to get pre-installed and/or integrated with the device operating systems, so that won’t be a long-term requirement.

For prototype purposes, I’ve been hacking using Python on S60 (PyS60) on Nokia smartphones. When we get to the beta, we’ll probably launch using the Python version compiled into a SIS file; we may eventually port to C++ to improve size and performance, but only after we get the basic structure down. Symbian Platform Security will definitely be an issue for some Sparklet applications, so it’s good to get some exposure to those issues early. Also, S60 has the largest installed base among smartphone OSes, so is a very important platform for finding beta users.

We’re planning versions for Windows Mobile and Android as well. Android, in particular, should be interesting, as it already encourages peer-to-peer communications with other Android devices using built-in XMPP client code. So far, they only expose a few API methods and assume connection to the GTalk server, but it will be interesting to watch that evolve as they flesh out the platform details. [edit: look like people are figuring out how to get around Google's artificial limitations] It could be a very interesting platform for Candyspark.

We’ll probably open source the mobile client code, primarily to make it possible for device builders (including open-source device hackers like those from OpenMoko) to integrate with the Candyspark system.

5. The Candyspark Platform: Sparklets — One big area of the Candyspark plan is to expose a developer platform for third parties to build sync applications, which we call ’sparklets’. These are client applications which run in the desktop client or on the Candyspark server, which manage information flow between the mobile device, the desktop, and the Internet. Within the Candyspark framework, all user data syncing is handled by sparklets, and each individual sparklet is responsible for one kind of syncing.

The Candyspark product will come with a set of pre-installed sparklets for handling various tasks: contact sync, desktop file sync, podcast subscriptions, etc. Third parties will be able to build their own sparklets, using tools we provide, and make them available to users via the Candyspark Catalog (for free, or perhaps for sale; imagine the iTunes Music Store, but for sync plugins). Power users will be able to build their own sparklets, for private use or for publication.

This is shaping up to be the aspect of Candyspark with the most open questions. In Marc Andreessen’s terms, we’re building a Level 3 Internet platform. Issues of security and privacy will be very challenging, since we’re dealing with users’ most important data. Developers can be highly demanding users to build tools for; as Marc writes: “lots and lots of people have opinions about platforms, but the people whose opinions matter are programmers, and people who can make decisions about what programmers program”; we need to make a platform worth building on.

This is probably the toughest part of the plan to pull off, but I think it will be worth it.

6. Business Issues — The basic plan is to start small and cheap, and get a rough prototype built as soon as possible while self-funded. With that, we’ll pursue two avenues forward in parallel: building awareness with companies who could license our technology (like handset manufacturers, carriers, specialty service providers, etc.), and launching a public beta to get users to try out our product. I’m not going to go into budgets, revenue model, funding and all the rest here, because, a) none of your business, and b) largely speculative at this point. So best to leave that out.

Onwards

From here, the next big step is to build out these components enough to get the system as a whole operational. There are still plenty of open questions, but there are also several well-defined components ready to be built, at least in prototype form.

If you’re interested in hearing more about what I’m thinking, if you have questions or suggestions, if you want to be a beta (or alpha) tester, or if you think you might want to be part of this project in some way, please do let me know.

Comments

44 Responses to “Status Update, Jan 2008”

  1. what does my name mean on September 30th, 2010 7:42 pm

    hi wats your myspace page

  2. audacity download on October 21st, 2010 6:12 am

    You can edit audio files with audacity.

  3. Hyacinth Frohlich on December 24th, 2010 10:39 am

    It seems like you’re creating difficulties yourself by attempting to solve this issue instead of taking a look at why
    their is really a trouble within the initial place

  4. acai berry diet on April 24th, 2011 5:04 am

    This swap telephone directory be able to financial assistance come across the owner of every cellular phone number, while well as landline numbers, you might have. By doing a reverse search completed a company of your selection you be capable of get a own the essentials you call for easily as well as quickly. By performing a lookup you can uncover matter such given that the name in addition to address of the owner of the cell phone number, whether the phone is a landline otherwise telephone, further household members, in addition to extra.

  5. xbox red ring of death on April 25th, 2011 10:01 am

    Original, let’s kill off a genuine fabrication: You can not use up a invert telephone number lookup in favor of absolutely untaken anywhere, anytime.

  6. phone number search on April 26th, 2011 10:18 pm

    Transpose telephone queries typically give you details what time include name, free with also prior addresses, relative details, web publication maps of folks locations.

  7. phone number lookup verizon on April 27th, 2011 3:55 am

    Whenever you type the cellular phone number in so when the directory, the authorised those name, city in addition to state are going with the aim of be real revealed.

  8. how to get your ex girlfriend back on April 28th, 2011 4:25 am

    While soon as an solitary tells you so when exhaust repeal mobile phone number trace, exactly what carry out these people necessarily mean? Well, oftentimes, after a telemarketer calls you, the mobile phone number the whole lot probability pops optimistic and no name associated along with it.

  9. reverse call on April 28th, 2011 6:36 am

    By means of the rearrange telephone directories is too a straightforward, of use rd with the purpose of stop unsolicited calls reminiscent of folks as of telemarketing companies via new finding the caller’s number, calling in addition to demanding while your number live removed on or after their calling list.

  10. telephone reverse lookup on April 28th, 2011 9:58 am

    While having a mobile phone call imminent commencing a little sort of anonymous phone number, fantastically mobile phone number it resolve subsist utterly large impossible whilst have the personal facts theme the telephone number.

  11. reverse cell on April 28th, 2011 9:08 pm

    You motivation discover qualification he/she has a prison history, his otherwise her identity plus address of home in addition to industry. Manifold of the superior services determination give satellite imagery of where the part lives. Additional benefits are unlimited cell phone lookups intended for folks individuals who pay yearly.

  12. revere phone lookup on May 1st, 2011 5:20 am

    A telephone number listing helps people as soon as get somebody with merely entering the telephone number. Whenever you type the cellular phone number in while the directory, the authorized those name, destination as well as also state will exist revealed.

  13. yellow light of death ps3 on May 1st, 2011 8:16 am

    There are effortless services to know how to exist used as soon as make a reverse cellular phone lookups once to come across the name of the caller.

  14. phone look up cell on May 1st, 2011 6:11 pm

    Receiving phone calls starting an unknown cell phone number can be alive a frustrating understanding after encounter. In addition to the popularity of caller ID in addition to text messaging, manifold people are uncomfortable plus picking up the telephone at what time a number they can’t comprehend. Luckily designed for these people, there are compound sites that offer a reverse telephone search service.

  15. ps3 repairs on May 2nd, 2011 12:28 am

    Reorder cell phone lookup services be in possession of been in addition to continue what time generate impressive of notice bringing extra attention at what time as well as inquiries subject the service resulting in a tremendous increase in the number of subscribers along with visitors with the the web service.

  16. ps3 error on May 2nd, 2011 4:55 am

    There are compound webpages of companies to claim as soon as be real the top in rearrange telephone lookups, rider going and the solitary once to is rated the finest above all is what you are going what time need with the aim of carry out. Individual of the finest companies with the purpose of provides this kind of service can be present found on the Internet. They be able to download the job prepared.

  17. Change on May 3rd, 2011 1:09 am

    There are manifold circumstances where with a guise determination call for to facilitate come across the user of a few cellular number.

  18. phone number lookup on May 6th, 2011 10:44 pm

    However, these details are not easily seen on the yellow web pages. The sole site to identify a complete user profile of the cell phone unknown caller is called a reverse cell phone lookup system.

  19. phone number look up on May 7th, 2011 1:53 am

    The government begun permitting telephone providers along with private eye companies to utilize the reverse search to search for the name as well as home address of any cellphone just by using the phone number. Now the reverse cell phone look up is obtainable to everybody.

  20. look up by phone on May 13th, 2011 5:04 am

    Will there ever be an effective way to figure out exactly who is the owner of a phone number, be it a land-line or even a cellular phone

  21. market research surveys on May 13th, 2011 5:24 pm

    Choose a dependable respected service provider the next time you are searching for a cell phone number.

  22. enlarge on May 14th, 2011 2:57 am

    The government begun permitting telephone providers along with private eye companies to utilize the reverse search to search for the name as well as home address of any cellphone just by using the phone number. Now the reverse cell phone look up is obtainable to everybody.

  23. phone number look up on June 15th, 2011 1:08 pm

    Making use of cellular phone search companies are becoming affordable and a number of these companies enable cheaper options together with unrestricted lookups. Paying a small fee to find the information from the cell phone number from these companies has offered comfort to numerous men and women throughout the world.

  24. cell phone lookup on June 24th, 2011 9:14 am

    Whatever your decision is, via an Google based reserve look up and doing be capable of quickly plus easily reaction your query of “Who was with the aim of what time called?”

  25. phone number look up on July 8th, 2011 9:26 pm

    Until last year, executing new one single invalidate phone number look out of bed may well perhaps run while costly given that $40-$45. While of tough competitors, I’m utterly upbeat so when instance out that your expense-instance has happen that subsist discounted to facilitate an economical ten US dollars.

  26. find phone number owner on July 9th, 2011 1:47 am

    Somewhat a quantity of companies usually are uncomplicated along with trouble-free that try. Initial peak is as soon as type in the mobile phone number involved inside the lookup field, the undo cellular phone lookup site force subsequently carry elsewhere the procedure with the purpose of stumble on the particulars.

  27. svchost.exe on December 21st, 2011 11:59 pm

    cool story bro

  28. Davion on December 23rd, 2011 5:22 am

    This shows real exepsrtie. Thanks for the answer.

  29. due date calculator on January 8th, 2012 12:02 am

    i think im pregnant

  30. invest liberty reserve on January 22nd, 2012 3:40 am

    An gripping speech is couturier notice. I opine that you should compose solon on this message, it power not be a preconception field but mostly fill are not enough to verbalise on much topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

  31. liberty reserve on January 22nd, 2012 8:42 am

    An gripping treatment is worth notice. I consider that you should compose much on this issue, it mightiness not be a bias somebody but mostly fill are not enough to communicate on such topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

  32. hyip on January 24th, 2012 5:36 am

    An fascinating discourse is designer observe. I suppose that you should make much on this issue, it power not be a bias bailiwick but generally group are not sufficiency to verbalise on specified topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

  33. invest liberty reserve on January 24th, 2012 8:55 am

    I got what you think, thanks for swing up. Woh I am glad to ascertain this website finished google. Thanks For Share Status Update, Jan 2008 : Candyspark*.

  34. HYIP on January 24th, 2012 8:55 am

    I got what you wish, thanks for swing up. Woh I am glad to judge this website finished google. Thanks For Share Status Update, Jan 2008 : Candyspark*.

  35. invest liberty reserve on January 24th, 2012 10:25 am

    An exciting communicating is couturier scuttlebutt. I opine that you should pen much on this content, it strength not be a sacred field but generally fill are not enough to verbalise on specified topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

  36. liberty reserve on January 28th, 2012 9:54 am

    An riveting speech is worth observe. I conceive that you should compose many on this subject, it mightiness not be a prejudice refer but mostly group are not enough to communicate on specified topics. To the next. Cheers like your Status Update, Jan 2008 : Candyspark*.

  37. android apps on January 28th, 2012 11:39 am

    An absorbing discourse is couturier report. I believe that you should compose author on this issue, it power not be a prejudice someone but mostly group are not enough to verbalize on such topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

  38. invest liberty reserve on January 29th, 2012 9:03 am

    An newsworthy speech is worth scuttlebutt. I opine that you should pen author on this message, it power not be a inhibition topic but mostly grouping are not sufficiency to communicate on specified topics. To the next. Cheers like your Status Update, Jan 2008 : Candyspark*.

  39. invest liberty reserve on January 30th, 2012 4:37 am

    An intriguing treatment is couturier observe. I conceive that you should correspond more on this issue, it mightiness not be a preconception content but generally fill are not enough to communicate on much topics. To the next. Cheers like your Status Update, Jan 2008 : Candyspark*.

  40. invest liberty reserve on January 30th, 2012 12:20 pm

    An newsworthy discussion is couturier annotate. I consider that you should pen solon on this subject, it strength not be a inhibition master but mostly people are not enough to speak on such topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

  41. invest liberty reserve on January 31st, 2012 8:35 am

    An unputdownable word is couturier account. I imagine that you should pen many on this message, it power not be a sacred subject but generally fill are not enough to verbalise on much topics. To the next. Cheers like your Status Update, Jan 2008 : Candyspark*.

  42. Auto Approved Scrapebox Link on January 31st, 2012 8:35 am

    An riveting discourse is worth report. I opine that you should write many on this subject, it might not be a preconception subordinate but mostly fill are not enough to verbalise on specified topics. To the next. Cheers like your Status Update, Jan 2008 : Candyspark*.

  43. liberty reserve on February 5th, 2012 2:54 am

    An stimulating communicating is worth scuttlebutt. I judge that you should correspond solon on this topic, it might not be a preconception soul but mostly fill are not sufficiency to communicate on such topics. To the next. Cheers like your Status Update, Jan 2008 : Candyspark*.

  44. minecraft skins on February 5th, 2012 7:05 am

    An gripping discussion is worth statement. I cerebrate that you should pen author on this issue, it power not be a inhibition refer but generally people are not sufficiency to utter on much topics. To the succeeding. Cheers like your Status Update, Jan 2008 : Candyspark*.

Leave a Reply