The Future of Shine (Android, .NET 5, and more)

Now seems like the perfect time to make such a post. Shine 0.6 Beta, my latest major release, is out the door, and Microsoft has been announcing a lot of development features they’re working on right now at their Build 2019 event.

While a lot of the features Microsoft’s been talking about are definitely really cool, a lot of them aren’t directly related to Shine. The exception, though, is the announcement of .NET 5, slated for late 2020. Shine (on Windows) currently runs on .NET Framework 4.7.1, and so .NET 5 is definitely looking to be the future of .NET apps on Windows (and elsewhere).

But we have more to discuss than just that. I want to share progress and plans on other items as well, including the Android app and what to expect with Shine 1.0 and beyond. Before we get too caught up in the far future, though, let’s look at what’s going to be coming up next.

Shine 0.6.1 Beta

Shine 0.6.1 Beta will be the next update to Shine, planned for later in May.

There will be a few small features included, such as improved options around the spell checker, and more stability with the Day and Week views. My hope is that by Shine 0.6.1, the Day, Week, and Month views will be locked into place and ready for the 1.0 release.

Shine 0.6.1 Beta will also feature improvements to the Nova system, and hopefully it’ll be in a state that has a direct benefit to users (such as the event search feature), and then will be all set to go in Shine 0.6.2 Beta (planned for June).

As usual, this next update will have some bug fixes and visual improvements as well. So please look forward to it!

Windows – The Road to 1.0

Shine 1.0 is planned for release in November 2019, and will go under the name Shine 2020.

After the Shine 0.6.x releases outlined above, the next step will be a Shine 0.7 release planned for September. This will include the last set of major features intended for this year, and will lead right into the 1.0 release.

Once the Nova system (and everything associated with it, including iCalendar support) is set up, here’s all that’s left to implement:

  • Agenda view
  • HTML export/Printing
  • Undo/redo support
  • Recurring event support

While some of those, such as the undo support, are important, it’s still a pretty short list, and everything there, I have a plan for how they’ll be implemented.

With those features planning to come in Shine 0.7 Beta, that’ll allow about 1-2 months for bug fixing and last-minute improvements, and then we’ll be all set for Shine 1.0!

But I do have more planned for Shine than just a Windows app, so let’s talk about something else I haven’t touched on in a while…

Redesigned Android App

I am still planning an Android app for Shine.

I’ve been sitting on a very basic, almost-unusable Android app for Shine for quite a while now, but I’ve had a lot of difficulties in keeping even that working. Shine’s Android app relies upon a framework called Xamarin, which has been going through a lot of changes recently, as has the .NET world at large. As things change, I have to adapt and update the app, adding and removing things as they’re added or removed from Xamarin. And it’s been very frustrating for me, a single developer.

On top of that, I’m still having some difficulties wrapping my head around how precisely the UI in Android apps work. It’s a problem with me since I’ve grown up on Windows and how that works, and mobile apps just don’t operate in the same way.

Thus, I’ll be going back to square one to create a new app for Android using a different feature of Xamarin which seems to have settled down: XAML Forms. The Windows version of Shine currently uses XAML to build its UI, and so a comparable feature for Android should make setting up the UI hopefully a lot easier.

Beyond the UI, actually, everything else is pretty much set: a key benefit with Xamarin and .NET is a lot of my code can be shared between multiple devices/platforms right out of the gate; I write it once and it already works in a lot of places. So much of what I’ve made, including the Nova system, is already ready to go with Android. All that needs to be done is the UI.

Work on that will begin in earnest as I’m wrapping up Shine 1.0 on Windows. I plan to share more in 2020 about it.

And in regards to iOS, that’s still on the table. But it is not going to be a near-future thing, I’ll be honest. Luckily, with XAML Forms, I’ll be able to move everything I make for the Android app right to an iOS app – the biggest issue is getting my hands on a Mac to actually perform the final steps.

Shine and .NET 5

Announced today, .NET 5 proves to be the future of .NET as a whole.

As it is right now, .NET is pretty split in a lot of different ways: .NET Framework for Windows, Xamarin for Android/iOS, ASP.NET for websites, Unity for video games. While they (mostly) share a lot of features and work well together, it’s still a different enough experience with each one to require time to just figure out.

.NET 5 seems to be Microsoft’s attempt at bringing a lot of this together under one roof. There’s still a lot of questions to answer about how exactly they’re going to go about that, but it’s clear that this is the direction they’re headed and, thus, I’ll have to come along for the ride.

Luckily, a lot of Shine is already set to go, thanks to that code-sharing feature I mentioned in the above section. In fact, with just a few tweaks, the whole Windows app should already be set too – in theory. (Ditto with the new Android app.)

Microsoft states that .NET 5 won’t be released until November 2020, which is over a year away.

So my plan in regards to that, is to build the new Android app to be ready for .NET 5, and to work on moving Shine over to .NET 5 after the 1.0 release this year. That way, when time comes around for Shine 2021 to be released, I can release it alongside .NET 5!

I’ll be probably talking more about this later this year/early 2020 as well.

(Click here to read the .NET 5 announcement. Note that it gets pretty technical!)

Wrap-Up

Alright, so uhhh… I talked about a lot of things here!

There’s still more I wanna share, but this post is getting lengthy, and most everything else I’ve yet to share are things that I’m still not 100% sure about myself.

Instead, let’s end this with some quick points to note:

  • Shine 0.6.1 is coming later this month. Shine 0.7 will implement the last features before the big 1.0.
  • Shine 2020 (1.0) is planned for November 2019.
  • After Shine 2020 (1.0) is released, I’ll be switching my focus to making a new Android app, and preparing for .NET 5!

Until next time, have a good day!

Jayke

Advertisements

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.