Categories
Development Life

This is me

A wonderful boquet of flowers. No Jedi: “ I’ve noticed many times that a developer as senior as I am — now with 40 years writing code on Apple computers — is assumed by newer developers to be a kind of Jedi. As if I’m on intimate terms with every API in every framework; as if I’m deeply learned in every single tool, from Git to Jenkins to AppFigures; as if I know how to make App Store Connect sit up straight and mind its manners”

This is me. Every single day.

Categories
Development Indie iOS RSS Stream

Stream 1.0

Hayseed: “Stream is a different take on feed readers. It displays your feeds in a timeline, similar to Twitter.”

Yes, I finally shipped Stream 1.0!

The response has been so overwhelming, not in a OMG 100,000 people downloaded it, more of OMG the Mac and iOS community are so supportive. When I started on Stream I was really excited to share it with everyone. Over time that enthusiasm waned because it was taking so long to finish. I worked on it an hour here an hour there over the course of two years. Yes, two years.

I’ve received some really excellent feedback via Twitter and email. I hope that continues and I hope to incorporate some, if not all, of that feedback into Stream, but it could take quite a long time before I’m able to do it. I just want to get that out there. Stream is a labor of love. If I could make a living from it I would definitely pump out features at a much quicker pace. Please bear with me.

Thanks again for your support and encouragement. It means loads to me.

Categories
Development Indie iOS RSS Stream

Stream Update

I feel like I’ve been working on this app forever. 😀

But, I haven’t. It’s been a couple years of fits-and-starts. The last TestFlight build I sent out was, I believe, back in late February.

I only have a few new items to add then it’s all about bug fixes.

## What’s left?

### Import and Export OPML

I have the core of importing and exporting working fine. It’s what I worked on today.

The one stumbling block I have is where it fits in the UI, like it’s a little thing. I have some ideas, of course, but I’m not thrilled about any of them. I’ll probably pick the least icky idea and do that.

Once that’s done I’d imagine the Export feature will live next to it.

### Sharing

This goes two ways. I’d like to add an extension that will allow someone to _Add to Stream_ from a web browser and I’d like to allow folks to share out of the article view. This should allow folks to start a blog post of their own or post to their favorite social media site.

## Nice to haves

### Extra Icons

I have some beautiful icons to share with everyone and I really hope you all enjoy them as much as I do.

### Tip Jar

I’ve struggled with this one a bit. Stream is going to be free. It’s not going to be something folks just gotta have. I did this for me. I wanted an app that was simple and felt more like a Twitter feed. I think it hits both marks.

The reason I’ve struggled with the idea of having a tip jar is I don’t want folks to feel like they have to pay anything for it. I would appreciate it but it’s not necessary.

### Wrapping up

I have a few bugs I’m aware of, mostly around stripping of HTML tags.

Thanks for following along.

Categories
Development iOS

From my Notes

This set of questions is from November 13, 2015 regarding Xcode for iPad. They still hold true today.

  • Who is it for?
  • What would the experience be like?
  • How would debugging work?
  • Would you have a mouse?
  • How would you debug for other OS versions?
  • Would it be iOS only?
  • What about Mac?
  • Would it be Swift only?
  • Would it introduce a new framework?
  • Split screen debugging?
  • What about iPhone?
  • iPad Pro only?
Categories
Development

Evergreen ODB

Brent Simmons: “And: different syncing systems might need different properties, and I don’t really want to create an uber-schema which is the union of all of these. (And I don’t want to create a Feed protocol, because Set is then impossible.)”

I too am working on an RSS reader for Mac and iOS but I’ve chosen to make what Brent refers to as an uber-schema. We’ll see how it works. I think it’s going to be fine but I’m really curious to watch what Brent’s ODB turns into.

His idea of a more document centric storage mechanism is probably going to be really nice for an RSS reader. It doesn’t need to keep data around forever and requires a very small amount of data to work well.

There are, of course, document — NoSQL — databases readily available. The first one that comes to mind is CouchBase Lite.

Categories
Apple Development iOS

Old Devices

I don’t like to install beta versions of iOS on my daily driver device so I tend to use old devices I have left around from years past. This year, however, I didn’t have a device capable of running iOS 12, so I bought a used one on Letgo.

For $60US I was able to purchase an iPhone 5s with a cracked screen that works just fine. I decided to pickup a new screen from iFixit for another $40US. All in, $100US and I have a great new test device. It actually runs iOS 12 really well.

So, if you’re short on cash, try a used device for testing.

Categories
Apple Development Hardware iOS

iPod Touch

Why doesn’t Apple improve on the iPod Touch every couple years? Why not take older chip sets — maybe a model from last years iPhone — and leave the form factor alone? Just keep stuffing updated tech into the existing design.

There are folks that can’t afford to buy their kids an iPhone but the iPod Touch may fit nicely into their budget.

Yep, it's a rooster.As a developer this is also a nice machine for testing. The only issue I see is it hasn’t been revved in a long time. It’s still using an A8 processor but it is still slightly ahead of the iPhone 5s which uses an A7. that’s important because the iPhone 5s is the lowest end iPhone that supports iOS 12. That means we could get another couple years use out of the current generation iPod Touch.

The iPod Touch with 128GB of storage sells for $299US.

Fingers crossed Apple updates it soon.

Categories
Development

Just Code

Becky Hansmeyer: “For instance, I can take just about any Objective-C code and do a word-by-word translation to Swift that will compile and run, but it won’t be very “Swifty.””

The notion of being Swifty kind of bugs me. If you work in a language long enough you’ll naturally gravitate to language conventions or you won’t. If you’re an Indie, like Becky, I don’t think it really matters how Swifty your code really is. What matters is you’re willing to learn and adapt with the times and you can ship. If you don’t ship you don’t get paid.

I’m probably not very Swifty either, but I don’t really care. I can write code in Swift and it works just fine. During code review with my peers they’ll let me know of a more Swifty way of doing things so I can either make a change or get it the next time. I’m willing to do the new thing and I think that’s what we need to be willing to do if we’re going to survive as developers.

Be ready for change and adapt. That doesn’t mean you have to do it all on day one. Just be willing to make the change.

Categories
Design Development

Higher

Quora: “Total cost for creating Tinder-like app for one platform would be about $5k – $10K.”

Charging $5-10$K for a Tinder-like application is how you go out of business. I’m speaking from experience here.

Watch out for the blowfly.Back in 2014 I made my second run at freelancing. This time around I failed. I learned a lot about who I am and how not to  run a business. Two of the primary reasons were charging too little for my work and not being a blazing fast coder.

I’m going to step out on a limb here and park a Tinder-like app — a service really — at around $100,000.00, not 10.  Call me crazy, it’s fine. Let’s take a look at some estimates given by folks that have actually built some great software.

First up, Craig Hockenberry: “With such a short schedule, we worked some pretty long hours. Let’s be conservative and say it’s 10 hours per day for 6 days a week. That 60 hours for 9 weeks gives us 540 hours. With two developers, that’s pretty close to 1,100 hours. Our rate for clients is $150 per hour giving $165,000 just for new code. Remember also that we were reusing a bunch existing code: I’m going to lowball the value of that code at $35,000 giving a total development cost of $200,000.

Emphasis is mine.

In the same Stack Overflow post we find Jonathan Wight weighing in on the cost for the Barack Obama App: “The Barack Obama app took 22 days to develop from first code to release. Three developers (although not all of them were full time). 10 people total. Figure 500-1000 man hours. Contracting rates are $100-150/hr. Figure $50,000-$150,000. Compare your app to Obama.app and scale accordingly.”

Both of these guys are world class software engineers. I have no reason to doubt their estimates because they have the experience needed to build any application.

Here’s Kyle Richter of the excellent Martian Craft: “In February 2013, the average cost of a house in the US was $152,000. By our estimates inside of MartianCraft, the average cost of an app is approximately $120,000.

If you want a high quality application be prepared to pay for it. Sure, you might be able to get your Tinder-like experience for $5-10K, but it may behave and scale like a $5-10K application and service.

Know what you want and what you’re getting into before you talk to developers about building your dream application or service.

Categories
Development Uncategorized

Far from perfect

Free Code Camp: “VS Code’s success story is interesting because it’s far from perfect: its UI has that Microsoft-y clunkiness that seems to infect all their products, it’s a big resource hog, and it can be kinda slow to initialize.”

If you go read the article and don’t see the irony in the above statement I’ll point it out for you. Visual Studio Code uses Electron which allows developers to write desktop-like applications in JavaScript. Is the author saying Electron is slow, JavaScript is slow, a combination of the two, or that maybe Microsoft developers made it a fat — slow — pig?