<?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>Forem: Preet Parekh</title>
    <description>The latest articles on Forem by Preet Parekh (@preetjdpdev).</description>
    <link>https://forem.com/preetjdpdev</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%2F125663%2F862b898d-050f-4dd8-b956-3df95d1e3757.JPG</url>
      <title>Forem: Preet Parekh</title>
      <link>https://forem.com/preetjdpdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/preetjdpdev"/>
    <language>en</language>
    <item>
      <title>Would you like a tinder for testing your designs? / Does it make any sense??</title>
      <dc:creator>Preet Parekh</dc:creator>
      <pubDate>Tue, 23 Apr 2019 19:19:52 +0000</pubDate>
      <link>https://forem.com/preetjdpdev/would-you-like-a-tinder-for-testing-your-designs-does-it-make-any-sense-28gg</link>
      <guid>https://forem.com/preetjdpdev/would-you-like-a-tinder-for-testing-your-designs-does-it-make-any-sense-28gg</guid>
      <description>&lt;p&gt;TLDr =&amp;gt; While experimenting with some UI, i quickly realised that i had no idea weather people would actually like it or be comfortable with the design / color. Thus a platform where indie devs/ designers can put up their designs and the human can rate the design in binary (like or not like) by swiping Right or Left. So let's discuss it&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;The Beauty of tinder&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Swipe to rate reveals very valuable and rich metrics, as a swipe is impulsive and 'you' don't have enough time to see weather the border-radius is 8px or not◑﹏◐.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lsgxgyOP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/huqi09h22hx0k4v7n7vw.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lsgxgyOP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/huqi09h22hx0k4v7n7vw.gif" alt="Alt text of image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;em&gt;Important Features&lt;/em&gt;
&lt;/h1&gt;

&lt;p&gt;Left swipe to dislike.&lt;br&gt;
Right swipe to like.&lt;br&gt;
Swipe up for the next post.&lt;br&gt;
Once you've made a decision you can't edit it.&lt;br&gt;
Hold down on a post to reveal further actions such as sharing, etc,&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Maintaining User Retention&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;User onboarding show not be much of a pain as many people are interested in rating design and judging ideas.&lt;br&gt;
A idea that ought to increase the retention and hipness of the service would be to pay the person for swiping (i.e. 100₹ for every 100 ratings/ swipes). Physically I don't know how this would affect the quality of the ratings, but I believe a solid model could be built.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;value&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;As many of you would know most design that we build for our products / experiments are based on our own experiences and hunches. This service would connect you with the people, a simple tool to brainstorm with the masses.&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;strong&gt;Talking Money&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/xTiTnqUxyWbsAXq7Ju/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xTiTnqUxyWbsAXq7Ju/giphy.gif" alt="Taking Money"&gt;&lt;/a&gt;&lt;br&gt;
This service will require some cash for sure&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Two ideas in my mind&lt;/em&gt;
&lt;/h3&gt;

&lt;h1&gt;
  
  
  1. Showing Ad's
&lt;/h1&gt;

&lt;p&gt;Pretty self explanatory, but can lead to decreased user retention and possibly harm the app and it's purpose. Also I don't like ads.&lt;/p&gt;

&lt;h1&gt;
  
  
  2. The other idea involves charging the person posting for money
&lt;/h1&gt;

&lt;p&gt;This does make more sense but again if we're being realistic who's gonna pay.&lt;/p&gt;

&lt;p&gt;So this is what's on my mind. Let's talk. Maybe even build it together&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I'll be down below.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>tinder</category>
      <category>devlive</category>
    </item>
    <item>
      <title>Building Instagram With Flutter - UI Scaffold</title>
      <dc:creator>Preet Parekh</dc:creator>
      <pubDate>Sat, 26 Jan 2019 14:09:17 +0000</pubDate>
      <link>https://forem.com/preetjdpdev/building-instagram-with-flutter---ui-scaffold-iik</link>
      <guid>https://forem.com/preetjdpdev/building-instagram-with-flutter---ui-scaffold-iik</guid>
      <description>&lt;h1&gt;
  
  
  HomePage
&lt;/h1&gt;

&lt;p&gt;Hey how are you??&lt;br&gt;
In this post I will be building out the home page.&lt;br&gt;
The Home Page will be a &lt;a href="https://docs.flutter.io/flutter/widgets/CustomScrollView-class.html" rel="noopener noreferrer"&gt;CustomScrollView.&lt;/a&gt;&lt;br&gt;
Why?? you ask? A Custom Scroll View allows you to use Slivers which essentially is a section of a viewport, meaning you can have a &lt;a href="https://medium.com/flutter-io/slivers-demystified-6ff68ab0296f" rel="noopener noreferrer"&gt;scrollable page consisting of different widgets.&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CustomScrollView(
      slivers: &amp;lt;Widget&amp;gt;[],
    );
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tip :- To use a Normal Widget in slivers just use a SliverToBoxAdapter().&lt;/p&gt;

&lt;h2&gt;
  
  
  App Bar
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyyozsa20lqx6kk5c4fr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwyyozsa20lqx6kk5c4fr.jpg" alt="App Bar" width="800" height="73"&gt;&lt;/a&gt;&lt;br&gt;
The App bar is part of the HomePart , because it is different for every page (Profile, search, etc.).&lt;br&gt;
We use SliverAppBar provided natively by Flutter and can be as a Sliver.&lt;br&gt;
The App bar is set as pinned, so that it remains static even while scrolling up/down, but this can be changed for some interesting UI/UX.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SliverAppBar(
          pinned: true,
          backgroundColor: new Color(0xfff8faf8),
          elevation: 0.0,
          centerTitle: true,
          title: SizedBox(
            height: 35.0,
            child: Image.asset("assets/images/insta_logo.png"),
          ),
          leading: IconButton(
            onPressed: () {},
            icon: Icon(
              Icons.camera_alt,
              color: Colors.black,
            ),
          ),
        ),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://thepracticaldev.s3.amazonaws.com/i/9dgus6e6o80pv1gx8y7t.png" rel="noopener noreferrer"&gt;Link to instagram Logo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom Bar
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favh9gq4pfbf3ydwqieou.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favh9gq4pfbf3ydwqieou.jpg" alt="Bottom App Bar" width="800" height="140"&gt;&lt;/a&gt;&lt;br&gt;
The Bottom App bar is part of the main.dart file under the scaffold widget.&lt;br&gt;
This is because the bottom bar should be constant across all the pages / routes.And will act like a navigation Bar.&lt;br&gt;
The new post button is a FAB with a diamond shape and Docked with the Bottom App Bar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
        floatingActionButton: FloatingActionButton(
          backgroundColor: Colors.black,
          child: new Icon(Icons.add),
          onPressed: () {},
          shape: new BeveledRectangleBorder(
              borderRadius: new BorderRadius.circular(50.0)),
        ),
bottomNavigationBar: BottomAppBar(
          notchMargin: 6.0,
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: &amp;lt;Widget&amp;gt;[
              IconButton(
                icon: Icon(Icons.home),
                onPressed: () {},
              ),
              IconButton(
                icon: Icon(Icons.search),
                onPressed: () {},
              ),
              IconButton(
                icon: Icon(Icons.favorite),
                onPressed: () {},
              ),
              IconButton(
                icon: Icon(Icons.account_box),
                onPressed: () {},
              )
            ],
          ),
        ),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Post
&lt;/h2&gt;

&lt;p&gt;A Instagram POST consists of multiple sections&lt;/p&gt;

&lt;h1&gt;
  
  
  This is how instagram looks and what we will be trying to replicate
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foupobfqtgp3bn4uwsr5l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foupobfqtgp3bn4uwsr5l.png" alt="Instagram Original" width="745" height="925"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The post Widget will contain a column with three childrens.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The first children contain a Row to accomodate a profile image, poster name, and a menu button.&lt;/li&gt;
&lt;li&gt;The second child will be the main image which can be of any size.&lt;/li&gt;
&lt;li&gt;The third child will be be a set of actions such as a like button, comment, send to, and a bookmark button. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You will have to add &lt;a href="https://pub.dartlang.org/packages/font_awesome_flutter" rel="noopener noreferrer"&gt;font_awesome_flutter&lt;/a&gt; and include it in the file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class Post extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: &amp;lt;Widget&amp;gt;[
        Padding(
          padding: const EdgeInsets.fromLTRB(16.0, 8.0, 16.0, 8.0),
          child: Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: &amp;lt;Widget&amp;gt;[
                Row(
                  children: &amp;lt;Widget&amp;gt;[
                    Container(
                      height: 40.0,
                      width: 40.0,
                      decoration: BoxDecoration(
                          shape: BoxShape.circle,
                          image: DecorationImage(
                              fit: BoxFit.fill,
                              image: new NetworkImage(
                                  "https://pbs.twimg.com/profile_images/877903823133704194/Mqp1PXU8_400x400.jpg"))),
                    ),
                    SizedBox(width: 10.0),
                    Text(
                      "The Verge",
                      style: TextStyle(fontWeight: FontWeight.bold),
                    )
                  ],
                ),
                IconButton(
                  icon: Icon(Icons.more_vert),
                  onPressed: () {},
                )
              ]),
        ),
        Container(
          child: Image.network(
            "https://scontent-bom1-1.cdninstagram.com/vp/bbe7af06973ff08e40c46e78b6dbae1b/5CD2BC37/t51.2885-15/e35/49480120_356125811610205_2312703144893486280_n.jpg?_nc_ht=scontent-bom1-1.cdninstagram.com",
            fit: BoxFit.cover,
          ),
        ),
        Padding(
          padding: EdgeInsets.all(16.0),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: &amp;lt;Widget&amp;gt;[
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: &amp;lt;Widget&amp;gt;[
                  IconButton(
                    icon: Icon(Icons.favorite_border),
                  ),
                  SizedBox(width: 16.0),
                  Icon(FontAwesomeIcons.comment),
                  SizedBox(width: 16.0),
                  Icon(FontAwesomeIcons.paperPlane)
                ],
              ),
              Icon(FontAwesomeIcons.bookmark)
            ],
          ),
        ),
      ],
    );
  }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc5yfvo7akrr2xqrx02ei.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc5yfvo7akrr2xqrx02ei.jpg" alt="Flutter Instagram" width="800" height="1235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I have built a UI which is similar to Instagram and really enjoy the developer experience and UI first approach the Flutter Provides.&lt;/p&gt;

&lt;p&gt;Got any questions ask then Below??!&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>instagram</category>
      <category>design</category>
    </item>
    <item>
      <title>Building Instagram With Flutter</title>
      <dc:creator>Preet Parekh</dc:creator>
      <pubDate>Mon, 14 Jan 2019 09:50:16 +0000</pubDate>
      <link>https://forem.com/preetjdpdev/building-instagram-with-flutter-4fg8</link>
      <guid>https://forem.com/preetjdpdev/building-instagram-with-flutter-4fg8</guid>
      <description>&lt;h1&gt;
  
  
  The Idea
&lt;/h1&gt;

&lt;p&gt;In this MultiPart Series &lt;em&gt;I&lt;/em&gt; wish to built a complete, Full Featured, Fast, Open Source Instagram Like App.&lt;/p&gt;

&lt;p&gt;The Basic Idea is to have a Flutter app, powered with a Firebase Backend with support for Adding / Liking / Deleting Images, A Stories Like Thing, Sexy UI and Cool Transitions, Full CI/CD support, Testing, etc.&lt;/p&gt;

&lt;p&gt;The purpose of this exercise is to learn building large scale complex Applications, with high scalability, efficiency, and upgradeability., while also giving back to the community.&lt;/p&gt;

&lt;p&gt;Let's Initialize the flutter app&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    flutter create instagram
    cd instagram
    flutter run
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;You Should have a flutter app running on your phone, running the flutter demo app.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I-wgg6Hp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/1jssdle99gasrtb105z2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I-wgg6Hp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/1jssdle99gasrtb105z2.png" alt="Flutter App" width="800" height="1422"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;This might not look like much but trust me we're gonna build an amazing App trust me 😉.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--A9-wwsHG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/preetjdp" rel="noopener noreferrer"&gt;
        preetjdp
      &lt;/a&gt; / &lt;a href="https://github.com/preetjdp/instagram" rel="noopener noreferrer"&gt;
        instagram
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;backdrop&lt;/h1&gt;

&lt;/div&gt;

&lt;p&gt;A new Flutter project.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Getting Started&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;For help getting started with Flutter, view our online
&lt;a href="https://flutter.io/" rel="nofollow noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/preetjdp/instagram" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


</description>
      <category>flutter</category>
      <category>opensource</category>
      <category>programming</category>
      <category>coding</category>
    </item>
  </channel>
</rss>
