-
Notifications
You must be signed in to change notification settings - Fork 0
GlobalChat2 Design Goals
jsilverMDX edited this page Nov 30, 2012
·
5 revisions
jsilverman2: the main mission of GC is to remove every annoying feature of IRC while keeping all of the good ones and adding a few more that were never there by fixing "design" limitations etc
- Minimalist IRC design (Cut most commands and non-chat related features)
- Emphasis on Modern Design and NewUserFriendlynessish (cut: TOPIC, CHANNEL, low level server info, PING/PONGing, MOTD, operators, voiced users, channel modes, user modes, server bots)
- Use of as few Opcodes as possible (entire protocol is >10 commands)
- Availability of advanced chatting features (bouncerless persistent scrollback, multi-line pasting in a single line)
- Non-annoyingness and professionalness, expectation of a nice chat that is helpful in a corporate setting
- Stability, showcase Ruby language features to build a strong, scalable server
- User should own/be able to own, all of: (DATA, APP, SRC). The user should have access to every aspect of a program. They should truely be able to own the program, it's source code and any data that it uses. We never lock your data undeletably in the cloud or sell you a fake thin client app !!! Real apps real innovation only.
- Explore non-Rails Ruby development across platforms
- Minimal. Keep the codebase small but accomplish the mission. If most users don't use 90% of features in an app, and the other 10% are there for the people that use them, why should they even be there? Bloatware. Sleek sexy ninja apps are what counts.
- Mobile
- Crossplatform
- No slash commands ever (precludes from sending a path ie /usr/bin/local. Most. Annoying. Thing. In. IRC.)
- Biggest most important one: REFUSAL TO USE ANNOYING SOFTWARE. Things that can be annoying: Large codebase with many unused features. Annoying "features" like slapping people with trouts. Overuse or misuse of UI components or dialog boxes. Annoyingly tracking my location or data or doing 90 million other things than the main purpose of the program. It's unacceptable for users and thus, it is not a GC2 design ideal.