One of the mistakes I saw a lot of when Agile was taking off as “the hot-new thing” was people declaring that they didn’t need to do design anymore. Of course there was no big-upfront design - the kind from the waterfall days where people first analyzed and designed a system in full before punting it to the next team to build (which rarely worked out well) but some planning and design is important, even if you’re just creating a small hobby project.
Part of the process should often involve prototyping to help decide or prove which technologies you’re going to use as these will also factor in to the design of the app. It also gives you an opportunity to kick-the-tires of some technologies if they are things you haven’t used much before prior to building too many things around them. Making late-stage switches can be costly.
This isn’t going to be an exhaustive comparison of every possible client-side framework, storage technology or hosting option. Of course I have some technology choices in my head before I even begin based on my current skillset and experience (isn’t it an amazing coincidence that the “best” technology to build any app with is always the one the developer likes to use?!) But I’ll try to go through the reasoning behind some of the choices I came up with.
This is documenting the journey of creating a “micro startup” software business from inception to realization. It will cover the initial design decisions, the technology choices, implementation challenges through to launch and operation. Along the way I’ll cover some specific technologies and how we used them (e.g. how to do authentication in a Single Page App).
First of all though, what do I mean by “micro startup”? Well, I’m under no illusion that I’ll be building the next Google or creating a whole new market genre. It’s simply a small software-based product or service that isn’t in any huge multi $billion segment but should at least be self-sustaining (i.e. self-funded bootstrapped & covering its costs) but has the potential to bring in some revenue if everything works out and it takes off. It’s really a hobby / side-project done for fun and learning but professionally so that it can be a viable business.
We’re just over a week into the project but have made good progress and already have lots of interesting things to show off and explain which I hope will make interesting reading in the weeks to come.