<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: GIFable</title>
    <description>The latest articles on DEV Community by GIFable (@gifableapp).</description>
    <link>https://dev.to/gifableapp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F38482%2F11045ea9-cdd2-4773-9d14-e8f9d771f88e.jpg</url>
      <title>DEV Community: GIFable</title>
      <link>https://dev.to/gifableapp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gifableapp"/>
    <language>en</language>
    <item>
      <title>iOS Development Tools</title>
      <dc:creator>GIFable</dc:creator>
      <pubDate>Sat, 16 Dec 2017 20:32:29 +0000</pubDate>
      <link>https://dev.to/gifableapp/ios-development-tools-8hg</link>
      <guid>https://dev.to/gifableapp/ios-development-tools-8hg</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fz2x000sy5wtgm4cn14re.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fz2x000sy5wtgm4cn14re.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have made a list of a few very handy free applications to help you with your iOS development.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cerebralgardens.com/watchdog" rel="noopener noreferrer"&gt;Watchdog&lt;/a&gt; Watches your generated files and cleans them up automatically. Great if you have every had to clear your derived data manually.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/robbyrussell/oh-my-zsh" rel="noopener noreferrer"&gt;oh-my-zsh&lt;/a&gt; Revamp your terminal with a more modern feel. Themes and aliases can be great for improving your workflow and saving you time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://medium.com/@zeplin_io" rel="noopener noreferrer"&gt;Zeplin&lt;/a&gt; A UI designing and sharing tool. A cool feature is being able to download icons direct from a mock with all the sizes required for Xcode.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://alcatraz.io/" rel="noopener noreferrer"&gt;Alcatraz&lt;/a&gt; The missing package manager for Xcode, plenty of add-ons to help your development so have a look.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/dsmelov/simsim" rel="noopener noreferrer"&gt;SimSim&lt;/a&gt; Quick access to your simulator's folders. Handy for getting to your database files etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://sqlitebrowser.org/" rel="noopener noreferrer"&gt;Sqlite Browser&lt;/a&gt; Simple database browser, its great for looking into your app's database and figuring out bugs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.charlesproxy.com/" rel="noopener noreferrer"&gt;Charles Proxy&lt;/a&gt; Capture all network requests to your app and make sure everything is looking good. Handy for quickly blaming the server for bugs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.getpostman.com/" rel="noopener noreferrer"&gt;Postman&lt;/a&gt; A useful tool to send network requests to your APIs. Great for testing the format of data to be sent to the server or returned from it. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.gitkraken.com/" rel="noopener noreferrer"&gt;Git Kraken&lt;/a&gt; If you don't like terminal based Git then this GUI top notch. Visualising the branches graph can help a lot in complex projects. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://theapplaunchpad.com/" rel="noopener noreferrer"&gt;App Launch Pad&lt;/a&gt; Quick an easy customised screenshots. Show off your app to its full potential and make sure you get it into the hands of people that want it!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://get.fabric.io/" rel="noopener noreferrer"&gt;Fabric&lt;/a&gt; One of the better analytics platforms that will allow you to log crashes and custom events. The more you know about the usage of your app the better you can make improvements. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://gifable.co.uk/" rel="noopener noreferrer"&gt;Gifable&lt;/a&gt; &lt;strong&gt;Record your screen as a Gif&lt;/strong&gt;. Great for showing everyone what you have made. It's not free but its pretty cheap.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Being more efficient at your work helps you get more done. If you know any more great apps to add to this list comment below and we will add them in.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>devtips</category>
      <category>productivity</category>
      <category>ios</category>
    </item>
    <item>
      <title>Top tips to write the perfect pull request  </title>
      <dc:creator>GIFable</dc:creator>
      <pubDate>Mon, 23 Oct 2017 22:35:50 +0000</pubDate>
      <link>https://dev.to/gifableapp/top-tips-to-write-the-perfect-pull-request-b59</link>
      <guid>https://dev.to/gifableapp/top-tips-to-write-the-perfect-pull-request-b59</guid>
      <description>&lt;h1&gt;
  
  
  What is a pull request?
&lt;/h1&gt;

&lt;p&gt;If you work in a smaller team or for an organisation that doesn't use &lt;a href="https://en.wikipedia.org/wiki/Git"&gt;Git&lt;/a&gt; then you may not be familiar with a pull request (PR). In short its a brief description of the changes you wish to add to a shared codebase, you are trying to give as much context to the changes as possible to help the development team review your code.&lt;/p&gt;

&lt;h1&gt;
  
  
  First point of contact - The Title
&lt;/h1&gt;

&lt;p&gt;This is the first thing any developer will read, use it to set the context of your changes and why they are necessary. Keep it short but describe exactly whats happening.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bad&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lMpTQio6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/blkj7pkivrf7iyw4k1jp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lMpTQio6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/blkj7pkivrf7iyw4k1jp.png" alt="alt text" title="Updates to the vc"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Better&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L_KM_ady--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/37kb4zfv07e63ug4w5q6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L_KM_ady--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/37kb4zfv07e63ug4w5q6.png" alt="alt text" title="Text updates to the view controller"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Good&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o5RveHlz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tnsuuwhjeyohblp02ppf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o5RveHlz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/tnsuuwhjeyohblp02ppf.png" alt="alt text" title="Updating the `MainViewController` description text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Clarity is key
&lt;/h1&gt;

&lt;p&gt;The sole purpose of the description you write is to aid the developers reviewing your changes, include as much detail as possible about the updates made. Both as a high level user interface description and also a detailed explanation of any parts of the code changes that may be hard for others to understand. &lt;/p&gt;

&lt;h1&gt;
  
  
  What to include
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A link to feature specification&lt;/strong&gt; - Generally new features are defined in a format that is linkable to your PR, including this link will allow reviewers to get the full context of the changes made.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A brief summary of the feature spec&lt;/strong&gt; - If you have made a small change then help out the developers by saving them a click, summarise the changes requested in the PR description. Include the link as well just in case.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The approach you have taken and why&lt;/strong&gt; - Did you implement your description text using a recursive heuristic algorithm rather than a simple hard coded string? You better explain your reasoning why. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Risk and Areas of concern&lt;/strong&gt; - Are you not quite sure if the code you have changed will have repercussions elsewhere in the codebase? Its always best to raise this as soon as possible maybe Dave the team rockstar will know more.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Formatting is king
&lt;/h1&gt;

&lt;p&gt;In the land of good PRs the pretty ones always win. As a general statement &lt;a href="https://en.wikipedia.org/wiki/Markdown"&gt;Markdown&lt;/a&gt; is used to format PR descriptions in the main players of Git hosting. Make use of lists, titles, sub-titles, and links. If its easy to read you will be more likely to get a review of your changes. &lt;/p&gt;

&lt;h1&gt;
  
  
  Images and Gifs
&lt;/h1&gt;

&lt;p&gt;If an image says a thousand words then a Gif says a million. Of course we would say that being associated with a screen recording application on macOS and to be fair images are good for showing static changes to the UI. But if you want to give the full context of a substantial change then a Gif is the way to go, it will set your PRs ahead of the pack and really help the developers see whats happening without running the changes themselves. &lt;/p&gt;

&lt;h2&gt;
  
  
  Gifable
&lt;/h2&gt;

&lt;p&gt;Gifable is a super-simple screen recording tool that makes GIFs for you in seconds. Record the changes you have made and upload the &lt;code&gt;.gif&lt;/code&gt; file to your PR description as an image link. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gFqEwdVB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3tdjln90vxk4s8o1h3xq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gFqEwdVB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3tdjln90vxk4s8o1h3xq.gif" alt="alt text" title="Gif of a ascii train driving across the terminal screen"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We hope this blog was helpful, try out the app if you feel it would be useful and happy coding!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://goo.gl/nEu63Q"&gt;Gifable Download (MacOS only)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://goo.gl/BSe3ea"&gt;Gifable.co.uk&lt;/a&gt;&lt;br&gt;
&lt;a href="https://twitter.com/gifableApp"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
    </item>
  </channel>
</rss>
