You can start by building the simplest thing that 'works' and then add details later. Try to enforce a fast development cycle, so you can easily try things out and get immediate feedback. This helps keep it focused and aligned with user needs, while slowing down feature creep. Remember to have a deep understanding of how your product is used. Sometimes, understanding the use case thoroughly might help you come up with an even better solution. The better you understand your users, the better products you create. Instead of implementing the solution right away, it helps to ask about the problem you're trying to solve. When people come with suggestions, they often figure out a solution. For me, it's important to put on my 'user hat' and look at my product with the eyes of a user, again and again and again. That's what differentiates awesome software from tolerable software. To figure this out, you need to get a deep understanding of the user. How do you understand a user's true needs? It may be that a less “powerful” dashboard, one more tailored to their needs, is what they're looking for. They might end up feeling overwhelmed with all the options available, clicking around ten times before they gets what they needs. However, this may not be helpful to the user. It's easy to forget that what you're building is, ultimately, for the user.įor example, if you're building a dashboard with charts displaying trends of finances, it can be tempting to make it generic and customizable, so users can do "anything" with it. It sounds trivial, but this is actually important: make sure you’re solving real problems for real people. Then implement a solution incrementally, while continuously checking whether your solution indeed solves the need. In short: first understand what you need to solve and why. How would you describe your problem-solving process? I never want to be a limiting factor in the future growth of a library with lots of potential. There have been moments where I thought I'd have to drop a project because I simply didn't have the time to maintain them all. It's easy to underestimate the amount of work required to maintain a library once the number of users increase. It can become really hard to balance, as explained in the previous answer. The disadvantage of this is that your time is split. If I'm tired of one, I can continue on the other. Juggling multiple projects means I always have something interesting to work on. There are simply so many interesting things I love to work on! I only wish I could get more hours in one day. What are the advantages & disadvantages of working on multiple projects at the same time? I've created a rule for myself, to manage this-I spend a maximum of 50% of my time on community-driven issues, and I leave the rest for my personal work. While these inputs are extremely valuable and help improve your product, there is sometimes so much input that I find it hard to get back to my agenda. Input from the community is not something you can control, neither the subject nor the timing. The hardest thing for me to juggle is working on new features, following my own agenda, fixing issues, pull requests, and answering questions from users. I never work on multiple features at the same time, because I'm already stretched too thin. I pick one feature from a particular library and work on it until it's finished, before moving on to another one. I set aside some time each week to work on open source projects. Today, I have created a routine for myself. How do you juggle multiple contrasting projects such as Mathjs, JSONEditor & others? I made a conscious decision to work on JSONEditor along with Mathjs in my spare time. I saw it as a temporary solution, and never imagined it to grow this way. Soon afterwards, I created JSONEditor out of a personal need. That's when I decided to focus all my efforts into building one math application, Mathjs. What resulted was that I started one project after another, none of them ever getting finished-because the number of ideas grew faster than I could build them.Īt some point, I got fed up with doing a lot but having nothing materialize, and I wanted to build something "real", something that would be useful for others too. When I first started writing software, I had a lot of ideas which I wanted to try out right away. How did you come up with Mathjs and JSON Editor? He lives with his family in Rotterdam, the Netherlands. Jos is a passionate programmer who enjoys the creative process that programming is. Data is displayed side-by-side in a clear, editable tree view or code editor. JSONEditor lets users view, edit and format JSON. Mathjs is an extensive math library for JavaScript and Node.js which features a flexible expression parser with support for symbolic computation. Jos de Jong is the creator of Mathjs, JSONEditor, and others.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |