Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While I think this is exaggerated I also think there is truth to it. I would not blame this on inability to make quality products but bad high level choices. What is xCode today used to be multiple separate apps. The synch process for iPhone used to be separate programs. Now we are getting these huge monolithic programs like xCode and iTunes. Making big monoliths just isn't good software engineering IMHO. They should stick more to the original sound Unix philosophy. Make smaller apps which do a few things well. I think if users find it cumbersome to use multiple programs together, then the solution isn't to combine them all into one but to create an Operating System environment which makes it easy to use multiple programs together.

I think xCode e.g. which I use every day could easily be made into 3 different programs. 1) Project management and configuration. One program where you define which pieces go into your project. How they are compiled, deployed etc. 2) An Editor component which does syntax highlighting, refactoring, code navigation etc. 3) A GUI designer.

Sure integration has its benefits. But it also has many big disadvantages. Many people like to use different editor components, e.g. AppCode does refactoring and code navigation better in many people's view than xCode. Yet it becomes an incomplete solution as they do not have as sophisticated GUI design and project management tools. But it these were separate tools which could just as well be used with AppCode one could inspire much more diversity.

Likewise the monolithic iTunes locks out any kind of alternative third party solutions. There should be one synching applications which can sync content like pictures, books, music etc. But that is all it should do. Movies, Music, Apps etc should be separate apps and we should allow alternative third party alternatives to these. People might want other ways to display and organize their iTunes music e.g.



"I think xCode e.g. which I use every day could easily be made into 3 different programs. 1) Project management and configuration. One program where you define which pieces go into your project. How they are compiled, deployed etc. 2) An Editor component which does syntax highlighting, refactoring, code navigation etc. 3) A GUI designer."

We used to have that. The GUI designer being separate was never a good situation, considering how one would connect the IBOutlets and IBActions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: