Skip to content

Commit

Permalink
Broke general Plugins.md out of PluginTutorial.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Mingling94 committed Jan 19, 2016
1 parent 1d98ff8 commit d98419e
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 47 deletions.
2 changes: 1 addition & 1 deletion doc/Developers.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ The following explains some aspects of how I, [Ming
Luo](https://github.com/Mingling94), develop Sia-UI and my general workflow

* [Development Flow](DevelopmentFlow.md)
* [Plugins](PluginTutorial.md)
* [Plugins](Plugins.md)
* [Debugging](Debugging.md)

1 change: 1 addition & 0 deletions doc/DevelopmentFlow.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Development Flow

## Packaging & Releasing Sia-UI

Expand Down
45 changes: 0 additions & 45 deletions doc/PluginTutorial.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,3 @@
# Plugins and Sia-UI

The new Sia-UI looks a bit lacking, why is that you ask? We steam-rolled the
older version because it felt very hard-coded. This new design allows easy
development of modular parts, called plugins, to interact with our system from
anyone with a little webdev knowledge.

## What is a plugin?

A plugin, in the context of Sia-UI, is a self-contained add-on that offers
graphical functionality to interact with the Sia-network. We'll develop plugins
we believe would be widely used, but we're also redesigning Sia-UI to enable
third-party developers interested in our project to make their own plugins.

The structure of a plugin is the exact same as a webpage, with some added
functionality via Node.js & Electron, the core library that supports the Atom
text editor. There are only two hard-rules to a plugin:

1. It must be self-contained in a directory of its name.
2. It must have an index.html in this directory.

## Why plugins?

We at NebulousLabs are all about decentralization... of everything! Thus we are
redesigning our GUI desktop application with that in mind. We want the
community interested in the Sia network to be able to:

1. Use Sia-UI in the way they want with only the plugins they care about instead
of using our rigid set of tools.
2. Be able to design and implement their own plugins.
3. Customize their own UI experience simply without obfuscating menubars.

In the works already is a product that would serve up the locations of files on
the network, not only for optimizing file storage across the world, but for
file-sharing via host-approved listing (think torrents).

We're also designing a GPU-mining software that would efficiently support the
network's transactions.

A third is a blockexplorer that would allow developers and prospectors alike to
understand and watch the flow of the network's coins, files, etc.

These are all products that we don't want to include with every Sia-UI
distribution so it makes sense to dynamically load them with the UI.

# How to write a plugin

Note: the screenshots here were taken from before a skin revamp of the UI, but
Expand Down
30 changes: 30 additions & 0 deletions doc/Plugins.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Plugins

In order to form a more modular codebase, most functionality in the UI is
contained in webpage like structures we call "Plugins".

## What is a plugin?

A plugin, in the context of Sia-UI, is a self-contained add-on that offers
graphical functionality to interact with the Sia-network. We'll develop plugins
we believe would be widely used, but we're also redesigning Sia-UI to enable
third-party developers interested in our project to make their own plugins.

The structure of a plugin is the exact same as a webpage, with some added
functionality via Node.js & Electron. There are only two hard-rules to a
plugin:

1. It must be self-contained in a directory of its name.
2. It must have an index.html in this directory.

## Why plugins?

We at NebulousLabs are all about decentralization... of everything! Thus we are
redesigning our GUI desktop application with that in mind. We want the
community interested in the Sia network to be able to:

1. Use Sia-UI in the way they want with only the plugins they care about instead
of using our rigid set of tools.
2. Be able to design and implement their own plugins.
3. Customize their own UI experience simply without obfuscating menubars.

2 changes: 1 addition & 1 deletion doc/Technologies.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Javascript -> Node/NPM -> Electron.

### Javascript

This should be familiar to most devs. We mostly adhere to [certain style
This should be familiar to most webdevs. We mostly adhere to [certain style
conventions](http://javascript.crockford.com/code.html)

### [NPM](https://www.npmjs.com/)
Expand Down

0 comments on commit d98419e

Please sign in to comment.