A better kind of app store

A Better kind of app store

The browser is a distribution channel. Writing apps in JavaScript, HTML, and CSS is like being told by your distributor that you can only build your products in a certain way. That’s ridiculous!

Build a better distribution mechanism that allows you to build apps the right way: either binaries or interpreted code, bundled with the right executable, so that the client has to do basically nothing.

A browser with a different emphasis.

It would:

  • Automatically know the system architecture and download the appropriate binaries (if available)
  • If the app is source code + interpreter, automatically select the correct interpreter / runtime for my architecture
  • Automatically check for updates, and install them

Now you can write your apps in any language you like, as long as you can provide either a binary or bundle the interpreter with the code.

Sort of related ideas:

  • Heroku slugs (and build packs)
  • JAR files
  • homebrew
  • mac app store
  • ruby gems / python eggs
  • build systems
  • makefiles
  • http://appbodega.com/
  • apt-get / aptitude (and other package managers)
  • docker? probably not, since it’s linux-only

What the developer would have to supply (via upload or git push):

  • either an executable, or source code
  • a manifest, which has:
    • version number
    • for each supported platform:
      • which version of a runtime is required, if any
      • instructions on how to satisfy dependencies
      • launch information (how to run this app)
        • run the binary, or
        • run the included source code with the specified runtime

The service would take the following steps, upon receiving your app:

  1. read the manifest
  2. for each platform, build a slug:
    • obtain runtime
    • satisfy dependencies

When the user downloads the slug, it’s 100% ready to launch. The client software would take care of converting the slug into a desktop shortcut, start menu item, dock item, whatever.

Attack vectors

  • automatically integrate with homebrew somehow (to immediately have access to a ton of applications)
  • automatic manifest generation — detect ruby apps (gem files), python apps (requirements.txt), java apps (ant.xml), etc.

Take a 70/30 cut, payments with stripe.

Totally free to upload, no curation at all.

Ability to upload simple pages (like github does).

Deploy hooks, so that whenever you push your repository to github, your app is built on this service and ready to go automatically – if you want (or if the version number has changed).

Need a name.

Login with github, and automatically just pull from a repository.

Integrate into spotlight + windows search

Excel dataflow

Github / package manager for excel. think zapier, plugging services together intelligently, except your spreadsheet in excel / google docs becomes a hub rather than the data being 100% decentralized.

write a package manager in VBA that allows one-click installs of third-party services like a CRM or charting tool. inbound data as well – for example, unbounce going into your spreadsheet. then, each sheet can become a data hub, a visualization tool, that lets you edit and watch these changes propogate in both directions.

googling “vba excel” yields just awful results. professionals already use ifttt and zapier to piece these things together, it needs to be easier to use and messy.

build up from VBA, or javascript for google docs, that lets you use actually useful primitives (such as network access, (de)serialization, authentication, and more).

related: plugin for excel that lets you run db queries against another database, and the results show up in the spreadsheet (no need to copy/export out of your database) — need an open source, easy-to-install odbc driver for all platforms (http://www.boriel.com/en/2013/01/16/postgresql-odbc-connection-from-mac-os-x/)