Skip to main content

A month of Flutter: a look back


Originally published on bendyworks.com.

This is it. 31 blog posts in 31 days. Writing a month of flutter has been a ton of work but also lots of fun and a good learning experience. I really appreciate how supportive and and positive everyone as been.

Publishing experience

For the series I've been posting on bendyworks.comDEVmy personal blog, and Medium. After publishing to these sites, I would put the Bendyworks link on TwitterReddit, and the Flutter Study Group Slack.
Posting to DEV was easy as they use Markdown just like the Bendworks blog. DEV also has built in support for a series of posts so it's easy to read the entire series. I did have to manually upload any embedded images. DEV also has a number of liquid tags for embedding things like GitHub issues that I didn't make as much use of as I should have.
Blogger is rich text so it was easy to copy/paste the rendered posts. This would hotlink all the images though so I had to remove them and manually re-upload them.
Medium will only support canonical links if you import from a URL for some reason. They would grab any images and host them on their CDN so no manual uploading. Importing would lose all the code snippet formatting though so I would have to fix all of that.

Engagement

Bendyworks received the most page views which is not surprising since those were the URLs shared on Twitter/Reddit/Slack. DEV was second with with Medium and my blog getting negligible views.

For engagement DEV was the leader with lots of ❤️ and Twitter close behind. Reddit had some upvotes but not that many and only a few claps came from Medium.

The real breakout for me here was DEV. I had never posted anything or used it much but I found the community very friendly and engaging. I received a lot more activity from the 600+ followers up built up there than the almost 9000 followers I have on Twitter. If you're not on DEV yet, sign up and follow me.

Goals

Kicking off I had three main goals
  • Become a better Flutter developer
  • Practice writing concise blog posts
  • Practice writing project requirements
I certainly become a better Flutter developer and learned a lot along the way. I would like to try more architecture patterns but the need to always be publishing didn't leave me with much room for exploration. Maybe I could have written more "I tried this and here why it didn't work" posts but I felt pressure to always deliver progress.
I am much better at throwing words onto a page and coming out with a decent post. One aspect of blogging that I constantly struggle with is keeping posts small and digestible. It's easy to get into the mindset that posts have to be long and perfect. Short and to the point is usually better though.
Working on improving project requirements kind of fell by the wayside as I tried to keep up with posting every day. It just wasn't a priority.

App

The app isn't done yet but it has Sign in with Google, a home stream, and fancy animations.

AnnotatedRegion

Miguel submitted a pull request fixing a bug on Androidwhere the bottom navigation theme would break on sign in. He fixed it by wrapping the HomePage Scaffold in an AnnotatedRegion widget.
AnnotatedRegion<SystemUiOverlayStyle>(
  value: lightSystemUiOverlayStyle,
  child: Scaffold(/* ... */),
)

Thanks

A huge thank you goes to Pearl for proofreading every single post and reviewing all the code, sometimes late at night at the last minute. I couldn't have done a month of Flutter without her help.
Thanks also to: Unsplash for all the featured images. @NinaLimpi and unDraw for the fantastic illustrations@tommy_emo_ for the awesome icon.
All of you for reading along and your feedback and support.

What's next

I'm going to keep developing Birb and writing about it as "a month+ of Flutter". Just don't expect posts every day. For example I'd like to finally get a readme written and take a second look at something I didn't get running before.
Follow me on Twitter and DEV for future posts and GitHubfor code changes.

Code changes

Popular posts from this blog

Little known @Twitter and @TwitterAPI tips and tricks

Be sure to comeback as new tips and tricks get added. If you know of anything I missed be sure to let me know.

Static URL for profile images based on screen_name:

https://api.twitter.com/1/users/profile_image/abraham

* This performs a http redirect to the actual profile image URL. Currently https redirects to http. You can also add "?size={mini | bigger | normal}" to get specific sizes.

Redirect to profile based on user_id:

https://twitter.com/account/redirect_by_id?id=9436992

In_reply_to_status_id mentions:

https://api.twitter.com/1/statuses/update.json?status=reply+to+@abraham&in_reply_to_status_id=12410413197

* In the web interface new mentions are only replies if they start with @screen_name. By pushing @screen_name further along in the string your followers who do not follow @screen_name will still see the status.

Profile image sizes:

http://a3.twimg.com/profile_images/54160223/chart-black-small.png

* By default you get the original image size you can add _mini, _normal, and …

Installing Storytlr the lifestreaming platform

"Storytlr is an open source lifestreaming and micro blogging platform. You can use it for a single user or it can act as a host for many people all from the same installation."

I've been looking for something like Storytlr for a few months now or at least trying to do it with Drupal. While I love Drupal and FeedAPI I did not want to spend all that time building a lifestream website. So I've been playing around with Storytlr instead and found it very easy. Here is how I got it up and running on a Ubuntu EC2 server. You can also check out the official Storytlr install instructions.

Assumptions:
LAMP stack installed and running.Domain setup for a directory.MySQL database and user ready to go.Lets get started!
Get the code: wget http://storytlr.googlecode.com/files/storytlr-0.9.2.tgz tar -xvzf storytlr-0.9.2.tgzYou can find out the latest stable release on Storytlr's downloads page.

Import the database:
Within protected/install is database.sql. Import this into your empt…

Sync is currently experiencing problems

Update: I now recommend you install Google Chrome and disable the built in Browser as it supports encrypting all synced data.

After picking up a gorgeous Galaxy Nexus yesterday I was running into an issue where my browser data wasn't syncing to the phone. After a little Googling I found this is commonly caused by having all of my synced Chrome data encrypted instead of the default of only encrypting the passwords. These are the steps I went through to get my dat syncing again without losing any of it. The exact error I was getting was "Sync is currently experiencing problems. It will be back shortly."




In Google Chrome open the personal stuff settings page by clicking this link or by opening the wrench menu, and click on "signed in with example@gmail.com".  Hit "disconnect your Google Account" to temporarily disable syncing from your browser.



Visit the Google Dashboard and "Stop sync and delete data from Google". I waited until the stored dat…