Universal-Updater - An easy to use app for installing and updating 3DS homebrew

banner.png

Welcome to GBAtemp Project Spotlight, where we shine the light on the incredible creations and projects from within the GBAtemp community!

In our third issue we're taking a look at Universal-Updater by GBAtemp members @SuperSaiyajinVoltZ @Pk11 and @maorninja

Universal-Updater

  • A store format with a concept similar to the Cydia repositories
    • The default is Universal-DB
    • Want to add more? Go to settings, choose "Select Unistore", click the + icon and select one from the list, enter a URL, or scan a QR code
  • Customization in sorting and display
    • All sorting keys: "Title", "Author", and "Last Updated"
    • Direction can be Ascending or Descending
    • App display can be shown in either a grid or rows
  • Background installation so you can keep using the rest of the app while installing
  • Searching and markings to make finding apps easy
  • Viewing screenshots and release notes for apps
  • Shortcuts for easily updating frequently updated apps when using the Homebrew Launcher
  • Translations for users of many languages
  • Request new languages on our Discord server or contact a project manager on Crowdin

What is Universal-Updater?

Universal-Updater an easy to use app for installing and updating 3DS homebrew. It's designed for the Nintendo 3DS with the intention to make downloading other homebrew simple and easy. No need to manually copy files or go through installation processes, Universal-Updater does that for you.

auto-update-settings.png list-style.png mark-menu.png

You can follow the team's progress on Universal-Updater in the official discussion thread here.

Q&A with the main team behind Universal-Updater

What features and functionality does Universal-Updater provide?

d4969b6399695f8172d4d89050672713.png
@Pk11 -
It's main functionality is pretty simple, download files, extract archives, install CIAs, etc all wrapped into a fairly simple script format, but it then we've also added plenty other handy features by now that make it more of a homebrew app store then just a simple updater such as showing the release notes and screenshots of apps, searching and filtering to make finding apps easier, tracking when updates are available, and more. It's also not limited to just our default "UniStore", Universal-DB, anyone can make other UniStores.
What makes it better/different than the alternatives out there?

d4969b6399695f8172d4d89050672713.png
@Pk11
- The two closest things to alternatives I can think of would be MultiUpdater and the TWiLight Menu++ Updater, both of which were inspirations when starting Universal-Updater, but are both discontinued now.

Universal-Updater was originally based on the TWiLight Menu++ Updater to make something that had all the same convenient updating features, but was more well, universal, not just a whole app just for updating TWiLight Menu++. It's script format was inspired by MultiUpdater, but expanded to be more flexible since MultiUpdater wasn't able to do more complex installations like TWiLight Menu++. Nowadays though as both are discontinued there aren't really any direct alternatives to Universal-Updater as far as I'm aware at the moment.
When did you begin writing software?

510114.png
@SuperSaiyajinVoltZ
- I really first got into coding around begin of 2019 if i remember correctly, that's when i started with the first Universal-Updater which nowadays is known as "Universal-Manager" and discontinued. But because Universal-Manager was quite a bloated application with several mixed features, which were pretty much rip-offs from other projects, i personally decided to work on an Universal-Updater 2.0 around end of October 2019, which is.. what it nowadays is. Everything got reworked from scratch and the first main idea of it was, to be a flexible software, to update all your homebrew needs by using the JSON format for the arguments, so you can even update homebrew apps, which maybe not many people use. I already looked some bit into coding stuff quite a few years ago, however i didn't really code at that time.

d4969b6399695f8172d4d89050672713.png
@Pk11
- I first got into coding in late 2018 because there were some bug fixes and little features in TWiLight Menu++ and GodMode9i that I wanted to add and I thought... I could probably do that myself, so I tried and look where we are now. :P

382749.png
@maorninja
- My programming journey started back in 2015, when I started to fork a forum software created by StapleButter titled BlargBoard. At the time, I had no idea what I was doing and managed to make a fool out of myself at every interval. Then, I switched over to helping out TWiLight Menu++, some of my own projects (Yamamura, a Discord Bot) and now I know a good base of the JavaScript language (for both front-end and backend development), C++ and PHP (though I hate this language)
Any advice for wannabe coders?

510114.png
@SuperSaiyajinVoltZ
- I'm not 100% sure, which advice I could give honestly, but definitely I can say: Look at other projects, see how they handle things and maybe do the one or other modification and see, what happens. Also I'd suggest to look into references such as cppreference for C++, or on 3DS, the libctru documentation or 3dbrew for more information about relevant 3DS things.

d4969b6399695f8172d4d89050672713.png
@Pk11
- Hmm, I guess my best advise is just try find something that interests you and try do that. I've never been super into following specific tutorials for this kind of thing, so I just kinda jumped in to something that looked interesting and tried to figure out how to do it.

382749.png
@maorninja
- Trial-and-error are the keywords that StackZ should have used. Fork projects, make your own personal changes and test them out. Notice the changes, and take notes. Once that happens, then try recreating it using the knowledge you've gained.
What got you into this project in particular?

510114.png
@SuperSaiyajinVoltZ
- I've always had the keyword "universal" in mind, because "universal" often means customizable things, which the user can select on their own, such as User Interface (UI) Colors, or in topic Universal-Updater: What they want to update through the UniStore format (Which is basically... a JSON file, which contains arguments, what Universal-Updater should do etc).

d4969b6399695f8172d4d89050672713.png
@Pk11
- If I remember right it was mostly that I had already worked on the download and extraction code for the TWiLight Menu++ Updater, so when @SuperSaiyajinVoltZ started working on Universal-Updater I helped out where needed, and eventually just kinda stuck around with the project as one of the main developers.

382749.png
@maorninja
- I had always liked Universal-Team project for their functionality, yet never liked any of how it was presented. In July 2020, I accidentally forked an old bot of theirs called Universal-Bot, and since I didn't want to waste my fork, I fixed it and submitted a pull request. They invited me to their personal bot development channel, which I then asked if I could be a Universal-Team member. They agreed instantly, which surprised me.
Following that, I started looking where I could take my influence. Universal-Updater was (and still is) the most popular Universal-Team application out there, so I made a template for how I would develop it. Evie and Stack agreed that the old version was confusing, hence why we've made v3 of Universal-Updater.​

Do you have anything else you'd like to say to the GBAtemp / homebrew community?

d4969b6399695f8172d4d89050672713.png
@Pk11
- I guess just, thank you to everyone who makes these places the great places that they are! Universal-Updater could never have been made without the toolchains and libraries that we use, without the translators who make the app accessible for more people, without the community members reporting bugs and requesting features, and without all of the other DS and 3DS homebrew that give it a reason to exist in the first place!

510114.png
@SuperSaiyajinVoltZ
- Pk11 already said that pretty well, I'd say the same honestly.

382749.png
@maorninja
- Developers are humans too, and we always appreciate support. Although we don't do donations, we love feedback and take it into consideration when making future versions. For anyone who has given us feedback; we thank you for supporting us and encouraging us to continue working on this homebrew application. For anyone who hasn't, we have our Discussions and Issues tab open on GitHub, waiting to see what new ideas you can bring to the table.
Be the voice that gives reason for existence!
Getting started with Universal-Updater

You can find out more about Universal-Updater in the official GBAtemp thread where the team very active and continuing to update the software with new features and updates. Check it out if you are interested in finding out more about this homebrew project.

Thanks to the team behind Universal-Updater for taking their time out to share their project with us!

:arrow: Universal-Updater (GBAtemp)
:arrow: GitHub source

Previous Project Spotlight issues



GBAtemp's Project Spotlight

Are you the author or team member of a homebrew project or do you know of one that should receive the GBAtemp Project Spotlight treatment? Then please get in touch to discuss getting it featured right here and expand your audience.
 

Attachments

  • ps-universal.png
    ps-universal.png
    83.4 KB · Views: 210

PiersPiper

Member
Newcomer
Joined
May 27, 2021
Messages
5
Trophies
0
Age
29
XP
14
Country
United States
Try to make a consultation with a professional company that gives mobile app development services. I had a similar problem to you. I have developed an app that helps people to manage their spending, and after the last update of eh Samsung Operating system, it isn't working on Samsung with the latest OS. I didn't know how to deal with this problem so I decided to get the help of professionals. They analyzed the codes in my app, and they solved the problem in just one day. Now it is working correctly on every operating system.
 
Last edited by PiersPiper,
  • Like
Reactions: banjo2
General chit-chat
Help Users
    mthrnite @ mthrnite: scale is fun... ants think they got it all down pat, we think "pfff.. ants.."