{"action":"created","issue":{"url":"https://api.github.com/repos/lhorie/mithril.js/issues/499","labels_url":"https://api.github.com/repos/lhorie/mithril.js/issues/499/labels{/name}","comments_url":"https://api.github.com/repos/lhorie/mithril.js/issues/499/comments","events_url":"https://api.github.com/repos/lhorie/mithril.js/issues/499/events","html_url":"https://github.com/lhorie/mithril.js/issues/499","id":62792059,"number":499,"title":"Rename \"controller\"","user":{"login":"mindeavor","id":17013,"avatar_url":"https://avatars.githubusercontent.com/u/17013?v=3","gravatar_id":"","url":"https://api.github.com/users/mindeavor","html_url":"https://github.com/mindeavor","followers_url":"https://api.github.com/users/mindeavor/followers","following_url":"https://api.github.com/users/mindeavor/following{/other_user}","gists_url":"https://api.github.com/users/mindeavor/gists{/gist_id}","starred_url":"https://api.github.com/users/mindeavor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mindeavor/subscriptions","organizations_url":"https://api.github.com/users/mindeavor/orgs","repos_url":"https://api.github.com/users/mindeavor/repos","events_url":"https://api.github.com/users/mindeavor/events{/privacy}","received_events_url":"https://api.github.com/users/mindeavor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-03-18T20:30:54Z","updated_at":"2015-03-18T21:51:47Z","closed_at":null,"body":"> My thinking is that \"controller\" is not sufficiently agnostic; the word comes with MVC baggage, yet it's use is very flexible\r\n> [source](https://github.com/lhorie/mithril.js/issues/413#issuecomment-83119984)\r\n\r\n>  It's not that the view context can't serve as a controller, nor that it shouldn't if you choose to use MVC, but that it shouldn't be inferred to be limited to that concept by it's name.\r\n> [source](https://github.com/lhorie/mithril.js/issues/413#issuecomment-83132957)\r\n\r\nSuggestions: scope, context, viewContext, viewctx, state, viewstate\r\n\r\nCounter arguments:\r\n\r\n> While a controller can do many other things I think the MVC \"baggage\" is useful as it's a shared term with an understood meaning that gets the point across. Just because you can use it in other ways doesn't negate the fact that calling it a controller identifies the basic utility of it in a quick way that doesn't force you to learn a new term\r\n> [source](https://github.com/lhorie/mithril.js/issues/413#issuecomment-83122744)\r\n\r\n> Why the word \"controller\" is wrong?\r\n> \"Controllers contain the interface between their associated models and views and the input devices\r\n(keyboard, pointing device, time). Controllers also deal with scheduling interactions with other\r\nview-controller pairs: they track mouse movement between application views, and implement\r\nmessages for mouse button activity and input from the input sensor. Although menus can be\r\nthought of as view-controller pairs, they are more typically considered input devices, and\r\ntherefore are in the realm of controllers.\"\r\n> This is what the controller of mithril is doing right now. Mithril is one of the few frameworks that i really believe is using the MVC pattern correctly.\r\n> [source](https://github.com/lhorie/mithril.js/issues/413#issuecomment-82697803)"},"comment":{"url":"https://api.github.com/repos/lhorie/mithril.js/issues/comments/83197722","html_url":"https://github.com/lhorie/mithril.js/issues/499#issuecomment-83197722","issue_url":"https://api.github.com/repos/lhorie/mithril.js/issues/499","id":83197722,"user":{"login":"lawrence-dol","id":8662551,"avatar_url":"https://avatars.githubusercontent.com/u/8662551?v=3","gravatar_id":"","url":"https://api.github.com/users/lawrence-dol","html_url":"https://github.com/lawrence-dol","followers_url":"https://api.github.com/users/lawrence-dol/followers","following_url":"https://api.github.com/users/lawrence-dol/following{/other_user}","gists_url":"https://api.github.com/users/lawrence-dol/gists{/gist_id}","starred_url":"https://api.github.com/users/lawrence-dol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lawrence-dol/subscriptions","organizations_url":"https://api.github.com/users/lawrence-dol/orgs","repos_url":"https://api.github.com/users/lawrence-dol/repos","events_url":"https://api.github.com/users/lawrence-dol/events{/privacy}","received_events_url":"https://api.github.com/users/lawrence-dol/received_events","type":"User","site_admin":false},"created_at":"2015-03-18T21:51:47Z","updated_at":"2015-03-18T21:51:47Z","body":"@tivac: Of course, renaming it to `ViewContext` does not stop you, in your code, providing a `Controller` as the view-context, using it as a controller, and employing MVC, including continuing to calling it `ctrl` in your view. So you lose nothing from the rename.\r\n\r\nThat would seem to make you ambivalent to the proposal rather than opposed to it; not to put words in your mouth. (Apart from then needed to do a global find/replace of \"controller\" to \"ViewModel\", perhaps?)"}}