Author Topic: KumoriApp - Idea Drafting  (Read 85 times)

0 Members and 1 Guest are viewing this topic.

Offline PicklePet

  • Cabbit
  • *
  • Posts: 13
KumoriApp - Idea Drafting
« on: November 18, 2019, 02:58:01 pm »
I'm studying web & app development and it's my goal to build this baby (I'm still a novice so don't count on that being super soon) - I believe in the power of collaboration, so I often like to put my ideas up before I start to see if any one has any tweaks or feedback! I'd love to hear it. : )
This app would basically be a virtual program guide (more convenient than carrying the book around - and reduce the printing footprint!) PLUS so much more... I have a lot of ideas for how technology could solve some existing problems and help some of us probably socially awkward people make connections a little easier... (no one's said that before and achieved the exact opposite... *heavy sarcasm*) But seriously I'm trying to be very conscious of not giving people an excuse to just stare at their screens more but rather a tool to interact with the people around them.

Orientation: When the app first starts up, have an 'orientation' - quick guide of how to navigate it, basic code of conduct, maybe a reminder that this is a non-for-profit 100% volunteer run event.

Schedule: Basically the function I believe guidebook serves right now (haven't used it myself).- Has access to the full schedule list like they had it on the website this year, sortable by category and time - text listings of title, description, time, room. Possibly display hosts, maybe an option for hosts.
- Also has visual grid format - grid view can be narrowed down by removing categories/rooms. You can click on block to see the full event info with description.
- You can color-code events (and you can save a key of what the colors mean - like: green- definitely going, yellow- interested, pink- back-up plan red- competing)- You can add your own blocks. (i.e. volunteering - lunch - meetup - costume change)
- You can view a schedule of just the events you've marked, or even just certain colors
- Will be able to reflect last minutes changes like time changes, cancellations and added events, etc.- You can subscribe to notifications and/or reminders for events - so you'll be notified if there are any changes, or you'll get a reminder notification 10 minutes (adjustable time) before a panel starts.
- perhaps make number of people who marked themselves as going to an event visible to event host so they can forecast a bit?

Panel Integration: This part is exciting for me. Will work a lot like jackbox games.
- Each panel has a unique code - for most this will only be given out during the panel, but possible it could be given out before-hand.
- Once you enter the code, you'll be inside the room. The audience will see whatever the host has set as 'active'.- Things the host can set up: polls for voting, short-medium length free responses to a question, pictures, a space to draw, prompts, you can assign people random numbers, etc. Could be just about anything. - And admins can create and queue these ahead of time so when the panel starts all they have to do is run through it like a power point. Of course they can see all submitted responses.
Main concern: Not every one will have a phone (maybe lost, dead, low battery, bad connection, no data, don't want to install app etc), it could be unfair to be unable to include them, and therefore possible solutions: always have to have physical back-up plans or mark panels that plan to use it so audience knows ahead of time?

Classifieds(looking for group): A place where any user can post a little mini meet-up orrr planned time to play a game that's open for others to join.- The most common use I imagine is for board/card games like secret hitler, mafia, cards against humanity, catan, etc., or console games if they're available, like mario kart/party/overcooked etc (haven't paid that much attention to the console section of the arcade so I don't know what's standard faire)
- All users can see these listings, and if they choose, can be notified of certain kinds of meetups (like if you really like secret hitler, you can get notified of any lfg postings for that)- Will have algorithms to check for any double-up or closely timed events of the same kind and suggest merging before creating a new one.

Profile & Street-pass-esque: I'm thinking each kumo badge can be hooked up to a user account - so even like, personalization features aren't available until you hook it up? But like if you preregister then maybe you could set that up ahead of time? And maybe have a little image code on the back of your badge that people can scan to look you up instead of typing in a code for easy friending??
- Designated place to put your cosplay line-up. (Won't show up on your profile at all if you leave it empty tho) With this, the database can let you know if some one else is cosplaying from the same series - you can send them a message to see if they want to meet up any where. Maybe some verification step to make sure this isn't trolled, like you have to submit a picture with it.
- Interests: list shows/games/movies etc. you like, and maaaybe other general categories like 'fanfiction', 'cosplay', 'amvs' - but from fandoms, app can tell you if there's some one else who likes that near you/make some kind of street pass encounter where you can just see each other's profiles and have a field at the bottom to send them a message or something.
- You can attach links to your social media because I know that's all the rage. : T They can either be public or you can just share them with specific users. Easier than handing out business cards and stuff.
Main concern: The street pass aspect could get really crazy if attendance continues to grow and people list popular fandoms as their interests. Perhaps make a distinction between like and love so that you have the option to get notifications for some fandoms you like and not others.

Games: (with strangers) Haven't thought about what specifically would go in here yet, but just having a section with games (y'know like party games and ice-breaker kind of stuff like two truths and a lie or pass it on, etc.) you can strike up with the people around you sounds cool. Just an easy way to pass the time and meet some one between events or while sitting in line. Maybe you can mark yourself as 'looking to play' and two people who have that on get directed to each other somehow. Heck, finding each other can be a game. It can tell you to strike a pose or do a specific motion or say a specific thing to get the other person's attention. And if these games have any show specific material, maybe it can tap into your shared fandoms. This is different from classifieds because it's meant to be quick and on the fly whereas classifieds is a little more for sitting down for a longer amount of time to play a specific game.

Did you take my picture? - Definitely thinking of the best way to help people get those to each other. Couple ideas:1. Way to keep galleries on the app and tag the user you took it of (data storage heavy for the server)2. Have a page on your account to keep a list of who you took pictures of (with their contact info) ((and it'll automatically have their character and name from their profile lineup info)) in case you want to submit your photos later.
3. I think the worst idea but: have people be able to just submit photo dumps/galleries hosted on another site to the app, depending on how good of a recognition algorithm I could find it could produce a bunch of suggestions to any one who has that question from the database of images (wouldn't work great for popular characters but not too much worse than humans?) based on a photo you give it (or the photos you submit for your cosplay lineups)

Bingo: Self explanatory how this could be digitized, right?You can upload an image from your phone to the app and associate it to one of your bingo tiles, once you get a bingo that gets transmitted to the staff who can then review that the photo matches the character (and the app can verify that no one is submitting a photo that's already been submitted?), give you some kind of code that you can take to their booth to get redeemed.Master Alerts - Still thinking about format but definitely want a quick access screen where you can alter all your alert options very quickly - like going on silent to go inside of a panel or dinner or home, etc.Website Integration - Attach it to a full-on website that can carry your profile from year to year, have a friends list, AND A FORUM.It'd be nice. I have no idea how feasible any of this is honestly, there are obviously costs in hosting and maintaining it all. But I'll try to figure that out.
I feel like there's more I'm forgetting, but this is already far more than I can chew for now. I'm sure I'll be polishing it many times. And it seems there's a whitespace glitch on this forum host, sorry for the randomly cramped headings.
« Last Edit: November 18, 2019, 03:05:50 pm by PicklePet »
It doesn't have to be quiet in here. Let's talk again. Just start.

Offline PicklePet

  • Cabbit
  • *
  • Posts: 13
Re: KumoriApp - Idea Drafting
« Reply #1 on: November 29, 2019, 01:52:54 pm »
Captain's log: earthdate 11/29/2019... lol jk but nah I just need somewhere to decompress a little bit of my rabbit hole learning.Have you ever wondered how the internet is built?! Well boy do I have a story for you - they don't call it the 'web' for nothing.
To start off with, there are two distinct sides to a website. The front-end/client-side (what you the user can see and interact with directly) and the back-end/server-side (all the logic and algorithms working behind the scenes basically).
The front-end (which is basically all I've been learning so far) is composed of 3 file types/languages:
  • HTML - the skeleton of a website - this contains the actual things that you will see on the page - i.e. headings, paragraphs, images, etc. The other two file types must be linked to this one to do anything.
  • CSS - completely controls the appearance of the HTML. Can change the color, size, position, order, font type, opacity of the 'things' in the HTML.
  • JavaScript(aka JS) - the brains of the operation. More of what your normal programming language is - it can compute & perform functions. In terms of the front end, I believe it's mostly used for form validation (checking that your input looks correct before actually submitting it) and any 'same-page-manipulation' - which can be used for games, simple single-session functions (like conversion tools (ex. inches to miles or Celsius to Fahrenheit) or a mad-lib) and the coolest part is you can use JS to dynamically effect HTML and CSS, meaning you can change the content(somewhat) and look of a page based on whatever circumstances you program.
Cool, once you have those basics down you think you're ready to go, right? NOT EVEN CLOSE. There's an ocean of tools out there that are great for streamlining and expediting building sites and apps. It's great that they exist! It's overwhelming to figure out what I need to learn and piece it all together. Thus why I'm writing this. XD Here are the pieces I've been working with at least.
  • The DOM - this is technically a part of HTML & JavaScript (it's how JS is able to effect the HTML's content) but it wasn't in either of the courses I took for either and it took me a while to figure out so I want to count it separately. : [
  • Less/Sass:(two rival tools for doing the same thing) These are called CSS Preprocessors - basically they add some very nice additional syntax to CSS (a shorter way to write the same end result). So you write a .less or .sass file, then you run it through a compiler - which is basically a program that will translate your file into a .css file.
  • Responsive Design - Basically the art of tastefully changing a page's layout based on the size of the screen it's being viewed on. Trying to prevent people on mobile from having to pinch and zoom.
  • Bootstrap: a CSS framework* specifically geared towards building responsive mobile-first designs (meaning the mobile layout has #1 priority)
  • Angular/React: (rivals again) JavaScript frameworks*. From what I understand so far they primarily help with DOM manipulation (which is kinda clunky out of the box)
  • Git - version control. If you've ever played a video game on an emulator you've probably used save states. That's basically what git is - you can make save states of your code in case you try something new and mess it up, you can recover where you were before that.
*a framework (haven't really gotten too far into these so my understanding is subject to change) is kind of like a collection of semi-built pieces to make building faster, except I don't think the piece is completely built and I think you can customize a bit about it.
Alright, and that's just the front-end. I haven't even really gotten into the back-end except for my curiosity so far. Here's what I've found: (Geez I need a whiteboard)
  • Databases - like it sounds, this is where the data gets stored. More specifically not the files like .html etc. but rather things like usernames, passwords, user settings, post content, user uploaded images, etc. SQL is the language for talking to a database. It can either be accessed directly by the programmers on the server-side (through CLI or a program like Microsoft SQL or MongoDB) but also things are retrieved, edited, added and deleted based on client-side interaction (obviously only through very controlled channels).
  • Web Application - is a program on the server-side that basically is a middle-man between the front-end and the database I think, it can be made of one of many languages. (most common seem to be NodeJS, PHP, Python & Ruby. JS is a weird language in that it can only work through a browser. NodeJS is an application for basically making it work like any other, so you can use it without a browser.) So I think this is where more thorough validation is done (say for things like transactions or login verification) and also evil algorithms can track your history and preferences and change page content based on them. : d I've been told is fool hardy to try and make a web application without a framework so tack another step on the list...
  • Command-line interface - this kind of just comes with any programming I think (except for front-end because that all works through a browser) but it's worth mentioning here - the vast majority of people use their computers with whats called a GUI (graphic user interface) - so you know how on your desktop you've got a mouse pointer and icons and a taskbar and you use those to navigate your system? Well, you can do all that same navigation with just typing. That's what the CLI is. Every computer has one. Of course you have to know the right syntax to navigate through it, but you can automate tasks with it which is pretty darn neat. It's important to know because that's what programs open with unless you specify another interface (I'm pretty sure at least XD).
HTTP has come up in several places and I get the basic gist of it but none of the explanations have been solid enough for me to make it a bullet. I'm trying desperately to figure out exactly how to allow user input to a database. Something as simple as an anonymous guestbook. I'm about to take a course on NodeJS, hopefully that will answer my question or at least point me where I need to go next.

Well. *sigh of relief* At least I got that off my chest. Maybe now I can read in peace. XD
« Last Edit: November 29, 2019, 02:24:38 pm by PicklePet »
It doesn't have to be quiet in here. Let's talk again. Just start.