Skip to content

Commit

Permalink
first blog
Browse files Browse the repository at this point in the history
  • Loading branch information
seesharpguy committed Apr 27, 2024
1 parent 80b3676 commit 1be4d59
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 6 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,7 @@ npm install
```
npm run start
```

## Blogs

https://docusaurus.io/docs/blog
75 changes: 75 additions & 0 deletions blog/04-26-2024.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: The Making of Y.A.S.S. Spider Solitaire
description: Dive into the humorous tale of developing Yet Another Spider Solitaire, an iOS and Android game built with Flutter and Firebase.
slug: making-yass-spider-solitaire
date: 2024-04-26
authors:
- name: Ryan Sites
title: Co-Founder ThreeTen Labs
url: https://github.com/seesharpguy
image_url: https://avatars.githubusercontent.com/u/3216346?v=4
tags: [Y.A.S.S, flutter, firebase, getx, mobile development]
image: https://avatars.githubusercontent.com/u/150145651?v=4
hide_table_of_contents: false
---

<head>
<meta name="keywords" content="Y.A.S.S., Spider Solitaire, Flutter, Firebase, GetX, game development, mobile apps" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="preconnect" href="https://threetenlabs.com" />
<script type="application/ld+json">
{JSON.stringify({
'@context': 'https://schema.org/',
'@type': 'BlogPosting',
headline: 'The Making of Y.A.S.S. My Journey in Yet Another Spider Solitaire',
image: 'https://avatars.githubusercontent.com/u/150145651?v=4',
author: {
'@type': 'Person',
name: 'Ryan Sites',
url: 'https://github.com/seesharpguy'
},
publisher: {
'@type': 'Organization',
name: 'Three Ten Labs',
url: 'https://threetenlabs.com',
logo: {
'@type': 'ImageObject',
url: 'https://avatars.githubusercontent.com/u/150145651?v=4'
}
},
datePublished: '2024-04-26'
})}
</script>
</head>


**Hey everyone!**
After a rigorous, caffeine-fueled 8 months, we've completed our first mobile game, Y.A.S.S. — Yet Another Spider Solitaire. And yes, I hear you chuckling! "Yet another one?" Absolutely, because clearly what the world needs is another version of Spider Solitaire on iOS and Android. Trust me, ours has its own set of features that hopefully differentiate it from others!

## Why Y.A.S.S. you ask?
Around August of 2023, I was in a conversation with my friend and co-founder of ThreeTenLabs (more on that in a moment). I had mentioned to him that I had been spending some time with [Flutter](https://flutter.dev/) to get myself more familiar with cross-platform development. He responded with immediate excitement and exclaimed that he too have been exploring Flutter, and in fact had begun developing a Spider Solitaire game in his effort to dip his toes in the water.
We decided that day, that we should join forces. I help him with the game, and he helps me with the idea that I had for a game (more on that in a moment as well). We knew that it would behoove us to start an LLC, and since we both have birthdays on the 10th day of March, ThreeTen Labs was formed. And since we are both software engineers, HUGE fans of acronyms, and even bigger fans of facetiousness, YASS (Yet Another Spider Solitaire) was born.

## Choosing Our Tools
The tech stack was a major decision from the get-go. As noted before, Flutter was the bedrock technology that allowed us to share the same codebase across multiple target platforms, and known for its beautiful native interfaces. We needed a backend, for transactional reads and writes of data, to help keep things secure, for in-app messaging, monitoring, authentication.
Crashlytics allowed us to watch it crash (a lot! - and tell us why), and Analytics gave us the ability to see all `three` people use our app (hi mom!). Firebase gave us as a small startup to scale our infrastructure up as the traffic of our game will, so for us it was a no-brainer.

## Flutter Takes Flight
Embarking on our Flutter journey felt like stepping into the cockpit of a sophisticated aircraft. At first glance, the array of buttons and controls was overwhelming, but as we gained familiarity, we found ourselves piloting a state-of-the-art machine capable of flying high across multiple platforms. Flutter's strength lies in its seamless operation across Android and iOS, coupled with its stellar integration with VS Code, providing an IDE that felt like having an expert co-pilot. Navigating the iOS ecosystem occasionally felt like flying through turbulent weather—challenging yet thrilling. The end result? An app that performs splendidly on both vintage and the latest devices, crafted to perfection.

## GetX to the Rescue
If Flutter turned us into skilled pilots, GetX was our advanced navigation system. Its approach to reactive programming was straightforward, guiding us through complex state management scenarios with precision. Think of it as having a top-tier GPS that not only predicts the traffic (or app states) ahead but also suggests the best routes (or data flows). This tight integration between controllers and views acted like a well-oiled autopilot, enhancing our development speed by minimizing manual coding and maximizing efficiency. Some critics say GetX may try to handle too much, like an overenthusiastic autopilot, but in our quest for efficient delivery, we found its capabilities to be exactly what we needed to stay on course without any hiccups.


## Lessons Learned
Here are some nuggets of wisdom from my time in the trenches:
- **Embrace the documentation**: It's like the map to the treasure. Read it, cherish it, and keep it under your pillow.
- **Test on all the devices**: Just because it looks good on your flagship device, doesn’t mean it will shine on all devices. Diversity in testing equals fewer angry emails.
- **The user is king**: Feedback is golden, even if it's from Aunt Marge who still uses a flip phone.
- **Laugh at the bugs**: You'll meet many. Treat them like whack-a-mole; it's more fun that way.

## Shameless Plug
If you're curious about Y.A.S.S., you can check it out on the [App Store](https://apps.apple.com/us/app/y-a-s-s/id6472488148) and [Google Play](https://play.google.com/store/apps/details?id=com.threetenlabs.spidersolitaire). And if you're feeling generous, leave a review! We're always looking to improve and make the game more enjoyable for everyone.

## In Conclusion
Building Y.A.S.S. has been a roller coaster. There were highs (it runs without crashing!), lows (it crashes!), and lots of learning. Would we do it again? Not only would we, but we're already planning our next game! Remember, when we started this conversation, I mentioned I had an idea for a game as well! Stay tuned for the next blog! We plan on sharing our journey with you all!
7 changes: 1 addition & 6 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,7 @@ module.exports = {
},
hideOnScroll: true,
items: [
// {
// to: '/games/',
// activeBasePath: 'docs',
// label: 'Games',
// position: 'right',
// },
{to: 'blog', label: 'Blog', position: 'right'},
],
},
footer: {
Expand Down
1 change: 1 addition & 0 deletions static/ads.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
google.com, pub-6567607821330847, DIRECT, f08c47fec0942fa0

0 comments on commit 1be4d59

Please sign in to comment.