Yes, I want this

Daniel Gauthier: “From the moment you decided to get into iOS development, your career has been coloured by this vague idea that true success in this industry is nearly or completely single-handedly building something that grabs people’s attention. At the end of it all, you don’t just want to be “[Your Name Here]”. No, at the pinnacle of this climb, you want to be known as “[Your Name Here], creator of [Your Brilliant and Beloved App]”. Of course, rationally, you know there are loads of people who are living successful and fulfilling careers as employees at great companies, but a big part of you still feels that, as someone who can competently design and build software, you are uniquely positioned to create your own life’s work. That’s what you’ve been led to believe, anyway. And isn’t that the dream? Wouldn’t it be a shame not to try? You’re tired of deferring your dreams to your future self; it’s time to act!”

This is how I’ve felt for a decade, at least. A couple years back a friend transferred the code for his blogging application to me. I thought “This is it!” I’m going to get to work on an application loved by many and make my way into the indie development scene. Oh, and yes, I’m going to make a living doing it. Along the way I realized how much work it was going to be. After chatting with folks on Slack and other places I decided I should do something small. Something that I could complete in a short amount of time to prove to myself I could pull it off.

Here I sit. Two years later with Stream, my Twitter-like feed reader, about 80% complete. Oh, and I only have the iOS version that far along. The Mac version has a shared core but the UI is just a shell. After missing many self imposed deadlines, a change is jobs, and a move from California to Virginia, I’m finally back to work on it and I’ve made some good headway. But, then I kind of need to do the Mac version, right? Well, maybe not.

As much as I’d love to do the Mac version I may set that aside in favor of doing the thing I’ve always truly wanted to do: a diagramming tool. You see, I worked on a great Windows drawing and diagramming application; Visio. I had the pleasure of working with some amazing people for 10-years, over two separate stint with the company. I still miss the people and the product to this very day. It was the best time of my working life, but I digress.

On to the what I’m trying to decide. Do I finish off the Mac version of Stream or do I move ahead with my lifes dream of building a cross platform drawing and diagramming tool? Yes, you read that right, I want it to be cross platform. The idea would be to ship it on iPad first followed by Mac and Windows. My estimate, given the time I have to work on it at home, and how slowly I code, comes in at around 10-years time. Who wants to wait 10-years to complete a project? I don’t really want to but if I want to pull this off I have to put my head down and commit to it. Hell, there’s a chance desktop software will no longer exist in 10-years time. It may all be web stuff (ack!)

When I read Daniel’s piece I said “Yeah, that’s me.” It’s been me for well over a decade. I’ve sat on my butt dreaming about it but never writing a single line of code to pull it off.

I’ve discussed this with my wife over and over and over. I’d love to quit my day job and focus my efforts on my dream. That can’t happen, but I can shift my focus to begin working on the app of my dreams.

Here’s hoping I can get my act together. This is my retirement plan, writing and supporting an application until I drop dead behind the keyboard.

I’m not going back to the office until corona virus cools off for a while.

I’m grateful I work for a company that’s allowing employees to work from home when they feel the need to.

I felt that need today.

Stream Features and Bug Reporting

I Love RSS!Open Stream for iOS issues, if you’re interested. I’d imagine some of these will miss the 1.0 cut.

Please add anything you’d like to see or report a bug. I will look through everything reported and will decide what release it should go into or if I’ll do it at all.

I’ve been able to pick up the pace recently, just a bit. It still feels like I have a long way to go, but I do like that I’ve made quite a bit of progress with the last two BETA builds.

I have some bug fixes coming in the next build but I need to work through some UI improvements before doing it.

Watch this space.

Current iOS springboard.

Just wanted you two to know MB feeds look good in my upcoming feed reader: Stream. It’s been a long time in coming - and still needs work - but it’s stable and useful today. @manton @macgenie

I expect WWDC will be canceled this year over Coronavirus fears.

I’m just a weird dude. I now want a 2013 Mac Pro, because reasons.

Drafting posts for Micro.blog

Since switching to Micro.blog as the publishing system for my weblog I’ve been on the hunt for a good way to write posts in a draft form. I tried Bear and I love how it works, it’s absolutely beautiful. I was really close to purchasing the yearly subscription, then I realized I’m paying for Evernote.

I’m really torn. Both applications sync, both have text editors, but I use Evernote for clipping web pages and organizing by categories and tags. As far as I’m aware Bear doesn’t have anything comparable?

I didn’t realize sync was going to be so important to me. I guess I was spoiled by WordPress. I could start a post and revisit it. Micro.blog doesn’t have such a thing but I have a need to start on my iPhone and finish on my Mac or vice-versa. Update: Micro.blog does support drafts. Thanks, Mitch! If MarsEdit had an iOS version I’d definitely consider pulling the trigger on Mac and iOS versions.

If you’re using Bear or Evernote I’d love to know how you use them. If you have a different solution please share that.

Rose

Anyone know if Apple developed TV for Roku in house? It’s not up to what I would consider Apple standards. It buffers and stutters, a lot. I suppose it could be their streaming backend? Do they do it themselves or use another service for that? 🤔

Hope is fading.

From a co-worker on Slack: “The entire internet is held together with wet string and carefully arranged paper clips.” Truer words were never spoken. 😀

Developer Confessions

I’ve been an iOS Developer for just over 10 years now - 30 years of professional experience overall - and I still suck at Interface Builder and Auto Layout. 🤪

Stream Update

I’ve been able to work a little bit on my beloved side project, Stream. For those not following along, or those that have forgotten, Stream is my Twitter-like News Reader.

Life changed pretty dramatically for is over the past nine months or so. Our daughter, grand daughter, and son-in-law moved to the east coast. Kim and I had a two year plan in place to move back east so we could be near them, living in California doesn’t make for easy day trips to visit when we want. That is another story all together. Suffice it to say serendipity struck and we moved the timeline up, way up.

We arrived in Virginia November, 1 and moved into our new home. Yes, it was extremely fast. All the work surrounding the move meant I really needed to focus on all things related to the move and let the side project sit. Now that we’re settled in our home and I’m settled in at work I finally got Stream out of moth balls and worked on it a bit.

Crashing Sucks

I had sent out a few TestFlight builds to folks but I knew where the ugly parts of the code were. I pushed it out way too soon, I realized that after a couple builds. I should have finished all features before user testing became a thing. Live and learn.

I found two things that bugged me more than anything else; the app would crash on occasion and syncing feeds was way too slow.

A couple weekends back I was able to plant myself on the couch and work through the performance issue and the crasher. I can thank Brent Simmons for the most significant performance wins. His blog posts, tweets, and Slack messages about feed reading and general Cocoa Framework oddities have proven invaluable. I only hope I can pay his kindness forward at some point. Thanks, Brent.

Ok, on with the wins. The first two tips I picked up.

Handle 304 HTTP responses

This one was an instant performance boost if servers hosting feeds actually return it. If you’re making 100 network requests to update your 100 feeds it can be kind of slow to parse all the resulting data. But what it you don’t need to parse the results? Right! The data you don’t have to parse makes your code faster. Imagine that!

Create a hash of the response data

So, what if you ask for feed data and it hasn’t changed but the server doesn’t return a 304 indicating it hasn’t changed? Well, you create a hash of the response data and keep it for later. Next time you grab the feed, hash it and compare it to the hash you created last time.

One more thing

After reading Brent’s piece about KVO crashes I decided to stop using NSOperation and NSOperationQueue. I was only using it so I could create dependencies that would allow me to have a final operation that updated the UI’s data source. Now I don’t do that. I just rely on URLSession and URLRequest to do the job.

Not done

I feel a lot better about the performance but I know there will be more changes down the road. Moving forward I need to focus my effort on finishing the UI and adding some niceties like a share extension to add a feed and things like dark mode support. There are other things I’d like to do as well. Least of which is building a Stream Mac App. 😀

I’ve adjusted my personal expectations to ship before WWDC this year. Let’s see if I can make it.

I would love to see companies like Apple, Microsoft, Google, and Amazon come together to help fund further development of Mozilla. We need more diversity in browsers.

You tell me, does Apple really care about design?

I haven’t had a Dogfish Head 120 Minute IPA in years. Absolutely delicious.

I’m listening to the Panic Podcast it’s really good.

At this pace some poor sap is going to use a second amendment solution to our corrupt president and his administration. That will be another sad day in an already horrible time for the United States. I’ll bet the Secret Service is on high alert all the time.

I am really terrible at using the butterfly keyboard and touchbar. I’m working from home today and I keep making typing mistakes and brushing the touchbar. Ugh.

The benefit of being home alone is Tool cranked to 11 on the home system.

Dear Hackintosh builders. Anyone have experience building on with a Xeon E5645? I have the processor, just need everything else. 😀

Championship game picks:

Chiefs over Titans Packers over 49’ers

I love to see a Titans vs. Packers Super Bowl. 🏈