355
edits
(adding carbonite) |
No edit summary |
||
(29 intermediate revisions by 6 users not shown) | |||
Line 9: | Line 9: | ||
* [[Labs/Bespin/DesignDocs/Editor/Snippets|Snippets]] is a feature that allows you to type in magic commands right into the text, hit tab, and then it gets expanded | * [[Labs/Bespin/DesignDocs/Editor/Snippets|Snippets]] is a feature that allows you to type in magic commands right into the text, hit tab, and then it gets expanded | ||
* [[Labs/Bespin/DesignDocs/Editor/GotoDeclaration|Go to declaration]] is a feature that allows you to jump to the declaration of a class or function. Ideally this will be a mouseclick / key stroke away, and optionally via a command. | * [[Labs/Bespin/DesignDocs/Editor/GotoDeclaration|Go to declaration]] is a feature that allows you to jump to the declaration of a class or function. Ideally this will be a mouseclick / key stroke away, and optionally via a command. | ||
* [[Labs/Bespin/DesignDocs/Editor/Search|Search]] has two parts to it, searching within the visible file, and searching across a set of files (e.g. across the entire project) | * [[Labs/Bespin/DesignDocs/Editor/Search|Search]] has two parts to it, searching within the visible file, and searching across a set of files (e.g. across the entire project) | ||
* [[Labs/Bespin/DesignDocs/Editor/KeyHandling|Key Handling]] defined the underlining view of the world wrt key handling. First, we define the various actions and key combinations and how they should work on the various platforms. | * [[Labs/Bespin/DesignDocs/Editor/KeyHandling|Key Handling]] defined the underlining view of the world wrt key handling. First, we define the various actions and key combinations and how they should work on the various platforms. | ||
* The [[Labs/Bespin/DesignDocs/Help|Help System]] needs to be cleaned up to display more than just a huge list of commands. | * The [[Labs/Bespin/DesignDocs/Help|Help System]] needs to be cleaned up to display more than just a huge list of commands. | ||
* Bespin's time machine might be called [[Labs/Bespin/DesignDocs/Carbonite|Carbonite]] and then again, it might not. | * Bespin's time machine for looking at older versions of the current document might be called [[Labs/Bespin/DesignDocs/Carbonite|Carbonite]] and then again, it might not. | ||
* [[Labs/Bespin/DesignDocs/Stati|See what others are doing]] is a feature to help developers be more aware of how their work affects others. | |||
* [[Labs/Bespin/DesignDocs/MetaData|Meta Data]] We're going to need to store meta-data on the data that we store | |||
* [[Labs/Bespin/DesignDocs/CodeCompletion|Code Completion]] will try to help you by telling you which methods are available | |||
===== | ===== In Progress ===== | ||
* | * [[Labs/Bespin/DesignDocs/Editor/PieMenuAndNot|Pie Menu and Not]] is the next stab at using the pie menu when appropriate, and NOT when appropriate too | ||
* [[Labs/Bespin/DesignDocs/Editor/CommandLine2|CommandLine2]] is the revised specification for how the command-line should work in the pie menu version of Bespin | |||
* [[Labs/Bespin/DesignDocs/Editor/DebuggerIntegration|DebuggerIntegration]] is the specification for how Bespin allows the user to control a remotely attached JavaScript VM | |||
===== Completed ===== | ===== Completed ===== | ||
Line 29: | Line 35: | ||
* [[Labs/Bespin/DesignDocs/Collaboration/Database|Proposed database changes]] | * [[Labs/Bespin/DesignDocs/Collaboration/Database|Proposed database changes]] | ||
* [[Labs/Bespin/DesignDocs/Collaboration/Detail|Command line detail]] | * [[Labs/Bespin/DesignDocs/Collaboration/Detail|Command line detail]] | ||
* [[Labs/Bespin/DesignDocs/Collaboration/Colorization|Colorization]] | |||
* [[Labs/Bespin/DesignDocs/Collaboration/Mobwrite|Mozilla changes to the Mobwrite Protocol]] | |||
== Server == | == Server == | ||
Line 34: | Line 42: | ||
* [[Labs/Bespin/DesignDocs/VCSIntegration|Version control system integration]] | * [[Labs/Bespin/DesignDocs/VCSIntegration|Version control system integration]] | ||
* [[Labs/Bespin/DesignDocs/JSServer|JavaScript Server]] | * [[Labs/Bespin/DesignDocs/JSServer|JavaScript Server]] | ||
== Security == | |||
* [[Labs/Bespin/DesignDocs/OpenIDIntegration|OpenID integration]] | |||
== Extensibility == | == Extensibility == | ||
Line 44: | Line 56: | ||
== Dashboard == | == Dashboard == | ||
The | The Dashboard was originally conceived as a place to display all kinds of top-level project information in a unique way. That original vision will return. For now, the plan is to [[Labs/Bespin/Dashboard|eliminate the Dashboard page]] and move file navigation into the editor. | ||
== Component == | |||
The editor component that anyone can link to and use Bespin. | |||
* [[Labs/Bespin/DesignDocs/EditorComponent/Packaging|Editor Component Packaging]] | |||
== Inline Documentation == | |||
This section discusses possible interfaces for having helpful documentation that web developers typically need such as: HTML, CSS, Javascript and Javascript libraries. | |||
* [[Labs/Bespin/DesignDocs/Inline Documentation|Overview]] | |||
* [[Labs/Bespin/ | == Refactoring / Cleanup == | ||
* [[Labs/Bespin/ | |||
* [[Labs/Bespin/ | It may not be sexy, but it gotta get done... and you get a great feeling when you make something better! | ||
* [[Labs/Bespin/ | |||
* [[Labs/Bespin/ | Here's the list: | ||
* [[Labs/Bespin/DesignDocs/Refactoring/FixEventing|Fix Event System Usage]]: Pub sub is awesome, but we use it for too much. Keep items that truly are "this happened" but move out the "do this" and make real method calls | |||
* [[Labs/Bespin/DesignDocs/Refactoring/KeyHandler|Key Handling Component]]: Refactor the key handling out of editor.js and other sprinklings and put into one component (works with focus handling) | |||
* [[Labs/Bespin/DesignDocs/Refactoring/FocusHandler|Focus Handling Component]]: One focus handler that you can register with | |||
* [[Labs/Bespin/DesignDocs/Refactoring/JavaScriptDocumentation|JS Docs]]: Take out the WikiCreole and put in JSDoc instead, and a build system to generate the docs from it | |||
* Conventions: | |||
** [[Labs/Bespin/DesignDocs/Refactoring/JavaScriptLocations|JavaScript File Locations]]: Instead of module/module.js, move back to module.js which can include subfiles from module/*.js. | |||
** [[Labs/Bespin/DesignDocs/Refactoring/Hitching|Code Hitching]]: Rules for when you should dojo.hitch() versus "var self" and clean up code to do it | |||
== Time Machine == | |||
Our [[Labs/Bespin/DesignDocs/TimeMachine|Time Machine]] allows you to look back over the history of a file to see visually how it changed over time. | |||
== Fun == | == Fun == | ||
Line 57: | Line 93: | ||
* [[/CoderBadge|Coder Badge]] let's you put your Bespin groovy on | * [[/CoderBadge|Coder Badge]] let's you put your Bespin groovy on | ||
== Brainstorming == | |||
We had a brainstorming session that brought about it a ton of ideas. Here's a place to keep them: | |||
* Project history code churn view | |||
* Preview toggle for UI elements | |||
* Replace view source with Bespin | |||
** Add "edit source" to browser | |||
* Rich documentation that ties to code and auto detects if out of date | |||
** integrated docs a la Coda | |||
* VCS for graphical assets | |||
* Automated security analysis | |||
* Integrate with Wordpress (plugin) | |||
* Certified Open Web Engineer program | |||
* Crowdsource the management of crowd produces suggestions | |||
* Open Web book imprint | |||
* Wizards to inspect code and recommend better ways to code | |||
* Find utilities that are re-written everywhere and find ways to prevent re-write | |||
* Design | |||
** Blank design elements | |||
** Design sharing tool | |||
** UI/GUI template tools | |||
** Visual UI editor | |||
** Font browser | |||
** CSS3 Tool | |||
* Analyze common mistakes | |||
* "Create new Bespin project" bookmarklet | |||
** spiders a website and imports it as a project | |||
* Coding via mobile phone | |||
* Index all open web project - search engine | |||
* leadershipboard for web developers worldwide (#lines of code / usage) | |||
** code quality scores "you broke the build X times" | |||
* Code fragment library / cookbook | |||
* Easy project startup wizard | |||
* TestSwarm integration | |||
* Installer for internal deployment (.deb etc) | |||
* Review tools | |||
* Visual test generator | |||
* Standard project description file format for Web projects (a la Maven) | |||
* Integrate with continuous integration services | |||
* Code flow visualization | |||
* Zoomable code UI | |||
* JEP-like program for proposing new Open Web APIs | |||
* Open Web code validator | |||
* "Live!" "On AIR" graphic | |||
* Audio chat | |||
* Replace textarea with Bespin | |||
* Build a new DVCS that is all in JavaScript | |||
** Make browser a DVCS itself | |||
* 3D cube editor | |||
* New layout experiment == generates CSS+JS | |||
* Open Web awards (e.g. webbys for devs) | |||
* Open Web Cruises | |||
* Live cam integration for video conference | |||
* CSS3 design example repo | |||
* Publishing tools for AMO/Jetpack | |||
* Integrate with Bugzilla | |||
* Auto-layout / styling preferences | |||
* Open Flash IDE (canvas+bespin) | |||
* Documentation microformat | |||
* Run offline and be able to edit local files | |||
* Hook into desktop editors | |||
** Prism/Titanium | |||
* TODO list management in Bespin | |||
* Allow websites to link themselves to a backend so Bespin can edit | |||
* Make the cycle between editing code and seeing changes in a webapp as short as possible | |||
* Make coding life a video game | |||
* Real-time help/mentoring | |||
* Integrate runtime support for PHP/Python etc | |||
* Make it easy to see where other people have editor code that I touched | |||
* Make it easier for developers to use DVCS without knowing DVCS | |||
* Team up with sites like Topcoder | |||
* Run Bespin contests | |||
* Deployment angle; hosting environment | |||
* Recommendations | |||
** projects like mine | |||
** developers like me | |||
* Finding contextual code snippets | |||
* Analytics | |||
** What code is running, heatmap |
edits