{ "id": "171023", "key": "TIMOB-25745", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2018-02-03T19:32:14.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:44.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [], "description": "Writing down a few ideas that popped into my head recently. This one covers a functionality that displays a modal window when launching the app for the first time after an SDK update (e.g. 7.0.2 to 7.1.0) with a change log of the tickets that have been addressed. It's meant to improve the general developer experience by letting devs know what actually changed (especially cool for new features that are being introduced or breaking changes that can be overseen). \r\n\r\nTechnically, it could be pretty simple:\r\n# In the CLI, we are already able to detect if the version inside the tiapp.xml changed\r\n# Inside that, we prepare a precompile flag that is passed to the native build, e.g. {{SDK_UPDATE=7.1.0}}. This can then be loaded by the app\r\n# The app then check for the constant, and if available, it constructs a simple dialog that a) displays the message, e.g. \"Welcome to 7.1.0, would you like to check out the changelog?\" and \"Don't show this again\" in case they do not want to receive this kind of updates again. \r\n\r\nDiscussion welcome.", "attachment": [], "flagged": false, "summary": "Show in-app changelog when upgrading the Titanium SDK", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "434001", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "Interesting idea!\r\n\r\nOne thing to add: it should of course only happen in dev-mode, so it won't appear in a live app!\r\n\r\nAnother good point to add the changelog would be the place in the CLI when you download/upade the new SDK. So when it is ready, show a output in the console.\r\n\r\nPeople update the SDK when they get informed that there is a new SDK (e.g. in the appc-blog) and the changelog is listed there so it might be annoying or even a scary feeling when you have a popup in your app that suddenly shows a changelog( \"is it visible in the store app?\"). Or they download it via appc studio and (I think) the changelog is listed there already?\r\n\r\nPut a popup in the atom plugin if there is a SDK change detected.", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-02-03T20:15:52.000+0000", "updated": "2018-02-03T20:15:52.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }