Ask HN: review my startup Wiki-OS, the first webOS developed the wiki way
This is the first web OS that is developed the wiki way.
Every window and every major component has an "Edit" button that allows end-users to instantly access the corresponding source code. A built-in IDE allows making changes to the applications. The changes are instantly propagated to the other users, and they are displayed by order of popularity.
This "wiki-like" system makes it very easy to reuse code from other applications, to share common components, and to build upon others' work instead of often reinventing the wheel. Furthermore, initial developers of an application can easily hand over development to the community, as integration is based on popularity mechanisms instead of manual work.
The current "Developer Preview" version is based on the .NET Framework, but we are working to support other platforms as well, including Mac OS X.
A 40-second video overview is available at: http://www.wiki-os.org/what_is_wiki_os.htm
Thank you in advance for your feedback and advice.
43 comments
[ 4.2 ms ] story [ 94.3 ms ] threadThat doesn't sound like abuse to me :-)
In the meantime, to enter Wiki-OS, please navigate to this website using Windows XP, Windows Vista, or Windows 7."
Seriously? Like, really seriously? You guys like irony, yes?
It's a dupe as well by the way:
http://news.ycombinator.com/item?id=712242
If you as a timestrained startup start developing for multiple platforms before you've got the resources to do so on the other hand then you have a problem.
It's all about resources and business.
It looks good on the video though, and the few bits of screenshot also look pretty slick.
Did you notice the EyeOS link posted by ErrantX earlier today ? How does what you are doing compare to that ?
I looked at both: EyeOS seems to have some nice apps, but no notion of instant-edit like wikiOS. Personally, EyeOS is just another webOS, but with wikiOS, the wiki-factor might make it into something completely different. Hard to tell how much of a game changer it is.
Unless you'r core audience is HN of course :-)
EDIT: sorry wasn't trolling - I meant this identical message :) I had deja-vu. I only ask because I cant see a difference?
You would probably have to set this up so there is a some kind of demarcation between people who want the "role" of user or developer .. and the intermediate roles. You need to be able to use it simply without wanting to edit it.
Also, if it's "WikiOs" - why the fu do I need Windows?
Granted, most of the people who use Wikipedia aren't article editors, but that's okay, and I could see most Wiki-OS users being there to just use the apps, with a minority of devoted developers. Personally, I think this is a really cool idea
Security? If changes to apps are "instantly propagated to other users", what's to stop me from editing an app so that it grabs another user's personal data when they next run it? You probably want a model more like Github where anyone can fork and pull, but not push to other users.
YouOS was YC-funded and failed, right? Why did they fail and how are you going to do better?
(ducks)
How does it handle vandalism? It seems to me that vandalism could be a lot more devastating in this environment than in, say, Wikipedia.
- there is no sensitive data to steal
- there is low motivation to vandalize (whereas some wikipedia articles are highly controversial)
- it requires more effort to vandalize an application (the code is not saved if there is a syntax error) than to vandalize a Wikipedia article.
- the sandbox in which the applications run ensures that the user's computer is not accessible from the application.
However, for applications that manipulate personal data, there is indeed a challenge. At present, sensitive portions of the OS require moderators approval in order to be modified. We are also working to implement code access security systems to address this issue. But for the time being, we indeed recommend not entering personal or sensitive information.
Furthermore, people are encouraged to add new features and create alternatives instead of modifying the existing classes, so that the popularity-based mechanisms do the job. For example, the "Filters" menu of the "Image Editor" is automatically populated with all the classes that inherit from the IFilter interface, sorted by popularity.
> there is no sensitive data to steal
What would I use this for? Is it simply a system to propagate programs to users? (Collaborative software development?) Will my data be on the WikiOS or on my hard drive?
> there is low motivation to vandalize (whereas some wikipedia articles are highly controversial)
Motivation can not be predicted in advance. If I make a program, could not a competitor add a change that "accidentally" introduces a security hole?
> sensitive portions of the OS require moderators approval in order to be modified
What would you define as sensitive?
> We are also working to implement code access security systems to address this issue.
What is your planned security model?
I like the fact that its is sandboxed from the host. Can a program on the WikiOS interact with host programs and if so, to what degree?
The sandbox allows for OpenFileDialog and SaveFileDialog, so you can directly access user-specified files on the hard drive.
There is also an online storage, but it is currently in the alpha stage. For the moment we recommend using the open/save dialogs and work with local files.
> If I make a program, could not a competitor add a change that "accidentally" introduces a security hole?
A competitor may indeed commit acts of vandalism, just like on any other web 2.0 site. However, we work hard to ensure that such illegal acts cannot - by design of the system - lead to security holes.
> What would you define as sensitive?
Currently, all the classes that are involved in the boot sequence (from the startup to the moment you see the desktop) are marked as "critical" and can only be modified by moderators. Furthermore, the "Code Editor" and the "History" applications are also marked as "critical" so that it is always possible to undo vandals changes.
> Can a program on the WikiOS interact with host programs and if so, to what degree?
No, a program on Wiki-OS cannot interact with programs running on the host machine, except through the OpenFileDialog, the SaveFileDialog, and a few other very controlled features of the sandbox.
On a similar note, is any of the code run on the server side? If so, how do you prevent DoS attacks? Are there checks in place to make sure that I don't create an infinite loop or allocate a ridiculous amount of memory?
Please report the error to the administrators. --------------------------- OK ---------------------------
Regardless, I think the real problems with the whole idea of a "web OS" are the fact that it doesn't actually do anything remotely OS-like (besides launching applications and interfacing with the browser) and that the market for a product like this is so crowded that you really need to innovate in order to stand out (frankly, wiki-based development isn't "enough").
However, I do think that the "wiki approach" to application development has some merit: personally, I would much rather see this concept being integrated into an existing open-source system like Linux, however, it would need to be able to play nicely with version control, among other things.
All in all, I think it's a good concept and an interesting approach, and I am looking forward to seeing what comes out of it.
Launched a few apps, and it seems that any fonts (/sizes?) that haven't been used by IE aren't visible in FF. (That's my W-A-G anyway)
Intellisense in .cs editor please. :)
For example, the window manager and the taskbar source code can be found in the project named "WindowManager".
You can also see the list of contributions (sorted by date) by launching the "History" application. For the list of changes of a specific project, open a project in the Code Editor and then click "Social" -> "View history of changes".
I'd recommend taking your code-editor app and replacing the web-OS bit with that. Then, instead of OS-and-apps, you do editor-and-extensions, applying your wikiable-app stuff to the extensions.
Or, instead of an in-browser code editor extensible with a web ecology of C#, do a similarly extensible email/groupware app. Or a collaboration space a la Sharepoint/Clearspace.
Or hell, do HyperCard. A blank space for slapping down fields and buttons, writing code into them all, and packaging up the whole shebang into something that others can in turn include and build on.
Any of those'd be exciting. Web OSes, though? I already have an OS and it works fine.
"Make Something People Want."
That was surprisingly easy and fun. I think you've got something here, but it clearly has a long way to go.
I'm a bit rusty, but I spent a little bit writing a Font Dialog and modifying the default Notepad to use it. I think the entire premise of allowing users/devs to edit and create apps is a really great idea.
My feedback so far would be more documentation of the Core classes, unless those are intentionally off limits for now, and figuring out how to clean up the dozens of test apps cluttering up the menus. :)