Open comments for this post
OVERVIEW:
Began work on front end! Nothing is functional atm, and it doesn’t look great, but the framework is there. All of the projects and middle stuff are placeholders. It does look workable though. And also I actually figured out newlines?!?!?!?!?! Thanks random guy on slack
NEXT STEPS:
- Improve looks
- Other pages
- Improve extension design
CHALLENGES:
- Variables in css, they should be helpful for later editing of design, and was very interesting to learn.
For this devlog I decided to also highlight some challenges that have been persistent throughout the projects, those are below.
- Error messages. In an effort to improve the opensource-ness of my project, I have been working to include fallbacks and useful error messages. It is not only helpful for my own debugging, but for everyone else trying to use or replicate my project!
- Proper naming conventions for variables and functions are also part of this effort for me, in the past I just make everything camel case, but recently have been trying to do better with this.
Open comments for this post
OVERVIEW:
Linked server to a database! I am using sqlite to store all data, which was really fun to learn. Whenever the server receives a packet, it pushes it to the database, which updates in real time. Also set up framework to have get requests from the database, so data can be read. Also turns out I lied about being able to use devlogs correctly, my method for newlines in these devlogs just stopped working, its great.
NEXT STEPS:
- Begin webui, I decided to use react after some research because it appears to be much more useful of a skill than just vanilla html, css, and js, which is what I used for webos.
- Improve extension design
CHALLENGES:
- I learned a lot about databases which was really interesting, however I found it difficult to figure out how bits worked in the database as well as learning how sql requests work
- It was also difficult to be able to see the database, it isnt a necessity for the project but is really nice so you can actually see the state of the project data
Open comments for this post
OVERVIEW:
This time was spent creating the basis for what OpenAtlas will become. I created a basic extension, imported it into firefox, and made it communicate with my server. I learned a lot about how extensions work. It should also be backwards compatible with Chrome. I can’t wait to learn about databases. Also, I finally figured out how to properly format devlogs, HackClub please make this easier, just make newlines be newlines, I am begging you!
NEXT STEPS:
- Create and figure out how to use databases
- Start WebUI
- Improve extension design
CHALLENGES:
- Learning how to use a manifest in my extension and how important they are
- Learning how javascript can interact with a browser through various commands
- Learning how servers work and can be interacted with
Open comments for this post
OVERVIEW:
Very sorry for the short devlog but finished readme, fixed bugs. No real new features were added, but prepared for final release, fixed bug with deployment to demo site and made sure everything works as expected on it.
.
NEXT STEPS:
- Confirm no bugs are present
- Ship!
.
CHALLENGES:
- I have trouble making readmes, but it was a lot of fun to research what goes into them and why they matter. I enjoyed creating it, and cant wait to share it with everyone!
Open comments for this post
NOTE FOR VIDEO: The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely. (also check out my mad minesweeper skills)
.
OVERVIEW:
Finished minesweeper! There is now a fully working minesweeper game. It generates the game and works similarly to the original minesweeper game. It took less time than expected thanks to my existing framework.
.
NEXT STEPS:
- Polish
- Prepare for ship
.
CHALLENGES:
- Debugging is difficult as this is the most javascript I have written for the project
- Using JS to create and modify CSS, a lot of the styling was written in javascript as opposed to directly in the css files, I did this because the game was constantly changing and hence required constant stylistic changes, as well as to challenge myself in new ways.
Open comments for this post
NOTE FOR VIDEO: The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely.
.
OVERVIEW:
Added framework for a minesweeper game. Also fixed a lot of general bugs. Prepared my portfolio site at https://jackjacobson2011.com to publish the project. Please note the portfolio itself is not a part of the project but was included in this devlog for the sake of demonstrating the effort put into the easy access of my project.
.
NEXT STEPS:
- Finish game
- Upload to website
- Polish
.
CHALLENGES:
- Figuring out where the root cause of bugs were (usually from hard-to-catch typos)
- Utilizing global functions to simplify code
Open comments for this post
NOTE FOR VIDEO: The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely.
.
OVERVIEW:
General quality of life update! Added window snapping, to both sides and the top to maximize. Added window focusing system, allow use of multiple apps at once and better general use. Also on the backend, split the index.html file into a much more organized multi-file system! This allows for much better readability, sharability, and bug fixing. Also fixed various bugs throughout OS.
.
NEXT STEPS:
- Add game
- General polishing
.
CHALLENGES:
- Having multiple files introduced the need for global functions. I was very confused when many different scope and definition errors. I learned how to make everything usable globally, which simplified a lot for code and fixed errors.
- The snapping introduced very interesting behaviors with how the window is dragged and used, fixed by using various prevState variables and dissecting behaviors to see how they happened.
Open comments for this post
OVERVIEW:
Added a functional power menu. Currently, there are two options in the menu, restart and power off. Restart reloads the tabs, power off attempts to close the tab, although most browsers wont allow it so it gives you a pop up.
.
NEXT STEPS:
- Add some sort of game (im thinking snake)
- Add window focusing system
- Split file into multiple (1000 lines in one html file might be a bit much)
CHALLENGES:
- Learned how to use classes in HTML, making cleaner and easier code
Open comments for this post
OVERVIEW:
Finished the terminal app! It turned out to be a very interesting project. It works by having a certain input, where it checks a separate file to see if that input has a designated output, and then gives the output. Works very well, and looks great!
NEXT STEPS:
- Add some sort of game to the OS
- Make terminal actually change things on the OS?
- Power Menu
CHALLENGES:
- Input is a very weird tag, caused a lot of bugs that had to be squashed
- I very rarely use separate files, figuring out how to implement that and how it makes my code simpler and cleaner was a great experience.
Open comments for this post
NOTE FOR VIDEO: The lag is because my computer is terrible, without screen recording there is no lag. This will not an issue for you most likely.
OVERVIEW:
Added the framework for a terminal app! It shouldn’t have been much work, but I encountered a lot of bugs with the general system. The taskbar behaves better, and soon there will be a terminal.
NEXT STEPS:
- Make terminal functional, certain word input –> certain words for output. Help command to list things, info about project, joke commands, etc.
- Add power menu, where shut off closes tap, restart reloads it, etc.
CHALLENGES:
- This has been a challenge throughout the whole project, though I haven’t talked about it yet but arrow functions! I’ve heard they’re much more efficient than other ways of doing it, but I didn’t know how to make them. Research and practice now makes it so all of my events are using arrow functions
- Design challenges, deciding what behaviors I want when certain things are pressed, and how to prioritize certain things in the OS.
Open comments for this post
OVERVIEW:
Added and refactored code to make the notepad app usable! You can open it and use it from the taskbar and the dekstop, type and save text in the editor, and maximize and move the window.
NEXT STEPS:
- Add more apps, specifically a “terminal” where you can see certain things and kinda just mess around
- Start menu to search and start apps?
- Bootup page
CHALLENGES:
- text input tag is new to me, so its parameters and making it stay inside the window was difficult.
- Taskbar had weird app performance with glitches being common when clicked
Open comments for this post
OVERVIEW:
Added framework for apps! Created a way to add icons to the desktop, click to open them, drag around the windows, and control the windows using button, implemented 12 hour time clock, confirmed it worked with different time zones.
NEXT STEPS:
- Add functionality to notepad
- Fix bugs with maximized windows (task behaving weird)
- Add more apps
CHALLENGES:
- Javascript behaving weird with editing document features for the windows
- Dragging difficult to implement, wasn’t working when in certain places or when mouse moved in certain ways
- creating something that looked actually niceish (this is good enough, right
Open comments for this post
OVERVIEW:
Worked to display an image in the background (currently windows xp, might be updated to something custom in the future). Added a clock to the bottom right.
NEXT STEPS:
12hr format, test how it responds to different timezones
Notepad app?
CHALLENGES:
- spent time trouble shooting clock javascript, forgot to properly define a variable (had const now = date instead of = new date)
- Had issue with line that sets background because I put the wrong path to image