How's it going, Reddit! We are #!/Shabang, a high-school student software development studio that created Condution, a free and open-source task management app. Proof

As student developers, we were fed up with the insanely pricy and complicated task management apps in the market. After doing some research, we decided to take matters into our own hands and create an open-source task management app and share it with the community!

After Condution was first publicly released last March, we hosted an AMA celebrating the first public launch of Condution. Because we are a free app made by and for the community, we take community feedback very seriously. And after months of re-write, re-working, and implementing new features, we are proud to announce that we recently release the next big version of our app: stable-1.0.

To mark this occasion, we wanted to host another AMA discussing our journey over the past year from starting the project to getting thousands of users. So, ask us anything: student engineering, high school leadership, teamwork, and — of course — nerd out on agile development, task management, and productivity!

NOTE: this is a reposting of our previous IAmA, correcting for a title mistake after blessing from the mods.

Comments: 265 • Responses: 109  • Date: 

WcCannons82 karma

What challenges did you face when looking at workload management?

I see you have weighted tags which are a brilliant mechanism. I find the companies I have worked for always have a convoluted system of prioritization that often doesn't follow it's own rules because well, there aren't really any weighting rules in the first place.

Edit: You should crosspost this over in r/projectmanagement

Jemoka54 karma

Thanks so much! Weighted tags are definitely a great feature of Condution. Honestly, I use the calendar view a lot (which is also the built-in date picker) to see how “heavy” each day was. This is my February, for instance. You could see that I am going to be fairly busy on Wednesday, and indeed because I have an essay due and need to finish editing it. We just went about it like students: just implanting what people ask for and what we feel we need :)

hydrolik4367 karma

How is your app any different than the many other free task management apps out there? What does it have to offer? Also keep up the good work!

Jemoka94 karma

Thanks! To be honest, I am confident that we could compete on two levels 1. First, we are open source and made for the community. Meaning, if someone needs something made, just ask and someone on, say, our discord will hop over and potentially implement it 2. second, this is a student + OSS project founded on patron. We aren’t concerned about making lots of profit and so we spend more time doing actual value to users. (6 project limit, todoist users? No thank you.)

hydrolik4347 karma

I really appreciate developers that actually take feedbacks and user requests seriously. The app being open source is great.

Jemoka18 karma

Thank you so much! That's why we are doing what we're doing ;)

wtfzambo10 karma

Wdym with 6 project limits, todoist users?

Jemoka38 karma

Doesn’t todoist have a limit to free account projects now?

Update: wait, no. It’s 80 projects and 200 tasks. But still, the same point applies. Sorry for getting the figure wrong. https://todoist.com/help/articles/todoists-limits-for-tasks,-projects,-files-and-more

donutseeds2 karma

Feature-wise though?

Jemoka3 karma

Tag weights is my favorite implementation of an idea that’s not seen in any other place. Instead of priorities, we leverage tagging to assign weights to tasks; then, these weights are propagated throughout the interface to loading bars and heat maps. Also, shareable workspaces are nice because you don’t need to make an account to access a public workspace. I’ve used it on many occasions to track tasks with classmates/team members on other projects.

DoesNotSugarcoat62 karma

Hey team! I work in product at a tech company--here are some questions from that angle: 1. How do you prioritize feature development against bugs and tech debt? 2. How do you measure success for changes you make to your product? What does success look like for Condution as a product? 3. What data do you collect and how do you use it? 4. Do you do any split testing or data analysis? 5. Do you do any user testing? If so, how do you find people to test with and how do you use that information to develop the product?

Jemoka40 karma

Hi there!

  1. The official line is bugs, though it is more fun to do features. Of course we will fix app-breaking bugs, and ones that the community brings up, but we are still in the move-fast-and-break-things stage. We are a small team, so unfortunately we don't have the manpower to focus on it all.
  2. We see success in community feedback: we have a great community on discord that gives feedback and support
  3. You can refer to our privacy policy but the tl;dr is we do have cloud syncing as on option, but don't use, sell, or see your data.
  4. We are not quite big enough to do split testing, but as we grow, we would love to try that out
  5. We do have a beta track on Android, but other than that, most of the beta testing is done in-house, or with the Discord members

e11107755 karma

Heya professional front-end / UX / UI dev here. First, very pretty app and smooth overall experience. I was on the website on my phone, and noticed that the touch targets are a bit small. Our researchers tend to recommend 40-48 min width and height for parts people are expected to touch on mobile based on lab trials. Y'all might want to try it out .

Also have y'all tested with a screen reader for accessibility? Unfortunately I'm a bit ignorant on ionic stack in this case

Jemoka46 karma

For accessibility, unfortunately not. We are going to be working towards accessibility to better improve the app. Thanks so much for the tip! Thanks for the advice to make the touch targets bigger. We will do that ASAP. Thanks so much!

closerocks20 karma

accessibility is more than screen readers. some of us crips can see just fine. it's the keyboard and mouse that give us trouble. I use speech recognition (NaturallySpeaking) with custom grammars and code. feel free to AMA on accessibility using speech recognition from someone that has had to live that life since 1994.

Jemoka10 karma

Thanks for the tip, unfortunately as we are such a small team it is hard to work that stuff in. We will look into it going forward though, it is a really important that this be added.

Zabbidou42 karma

I think it's amazing that high school students did this. It truly is. I'm in a CS college and can't even grasp how to start with a project this scale.

So, as a CS college student, I can't help but wonder, how did you start it out? How much time did it take to have something usable? What did you use/implement regarding the servers? I saw from some comments that you have cloud sync and I'd need something like that for one of my future projects, I'd love any advice you have!

Also, I love the idea of your app. I myself had some ideas revolving around this for projects. I can't wait to test it out!

Jemoka27 karma

No worries! We are using something called “Firebase” for cloud sync, which is a database-as-a-service product by Google.

We started with very old web tech (jQuery 😅) and just started seeing if we could modernize it. MVP took about 3 months.

Thanks for checking out Condution and for your kind words!

beerzebul16 karma

Wait - jQuery is old tech? Serious/trying to learn - what is newer tech these days?

Jemoka13 karma

React, Vue, and other JS frameworks (cough angular cough) that drive Progressive Web Apps are all the rage right now

jumpup40 karma

what are some problems you ran into and how did you solve them?

Jemoka64 karma

Getting cross-platform (mobile, especially) setup was something that we had lots of trouble with at first. But, we did manage to come across Ionic, which lead to a big rewrite and hence why we are finally going to stable.

timeIsAllitTakes15 karma

Don't feel bad, this is hard sometimes even for seasoned developers!

Jemoka6 karma

Thanks!

Ghos3t8 karma

What were the reasons for going with Ionic versus other cross platform frameworks life React Native and Flutter. As I understand Ionic is not as famous or industry backed as the other two

Jemoka12 karma

We chose ionic because it allows the use of straight up React to create the app. Hence, we could have one codebase driving desktop and mobile instead of 2.

Ghos3t4 karma

Hmm I haven't used Ionic before so I'm surprised people find it easier to use with React over React Native which is made by the people behind React. Well whatever works for you is the best tool. I've downloaded the app, I've been a long time Tick Tick user but due to its monthly pay only model I've been looking for an alternative, will check out this app, keep up the good work.

Jemoka2 karma

Thank you so much! I heard that there’s some stuff going down with Trojans and tick tick so your computer is probably safer with us too 😅

CreativeEmotion26 karma

Just a random thought...

I'm much older than you guys (36). I feel as though the advances younger people today are making across the board, from conducting research to creating new products and services, is at a much higher rate (at least awareness wise) than those my age when we were in high school.

Do you believe high schoolers today are better educated and raised, or are these advancements happening due to growing up around our current technology?

Some might even argue... This generation is much more intelligent than the last.

Jemoka70 karma

I would argue the opposite: this generation simply has access to better tools and resources. even 10 years ago, this would be a major accomplishment for a medium sized company. Now, tools exist that make this easier than ever. Each new generation has access to more and better tools, and will be able to do more and better things.

tl;dr better technology = more innovation

akmjenkins25 karma

Your thoughtful insight plays no small part in your success. Great work.

Jemoka14 karma

Thanks for the support!

ragemydream21 karma

Hi Shabang. Great work in doing work for the open community to use. More people need to appreciate this. I had a look around but I'm not a developer so I can't comment on the code per se. However, I have experience in product design etc and I wanted to ask how Conduction (great name), differs from say a free 'Trello'?

Jemoka29 karma

Trello is cool, but they are just a tricked-out Kanban. Condution offers not just project management, but the ability to track filters, dependencies (sequential projects), see stuff in calendar views, etc., that amounts to more of a project management suite. Thanks for checking out Condution!

P.s. also, we are open source ;)

ragemydream7 karma

Will test it out on my current project. Well done guys.

Jemoka8 karma

Great! Thanks so much and thank you for checking out Condution!

glenzac16 karma

I've been using Todoist for a long time now and I've always waited for an open source alternative that is good enough. The screenshots look amazing. Good job guys.

Can I run it locally on my device i.e without connecting it to the cloud or without an account? Or one that supports cross platform sync between devices over a local connection?

Jemoka18 karma

Thanks! Yes, you can run it locally so it stores everything on your device, but you'll have to give up cloud sync while doing so. To do this you will not need an account. At the moment we don't support cross-platform sync between devices over a local connection, but since we're currently working on a modular backend, that may soon be possible.

Ghos3t6 karma

Might I suggest allowing people to use their own cloud service such as Google drive, Dropbox, Own cloud etc. To store and sync their data. The biggest issue I have with any software is the vendor lock-in where all your data resides on some company's servers and if you want to pull out all your data to move to another software etc. Then either it's too difficult or impossible. Also I don't like the new trend of paying monthly for an app, I'd rather just outright buy the premium version and not receive any future updates other than security updates.

Jemoka6 karma

While that would be ideal, it would be very hard to implement. We already use Google Firebase to store data, so it is pretty reliable. If it is a highly requested feature, we may look into giving users to download all their data, though with the different formats and feature sets of different apps, it would be difficult to migrate easily.

p44v9n10 karma

Remember if you’re operating in Europe you have to be able to handle SARs anyway under GDPR so may be worth having it as a feature/ easily accessible to a user without any manual assistance. Also letting people own and export their data fits well with your open source vibe. https://ico.org.uk/for-organisations/guide-to-data-protection/guide-to-the-general-data-protection-regulation-gdpr/individual-rights/right-of-access/

Jemoka5 karma

That makes sense! Thank for the tip. We will definitely work that ASAP

basilmintchutney12 karma

Why another Task Manager app when there's so many already. What's special about yours, and what have you improved? Have you taken a look at the OSS Tasks.org? They integrate with any calendar and has sub tasks, reminders, categories, location, file attachments, etc.

Jemoka16 karma

It looks like this app is on Android only. I personally am a cross-platform person hopping between web, arch, windows, macOS, and iOS, so having Condution on multiple places is very helpful. Also, our shared workspaces are cool.

snail2go8 karma

Neat stuff!

A super important thing in the health and sustainability of something that’s open source is how others can contribute - specifically what kind of work is welcome and how you make sure things don’t break.

Have you considered how you will have tests for your project? Automated tests are a fundamental of a long term codebase.

Have you considered how this project will grow in the long term? Will it always be you supporting it? Will anyone be able to contribute? How will you determine if functionality is relevant to your app or not?

Keep it up, makers of the future :)

Jemoka10 karma

Unit tests... ahhh... ;) A member of our team is working on it, and we will hopefully be adding them soon.

As part of future-proofing, we are in the early phases of starting to refactor our backend, like this file with inline docs and guides to help future contributors. More to come soon, hopefully.

Thanks so much for checking out Condution!

chamberlain200713 karma

I had a look at that file, glad you’re starting to do docs! Great job! As a word of advise, though those comments are fun, I would suggest making them very boring and to the point. Doing documentation is time consuming, and if you make it take more effort (such as by requiring witty intros and fun language) people are less likely to use it. Additionally, it's going to be difficult for future non-English-first-language users to understand. Just keep comments direct and easy to understand.

Jemoka5 karma

That makes sense. Thanks for the advice and thanks for checking out Condution!

trainman2616 karma

OK, so I'll be honest, I hadn't heard of this before, so I thought I would give it a try... Do you have some more detailed instructions somewhere? For instance I can't, for the life of me, figure out what the globe icon means, how I set task priorities, and how to give tags weights.

Jemoka7 karma

Really sorry about this! Here’s documentation on the anatomy of a task: https://docs.condution.com/guides/task.html

The globe button is to toggle floating time zones. Back when traveling was a thing, this option was meant to allow users to select whether a task due at, say 4 PM would still be due at 4PM if they travelled to another time zone (instead of being due at whenever 4PM in their home time zone is for their destination time zone.)

To set tag weights, tap the manage tags button located in every task next to the repeat button. Then, add the tags in the tags field to the tasks you desired.

We don’t have a priority system, but tag weights and manual ordering of tasks in projects are good alternatives

trainman2613 karma

Aha, I get it... for some reason, the tag button doesn't show up on my computer. On my phone, it works. thanks!

Jemoka2 karma

No worries! You are welcome! Sorry for the inconvenience.

gogovachi1 karma

Hopping on to comment, I downloaded Condution on Windows to try it out. One of the tutorials mentions you click on the three vertical dots to change a task to sequential. I'm guessing on mobile apps it's the three dots, but on Windows it's the horizontal arrow and vertical arrow toggle which does that. I was fumbling around looking for them elusive dots for an embarrassing amount of time.

Jemoka3 karma

It is not embarrassing if it was our error! Thanks for the bug report! If you find more, let us know!

gogovachi8 karma

Also have to say, I'm deeply impressed with your attitude and openness to feedback in this thread, as well with what your team has accomplished at a young age. If you don't mind me asking, what inspired you and the team to embark on this project? Did you have any support from your school or family?

Jemoka4 karma

Thank you so much! One member on the team wanted a better, free alternative to OmniFocus. If course our family supported us on this project, but our funding came all from Patreon. Thanks for asking!

zachtheperson5 karma

I'm developing some open sourced software that I plan on releasing soon, and was wondering what was it like marketing and bringing awareness to you app? How did you do it, and how long did it take for people to actually start using/contributing to your software?

Jemoka5 karma

Honestly, we used social media and other free awareness campaigns to first get the word around. As one member of our team was very interested in GTD, we started promoting on where all the “task management people” hang out; it kinda just snowballed from there

zachtheperson2 karma

How long did it take to start gaining traction?

Jemoka5 karma

A few months probably?

JamieOvechkin4 karma

How did you approach any specific design choices you made in terms of the user experience of the app?

What unique design elements does your app have that you’re most proud of?

Jemoka8 karma

First of all thanks for the question!

I think as a team we're pretty proud of a few design choices we've made, but one design choice I'm personally pretty proud of is our tag workflow. Our tag workflow has a system of weighted tasks and a calendar heatmap view. This allows users to assign different weight values to different tasks and view how "weighty" a particular day is.

A different member of the team is most proud of our upcoming view and how it sort of forces you to adhere to the GTD workflow of actually dealing with the tasks in your inbox.

Another member of our team really enjoys the way the quickswitcher allows them to navigate quickly and smoothly through the app.

So to answer your question everyone sort of uses the app in a different and personal way which causes us to enjoy different parts of it. If you end up using it we'd love to hear what you most enjoy!

LazyOrCollege3 karma

Hi all. What’s one thing from your childhood that really sticks out as one of the reasons you’ve developed the passions you have at such a young age?

Jemoka2 karma

This is my personal story, copied and pasted from an application :p

“Jack, come here, let me show you something.”

My father turned his computer screen toward me. Suddenly, endless green hills jumped up at me; slowly, they changed into towering skyscrapers, and in the next second, they morphed into majestic yellow canyons…

Scrolling through the artificial renderings of a foreign world on Google Earth, I was awed by the detailed three-dimensional images of the global centres of humanity — from Eastern plazas of culture such as the Forbidden City, to the Western heart of global policy like the UN headquarters.

These digital trips charmed me in many ways: the vastness of our Earth, the varied differences in human experiences, and, most importantly, humans’ everlasting work to improve and beautify our world.

My awe compelled me to investigate computer technology, both from sheer curiosity and to find out the endless possibilities that it promised. My explorations led me to grow a sense of ownership and responsibility for our home planet, and compelled me to create software systems that would both benefit my community and spark the imaginations of further generations.

Thank you for coming to my Ted Talk.

YeahItsKamran3 karma

I’m a 17 year old kid and i think software development is what i want to do, but i have barely any experience, and a mediocre GPA (3.2). Have any tips on how to get started? Is college necessary? What is the best path from here? Working with a team, creating apps, and making the internet a better and cooler place is like a dream of mine. I actually created a VR game on Oculus with Unity and MagicaVoxel, albeit a quite simple one, but that’s really it. I’m worried that at 17 it’s too late to get started because i goofed off for most of high school, slacked and failed classes, and lost myself and my passions, but now i remember what i love doing and want to get back on track. What are your tips for just getting started, what things should i begin learning to do what you guys are doing?

Jemoka3 karma

Sorry, I didn't see the edit to your comment until now. No, 17 is not too late to get started and simple is a great place to start! The past is the past, yes it won't help that you slacked off, but what matters now is that you've realized what you want to do. You can do this, but you have to stay determined. Don't be dissuaded by anyone.

It will take effort, but if you put your mind to it you can do this.

Jemoka2 karma

We’re just sophomores in high school (15-16 years old) so I’m not sure we’re qualified to give advice here; however, while College isn’t necessary it’s very much recommended. If you have the financial ability to go it might give you the degree necessary to land a higher position in both pay and rank. Just remember that where you go for your undergrad is much less critical than where you go for your graduate degree (if you decide to pursue one).

However, to get started, you don’t need to go to college to learn the software. The best way to learn to program is to start with a basic tutorial and go from there with fun and interesting projects. If you have friends that want to learn alongside you that’s even better as they’ll help you stay motivated. Start smaller and get bigger and soon you’ll grow more and more comfortable. Maybe even try things that will help with resume material. Soon you might be able to land yourself some internships/jobs which will give you more experience and a better sense of what it’s like to work as a software engineer.

Just remember if you know this is what you want to do you can do it. Let your passion shine through.

Oh and uh, before you do any of this you might want to discuss this with someone more qualified (like a college counselor if you have them at your school).

YeahItsKamran2 karma

Thank you!! And yes i’m starting to view college as not only a way to learn but also a way to network and create opportunities with other people to learn more outside of academics. This is very insightful.. thanks again, and i wish you nothing but luck and success in your future endeavors :)

Jemoka2 karma

Thank you so much!

maverickdfz3 karma

Why 4 spaces over tabs?

Jemoka3 karma

Idk it was the default on one of our vim configs so it became so

p44v9n3 karma

Based on features /usage, do you see this as being a competitor for Jira? trello? Or todoist and other simpler to do list apps?

Also do you have a publicly available feature roadmap?

Jemoka3 karma

No roadmap, but great idea! I will get on that asap, sounds fun!

Our goal is to make a task manager that is 100% feature complete, on par with any other app, while still being simple and intuitive. So yes, we are competing with apps like trello, as well as things like Todoist and OmniFocus

Ericchen12489 karma

Hey there.

I saw your original post and downloaded the app to test back then. However, it just didn’t work “intuitively”, and lacked a lot of features that I would have needed.

I just downloaded it now, and gotta say, I am liking the new stuff you’ve guys added over the few months, really impressive. But unfortunately I have to say there are still a lot of very basic features and QoL stuff that is missing. I do feel like that if you want attract stay customers, you want work on the basic stuff first.

I’ve been through your GitHub issues. All the feature issues you’ve put in are certainly ones that would make your app “useful”, “stand out”. They are stuff that makes me want to try the app, but they aren’t strong enough to keep me around.

A few very basic things.

Creating a new tasks in projects. If I didn’t enter anything, the task should just disappear, not stay as an empty task that serves no purpose.

No settings page, for stuff like adding tags, change my name, change my password... There’s only one place I found that you can use to modify tags, but you can use them in multiple places with similar UI. If that’s the case, that one place should be on the settings page, not a specific instance of a task create.

Buttons are still way too small. I file this issue back then, you certainly made detection box margin larger since then (back then the box was smaller than the image for some buttons), but I’m still have way too much difficulty precisely pressing them.

Too little confirmation of actions, or an undo button. If I press the delete on a project. Everything is gone, pooof, and something i would have been doing for a while non existent. Either a confirmation dialog to delete, or a quick undo button. Same with other actions. Check box a task in projects. It disappears too, also increments the project progress, maybe I’m too dumb, but I don’t see a way of looking at “completed” tasks in projects to manually uncheck them even.

These are just some issues that I would say are “frustrating”, and definitely a very quick turn off for users, and I would say are certainly much more important things to fix that flashy features.

As a software engineering, and a generally tech savvy person, I normally feel like I have a good benchmark of if something is a bad design. If I can’t intuitively understand something, can’t easily figure something out, a lot of the times, regular users will have an even harder time. One thing I’ve personally done for writing software is have people that are not familiar with your program to test things out. The more casual users the better ( of course not tech illiterate people), good candidates would be your classmates, significant others, that are not in the software dev fields. If they can’t figure out something, don’t teach them, rework your program to make it so it works how they expect it to, because that means other people are also going to have the same problems.

Good luck with this, I really hope you guys can make the app work, it has a lot of potential. I’d contribute, but I’m no good at JS to be of any help. Best I can do is submit a localization pull request (which I just did lol). Side note, went through your code, you have very inconsistent localization and hard coded string values. You def want to fix that soon. It’s a really small thing now that will become a big pain in the butt in the future as code grows. Make sure all your strings use localization before you start forgetting them here and there.

Jemoka3 karma

Thanks so much for your feedback! And thanks for checking out the app again. Settings page is something that we do indeed need, and is actually currently being worked on as the next "major" (well... if you could count settings as major) thing. Tags pane will be added/moved there as part of that update. Sorry that the buttons are still too small. I will try to see how we could make it more user-friendly and to increase the touch area. Project deletion/logout dialogs are an unmerged feature. More testing is currently being done to see if they are intuitive — stay tuned. I think you could just uncomplete a task in the completed page... Could you please elaborate on what the issue is? Sorry for the large grab bag of QoL problems; we will keep working to make the app more friendly to old and new users alike. Thanks for checking out Condution again!

p44v9n1 karma

I’m sure you would do it with condution itself — but check out https://nolt.io for inspo

it’s expensive but very pretty and easy to use

Jemoka1 karma

Oo, looks cool, we will definitely look into it. It could be something we could do in house, or maybe use notion for

RadioactiveCancerCel3 karma

I recently started programing and I have some questions regarding coding languages:

What are the differences between coding languages?

What makes a coding language better than another?

How do you decide which coding language is the best to use when creating an app?

Jemoka5 karma

Well, different programming languages are really meant for different things. There are many different types of programming languages that are better for different reasons.

One thing to consider is whether or not a language can work on various platforms right out of the box. Such languages are can be interpreted (at a performance cost) like Python, but others are JIT-compiled like Java (at a performance cost as well). This means that if you're trying to build some sort of cross-platform script you might consider one of these languages as long as you're ok with the fact that they will be relatively slow.

Another thing to consider is the speed of a language. Most languages are compiled like C++, Rust, Go, the list goes on. These languages tend to be faster at the cost of generally not being executable on different operating systems and processor architectures.

Depending on the language, they can also have lower-level control at the cost of development time allowing for you to have more freedom if that's what you need.

Lastly, when it comes to web applications there are really only a few competing standards. The going standard is to use Javascript and HTML + CSS since that's what most browsers support and prefer. We opted to create our application as a web application and allow it to run locally via a framework called Ionic w/ Capacitor and Electron since, while slow it allowed us to develop for a multitude of platforms.

However, when it comes to developing something there's a lot more to worry about than just programming languages. You have to worry about libraries, frameworks, APIs, and the truth is if you're deciding what you want to develop with you just have to research research research.

atomicscrap3 karma

The going standard is to use Javascript and HTML + CSS since that's what most browsers support and prefer. We opted to create our application as a web application and allow it to run locally via a framework called Ionic w/ Capacitor and Electro

Hi Jemoka!

So you basically coded it as a web app and used a translator to make it into mobile app as well and stuff? That's really fucking cool, I thought one had to manually recode everything in Swift and xcode and stuff like that for ios development so this is actually news to me...

Also, I don't think people on this thread realize the scope of how fucking impressive you are and how advanced this is, being in high school and making this app with your friends. This isn't even close to the typical CS highschool class projects, this is many levels beyond that -yet people are kind of naive and think this is a class project (lol). This is more of a tech startup than a fucking simple class java project lmao. You are probably my idol right now and I've always wanted to do something on the lines that you're doing right now and I'm way way older than you.

I hope I can talk to you later on in the future and ask some more questions man. You are amazing, I'm so impressed.

Cheers

Jemoka2 karma

Thanks so much for the kind words! This is a team effort (I am actually u/Jemoka, but did you notice there was actually a few of us using my account today to balance the workload 😉) and I could not have done it w/o the support of my friends & classmates/colleagues.

RadioactiveCancerCel1 karma

Thank you! Another (maybe stupid) question:

Why are some codung panguages faster than others?

Jemoka5 karma

More “higher level” languages like JS requires a lot more heavy lifting for the computer because it needs to “do more” to turn it into machine code. Think about it like a road, you are on one end, and the computer is on another. If you are willing to work harder (“walk farther”) by writing lower level code (ASM, C), the computer will need to work less (“walk less”) to meet you. Vise versa — less work for you, more for the computer.

wrexinite2 karma

What is your teacher's / faculty advocate's background? Any professional IT experience?

Jemoka8 karma

This is not a project for high school. We are friends in high school from different schools that came together and decided to make an app.

sigedigg2 karma

Is there, or will there be a timetable function?

Jemoka1 karma

Not sure what you mean… We do have a calendar view and a task timeline, but if you mean a Gantt chart, not at the moment. Thanks for the feature request!

sigedigg1 karma

A simple way to see what classes you have. Like the app "Class Timetable"

Jemoka1 karma

I suppose our calendar view + upcoming timeline serves a similar goal. We are task management first, reminders second, though — but this is definitely something that Condution could do.

Thanks for the question!

robrobk2 karma

just looking at it, it looks nice, have been looking for a new tool like this.

one question: it has an offline mode and a cloud mode for syncing between devices, are there any plans for a selfhosted option? e.g. i connect all my devices to a copy of the cloud running on my server? (maybe either limited to a single user or a paid subscription)

Jemoka2 karma

Thanks for the question!

Yes, there actually are. We're currently working on constructing a new modular backend that will allow you to do just that. We're aspiring for it to be well documented too, so hopefully, such an endeavor wouldn't be too complex either.

lowkey-goddess2 karma

First and foremost, congrats on building an entire app. It is a massive accomplishment and if I were your parents, I would be incredibly proud. Doesn't matter the age, it is tough and extremely rewarding work.

  1. I see that y'all are using Electron and React. Were y'all able to make the app truly cross-platform (Desktop, iOS, Android)? Did y'all face any challenges while doing so?

  2. I caught a ref to Firebase (assuming Firestore). What led you to use Firebase? And why NoSQL?

If at all interested in exploring Firebase alternatives in the future, there's a SQL based alternative called Supabase (hosted Postgres instance with an auto generated API and user management system). It is in beta and free to use

Jemoka7 karma

Thank you so much!

  1. Yes, thanks to the Ionic Framework this rewrite is really based on making the app truly cross-platform and ridding of that web “smell” from native apps.
  2. Supabase looks so cool! We just used Firebase basically because it was easy and fitted what we need. A branch on our backend is currently working on modularizing our db system — separating DB providers from the API from the query system. We will probably add a Supabase provider (perhaps even as default!) when that’s merged

WalterDiazV2 karma

How do you handle pressure and lack of experience?

I assume you have knowledge, but coming to experience, doubt, not knowing what could happen, how do you do?

Also, how to focus on what matters? How do you know "I have to put my energy on this and not in that" ?

Jemoka9 karma

In terms of lack of experience, we just got better along the way. The first draft of this app was written in jQuery + bootstrap — so we had to go 10 years ahead and write with actual modern web tech by working a few more months of refactoring. It is a lot of work but it’s worth it’s

For “doing the right thing” — to be honest, we don’t ;) everything is a shot in the dark, but if it’s fun + does not hurt school work we might as well do it, right?

pyrotech9112 karma

Hey there! Congratulations on the app this is a really cool project.

What was the most challenging feature or component of the app for you or your team to implement and why?

What was the most interesting bug that you had to fix and how did you find the root cause?

Jemoka2 karma

Thanks!

Perhaps the most challenging feature to implement were perspectives, as the filtering wasn't the most cooperative...

As for the most interesting bug, I'd have to say task delegation ghosting takes the cake. The root of our issues ended up being one of the developers leaving the development server open on their machine, causing some super weird behavior in testing.

We have found that bugs tend to lurk in places where you wouldn't expect, and thinking outside the box is the only way to find them.

theuniversalsquid2 karma

Am a software dev. Have you used jira? Has been the standard in the last four shops that I've worked in.

In my current shop, I've been implementing project tracking in jira for a financial corporation. Also ama if you want.

Jemoka2 karma

Jira looks cool! Our current issue tracking is in GitHub and in our internal condution workspace. Why do you think Jira has became the standard? Thanks for your question!

theuniversalsquid1 karma

I think Jira has become standard because it is relatively cheap, has enough of a backbone to create scripting, querying, and hierarchical issue tracking. Eg: sometimes you have multiple versions of a piece of software being worked on by multiple people, and multiple programs that fall under one business process, and therefore one project.

That's on the complex end, on the simple end you can use it as a simple task chart or bug tracking and submission board.

Jira has also done work to implement some of the major software philosophies such as kanban and agile scrum, and I guarantee the atlassian team has studied the pmbok.

That being said, it can always be done better, and sometimes you have grand opportunities with a new piece of software to overcome limitations of the old, and maybe the best way to do it is to understand the different software management philosophies and integrate them into your software as jira has, and to also understand the limitations of jira and others.

Keep in mind that a lot of these current pieces of software are free for you to try out, I highly recommend doing so.

Keep it up, you have a bright future ahead of you. And speaking from quite a bit of experience, if you build a robust product and find a person who is charming enough to shop it around, there's a chance somebody will buy it.

Keep in mind, there is also money in supporting and updating software that people have already bought... And money in service contracts to provide project tracking etc etc

Jemoka2 karma

That makes sense. Thanks so much for recommending us to checkout Jira and your monetization tip! We will think about it.

drexlortheterrrible2 karma

How do you see development happening in the future? With regards to your senior members leave every year and freshmen come in.

Jemoka3 karma

Thanks for the question!

This app isn't tied to a school club or anything, we are just a group of sophomores in high school who decided to make an app. The plan for now is that the app will age with us.

drexlortheterrrible2 karma

Ah. I kinda assumed it was a school project and would stay with the school for future class/club to work on.

I’m being forced into doing more project management stuff. Will check this out! Now to figure out if I can use it in a corporate environment. I recall v2 license was more friendly by being used in a for profit company.

Jemoka2 karma

Thanks so much for considering us! We happen to have some features that support a more collaborative and corporate environment such as workspaces which allow for the delegation of tasks and a more holistic view of the project as a whole.

If you have any feedback as to what we could add to support more corporate environments please let us know!

xXHacker69Xx2 karma

How old are you folks? (HS student here too).

Jemoka1 karma

sophomores, mostly

xXHacker69Xx1 karma

I’m sorry as a non-English person. Idk what that means. I’m in my last year, and just turned 18.

Jemoka2 karma

15-16 years old (10th grade, 2 more years of high school)

xXHacker69Xx1 karma

Holy shit you guys are young.

Jemoka2 karma

We are young, so please don't swear :(

/s

sicclee2 karma

As someone who just spent days looking for a decent task management solution, here's a couple of questions:

  1. Can you sync tasks/projects with other calendars (outlook, IOS)?

  2. Can you add images to tasks?

  3. Can you modify the way notifications are presented, and how often?

Also, the website has issues in the current version of chrome. You have images (of the MacOS app) that slide in from either side as you scroll down. They either start too late or don't move fast enough, as they aren't where they are supposed to be when I arrive at their vertical position. Some are so far off the mark that I can't see some of the image. 1920x1080, windows 10.

Good Luck!

Jemoka2 karma

Unfortunately, no. All not at the moment. However…

  1. We are actively working on this feature to be released in the next feature cycle. Stay tuned!
  2. No, but markdown content to tasks is something that we will be working on. Thanks for the 1+ on that feature
  3. better notifications are on the blocks for us, but no ETA yet on when that’s happening

Sorry for not having these features quite yet. Thanks for checking out Condution!

HongLair2 karma

Who is the target audience? Is this for me and my personal to-do list, or is this for my software team building out a product and creating user stories?

Jemoka2 karma

Both! I use Condution’s personal workspace for my task management, and our team share a workspace for our task management. Delegating tasks means that my team could delegate a task from their shared workspace to my personal inbox, to be sorted and completed within my own system. In this way, teams and personal spaces could interact.

[deleted]1 karma

[deleted]

killdeer031 karma

Did the team decide on the license?

Did everyone evaluate all the various free/open-source licenses out there before deciding on GPLv3?

Jemoka3 karma

We chose GPL v3 because it is copyleft (derivations need to use same license) and allows general freedoms of copying, sharing, and monetizing if needed. Also, someone on the team was an Emacs user so he had a soft spot for GNU ;)

John_L_Baird1 karma

I don't want to download your app as I don't have enough space on my phone, but aren't you basically recreating a PDA inside a smartphone?

Jemoka2 karma

Yes, we are using ionic which leverages web views to render native components, but if you don't have enough space, you can use our mobile compatible [website](app.condution.com).

Guidii1 karma

Hey folks - great to see you getting some traction and building stuff. Congratulations!

It looks like you've chosen to use web technology to build your app, but then chose to use electron to deploy a "native" installation. Did you consider deploying as a progressive web app (PWA)?

What factors led to your eventual choice?

Jemoka2 karma

I think our website is a PWA, but we did not ship PWA only because electron actually runs generally faster because it has exclusive resource usage, and also we don't think that people are as comfortable with PWAs as native apps. Thanks for the great question!

Lync511 karma

Thats such a nice project! Props to you guys

I wish you the best and hope that you will able to live from your personal projects!

Which technology do you use for the software?

EDIT: Nvm it's literally listed in your GitHub repo...

Jemoka2 karma

Thanks! Yes, we use Ionic, Electron, React, and of course NodeJS.

notaprogram1 karma

Can you make Notion but offline? 🙏🏼

Jemoka3 karma

Um.... we are not really focused on the notetaking aspects and its more focused on Task Management. However, we do have an offline mode called "Local Storage" which is an option during sign-in. We're also considering adding a note feature within projects and tasks and such.

gwh34t2 karma

To piggyback on this... Is it possible to allow the cloud storage aspect live in my cloud? Ie., OneDrive, Dropbox, Goggle Drive.

Jemoka1 karma

Not at the moment, but thanks for the feature request! We will try to add it as part of the storage refactor

lflerianos1 karma

I just downloaded the app and it’s amazing. The UI is super intuitive and managing tasks is much easier and fun now! My question would be, when did you all start getting into development, and which language did you all start with?

Jemoka3 karma

Thanks!

We started about 10 month ago, and we have been in active development ever since. Most of this has been responding to community feedback, so if you want to get more involved, join us on the Discord. We started in JavaScript, and still use it to this day. There is also a lot of CSS and HTML as this is a web app!

mayuraho1 karma

What’s your story? How did this group form? Would love to learn more about backstory of how it all started!

Great work on the app & community engagement! Way to go :)

Jemoka5 karma

Thanks for the question!

Frankly, we are just a group of friends in high school. We became friends after hanging out in freshman year, then the pandemic hit. One morning, I was talking with a now-Condution-developer about how I felt the pandemic affected my productivity, then we decided to make an app! I rallied the gang, and a few months later, here we are.

calibwam1 karma

What are your thoughts on the performance of electron? Is it sustainable if every app you're running is an entire browser?

Jemoka6 karma

No, definitely not. I believe that PWAs are the way of the future for front end, but electron is definitely not the most optimal solution. But, it works for us in terms of prototyping quickly and getting a product out. Thanks for the question!

NormalGuy_151 karma

Have you thought about translating your app to other languages? I would love to see this app in Spanish!

Jemoka1 karma

We do have translations! It is all community driven, and you can see it here. If you want to help out, connect on Discord!

NormalGuy_151 karma

Sent my application to help transtale the app to Spanish. Keep the good work!

Jemoka1 karma

Thanks so much! That would be a huge help.

Ryoka921 karma

[deleted]

Jemoka3 karma

Well, we are open-source, for one. Also, notions tasks are not as powerful as Condution, for they focus more on note taking than task management. For instance: Perspectives and tags are harder to work with in Notion because they require your own implementation and are not as feature rich as Condution sortable perspectives and weighted tags. Notion is a great app, though, for note taking

Edit: original comment was 'why is the app better than notion'

bleskode1 karma

I'm from Brazil and i'm confuse if i really want to work with software, can you help me?

Jemoka1 karma

Neither do we! But we are here, making things, trying it out. No one can decide for you. My best advice would be just to try it out, make some things, and see how it goes.

Best of luck!

JAR5E1 karma

I was wondering if anything in your earlier schooling years helped you with your understanding and knowledge of software development and if not, what do you think is needed in earlier years of schooling (between 5 and 11 years old) to give students a leg up into this field? From a primary school Digital Technologies teacher :)

Jemoka2 karma

The best thing (from a student's perspective obviously) was math. Lots of programing uses math, and it has been valuable in working on this project.

The other thing was having access to computers. Being tech literate from a young age was the equivalent of sounding out words: looking back it seems simple, but at that age the ability to make things online was novel and amazing. Letting students experience that is super important.

Jemoka2 karma

Well having personally been partially motivated to learn computer science by a technology teacher in around 2nd and 3rd grade, I personally find it helps a lot if you motivate them to actually want to learn programming by showing them how powerful it is.

Personally, this came in the form of robotics since when I was small I could whip up some simple python (which of course wasn't simple for me back then) and make something very tangible occur. Learning to code with print statements might be viable when you're older, but at a young age like most kids, my ability to learn without a relatively high rate of gratification was low.

Secondly, really teaching the basic concepts of loops, variables, and functions gave an intuitive sense of how these work. This would go on of course to be quite helpful as I advanced since really knowing what I could do with programming motivated me to continue learning it.

I can't really speak for the rest of the team, but basically what I'm trying to say is: motivate them to want to code first, and then teach them how.

AllMemedOut1 karma

How did you make it cross platform? Electron?

Jemoka1 karma

Yes, we used Electron for desktop and Capacitor for mobile.

hotsprings12341 karma

I see a waterfall and agile blending approach which is good.... Do you have plans to include a burn down chart of given a start date, task name, hours, % allocation then freeze that and weekly I then update the actual hours and a graph begins to form showing if I'm using my hours too fast or if I will have enough to make it to a targeted deadline or go live?

Jemoka1 karma

Thanks for the suggestion!

That is currently not in the plans, but you are welcome to open an issue on our GitHub repo.

mikwee1 karma

Thanks for releasing your software into the free commons! One question, tho: What separates your app from other FLOSS task management apps, such as OpenTasks?

Jemoka2 karma

We are cross platform! A lot of FOSS task management apps are either desktop only, android only, or just a protocol. We are on basically every platform because we have a great patreon community that support our licensing and development costs.

1unfinishedsentenc1 karma

How did you guys manage to work on your application & do school at the same time, like wouldn't that get hard after a while?
Also, what kind of advice would you give to people who wanna start and are interested in learning programming but dont know where to start?

Jemoka1 karma

  1. COVID! I honestly don’t think this would be possible to start without it being a “quarantine project”. But now that it’s rolling it’s always possible to find time… cut back the videogames and you’ve already got a few hours ;)
  2. start making things! If you are interested in making apps, start learning JS and HTML. Then, move on to things like React. If you are with machine learning, learn Python and start training some basic model. Projects are the most fun way to start learning programming

And yes, I really think once you learned one language, learning another is simply a mechanical/paradigm shift — so the transition cost does not feel as high.

Thank you for the question!

1unfinishedsentenc2 karma

thats really dope, great work; p cool that you managed to do it as HS students, at that.
icic, thanks, ill check those out then. I wanted to start earlier but my school's courses aren't really great, so eh. ig ill check out codecademy or khan academy or something for better learning.
np, thanks for answering, hope y'all have a great day :D

Jemoka1 karma

No worries! Thanks so much for your kind words!

Immediate_Depth5321 karma

What are your suggestions for finding the right team members? Did you do interviews? And how do you deal with teammates who are not pulling their weight, and just doing the minimal and writing sloppy code?

Jemoka1 karma

We don’t have team members that aren’t pulling their own weight, but that’s mostly because we are all friends with each other and knows our programming abilities well enough. Although, one member tried to be on sabbatical, we all agreed to it, but then it turned less than fruitful…

But all jokes aside, as we are onboarding new members, I personally tried to look for people with a genuine interest in task management and react. Making them work a project on their self-direction, seeing what/if they ask any questions, and looking at their code is the best way to judge someone tbh.

Thanks for the question!

AlexTraner1 karma

Hey guys! I’m going to download your app for myself and maybe my sister. I have a suggestion though, and a question.

Suggestion: your user interface looks awesome. Maybe add in some tools specifically for kids with special needs? Things like picture icons, completed buttons that make pleasant sounds, etc. You might have better ideas, I’m thinking for the middle schoolers and high schoolers with Fetal Alcohol Spectrum Disorders, Autism, Down’s syndrome, etc. My brother in particular would benefit from constant reminders until it is done and a mandatory picture to prove it. (His is for things like eat breakfast, make bed, put on clean clothes).

Question: do you have a plan in place to allow payment after the fact? It could be a donation system or whatever but with incorporating things the way y’all do and the price point, some of us would be glad to donate. Maybe even just extra “features” like custom app icons (give a bank of them normally, then a paid “custom image” option for example). However works best for y’all, but especially if I can use this for my brother, I personally would love to be able to give back towards the development team.

Jemoka2 karma

Hey! Thanks for writing in.

  1. We don’t have any custom icons at the moment, but we would love to add some! Repeated (and also just simply better) reminders are something that we are actively working on, but thanks for the 1+ on the icons/sound feature
  2. yes, we do have a Patreon where you could pitch in to support development

Thanks for checking out Condution!

dua_sfh0 karma

How do you plan to monetize it? Or just doing it for experience / fun ?)

Jemoka1 karma

Thanks for the question.

We don't plan on monetizing it, but for general upkeep and licensing costs we do have a Patreon!

TheAnonymous1234560 karma

Are there any hiring opportunities for Shabang? I'm also a high school student. I have extensive python, machine learning, and deep learning experience.

Jemoka1 karma

Although we are not hiring per se, feel free to hop onto our Discord and ping core-devs. Let’s start a conversation!

ishagsheepatnight0 karma

Do you think being in high school made it easier or harder to form a functioning team and do high school systems of power(popularity, athletics, etc.) affect leadership in the group?

Jemoka3 karma

haha, we are a small group of close-knit nerds. We are all just trying to make it work and do cool stuff, so popularity and athletics aren't really a factor.

DidYouWhat0 karma

Have you guys ever seen a ghost, and if so, what was that experience like?

boojew0 karma

Looks awesome! I am on OmniFocus right now, but I could see how this platform is an awesome competitor. Some questions/ideas: 1. Natural language support? I find this one cool. Doesn’t add huge value… but still cool 2. Integration with native IOS reminders - is that something you want to pursue? 3. Adding pictures to perspectives 4. Webhook support? Inbound would be great - outbound would be crazy powerful 5. iOS share sheet integration.

Thanks and keep up the amazing work.

Jemoka1 karma

Thanks for the questions:

  1. We do have natural language support! You can use it for setting due and defer
  2. Yes, we do have native iOS reminders, but task based notifications are still being worked on. The notifs now are just for updates
  3. Pictures for perspectives seems a bit out there, though we will consider it!
  4. We do have some rudimentary webbooks that we use internally, though we are still working on that for public use
  5. We don't have share sheet integrations yet, but we will look into it!

Again, thanks for all the feedback! If you have anything else, join the Discordand lets chat!

boojew1 karma

Sorry for #2 my question was more about getting reminders that were sent to the native Reminders app. The major use case is to get items that were sent there by Siri.

For the perspective pictures I should probably explain why I asked. I played with the app, and I could see myself tagging items that I need to follow up with individuals on- but I wouldn’t assign them. Ex: “remember to ask X about y”. Then building a perspective that would show me all the items tagged for those individuals. Adding individual photos to those perspectives would allow me to put the person in questions pic.

Probably a super specific use case - but I do something very similar in OmniFocus and it’s super powerful and helps me remember to make sure I follow up on stuff.

Jemoka1 karma

Ohhhh, that makes more sense. We are working more on whole app updates, and less about platform specific features, though that will come later.

I think your use case is a bit specific, but how does color coding projects, tags, and perspectives sound? Lets connect on Discordand talk about this more: it sounds like a great idea!

thatkatrina0 karma

Asana is free. What makes your tool a better option?

Jemoka1 karma

I’ve used Asana for a while; it’s more focused for team management, project tracking, and Kanban. We try to be more well-rounded between simplicity, personal task management, and project management.

Also we are open source ;)

Thanks for your question!

rollie820 karma

What is goosh?

Jemoka2 karma

Looks like an error in the CSS, oops!

rollie820 karma

Just an interesting commit comment :D

Any reason you selected class based react vs hooks? Also, I assume FANCYCHANGE was to work around perf issues, but shouldn't be needed I think; did you consider using redux or react context for shared state (i.e., handling project name changes in top bar edit box so they propagate to the project list on the left)?

Jemoka2 karma

We used classes because it felt more ergonomic to use for things like tasks with has many dependencies. Thanks for the top on react contexts! We are actually working toward refactoring with contexts in mind.

gleaton0 karma

Who is Mark Smith?

Jemoka1 karma

I think like a template name someone just decided to use for some of our product demos. Other demo pictures include actual team member names, references to book, or just more random names we thought of.

Karl_Marx_0 karma

What do you mean task management? Like a planner?

Jemoka3 karma

Yeah, by task management we mean stuff like checklists and projects

Penza90-1 karma

I look at the repo and see a macOS screenie and that it uses electron. If you want to manage tasks, presumably you’re doing so to debug some type of issue on your system. Why run such a whore of a software platform as electron if that’s your modus operandi?

I’m personally sick of seeing software use giant packages and frameworks that bloat the resultant package to be larger than large software products like Adobe suite products or MSOffice products.

Jemoka3 karma

We aimed to design, prototype, and ship as fast as possible. To that end, we used web technologies to universalize our work (no need to make three versions of the app for three platforms.) If you believe Electron packages are big — which, admittedly they are — simply use our app at app.condution.com as a PWA. That shouldn't take much storage and will have basically the same features bar notifications and auto dark mode.

Jemoka2 karma

Also, this is not an activity monitor... This is a productivity suite for making projects and checklists. Sorry for any confusion! 😅