Announcement

Collapse
No announcement yet.

Web App Design

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Originally posted by DrestZ View Post
    you mention live feed, what do you exactly mean by that ?
    Any type of feed you can imagine, really. It's crazy easy to pull all kinds of arbitrary data as a feed.
    Creator of NewNet for UT99

    Comment


      #17
      Would be awesome to see individual weapon accuracy similar to QL, keep up the good work

      Comment


        #18
        Quick update for anyone curious: I'm working on making everything more developer friendly. It will hopefully only take a week or two, but I have some other (unrelated) pressing matters to take care of at the moment, which might delay things further. After that, everything should be ready for public consumption.

        Creator of NewNet for UT99

        Comment


          #19
          I've been implementing the developer-friendly improvements over the past couple of weeks. Three major improvements in the works:


          1) Better modularization of the backend so that:

          A) People can install the modules via NPM (Node.js Package Manager).
          B) People can mix and match their own modules if they don't agree with my approach.


          2) Removing the dependency on jQuery on the frontend and replacing the view layer with React.js. This serves a handful of different purposes (benefits):
          • React.js is the new hotness in the webdev world, and it's already extremely similar to the view layer that I originally created (down to some method names and terminology) so the switch should be quick and easy.
          • Given that React is gaining tons of traction, it will make it that much easier for other developers to contribute since there's a good chance they'll be familiar with it.
          • React is an open source library created by Facebook designed for extremely efficient rendering of components (equivalent to the view layer of the "component system" that I described in my first post) and is actively being improved upon by incredibly smart people. It, along with Flux and soon to be Relay and GraphQL, powers most if not all of Facebook's frontend, so we know it's battle tested and can handle millions of users, no problem. And of course since it's free and open source and constantly being improved upon, this gives us time to focus on building cool stuff rather than worrying about improving the view layer ourselves. If you aren't familiar with React, just google "ReactJS" and check out some videos from the latest conference. It's pretty nerdy but if you're into that kind of thing, you should immediately see why the switch is worth the time investment right now.
          • Another major benefit of React is the ability to create isomorphic web applications. This means large portions of the code on the client will match the server. Why is this awesome? It's awesome because developers only have to write in one language and they only have to worry about the end user experience. Plus, the server can render the initial page while the client subsequently renders only the components of the page that it needs, which makes everything super snappy (instant) and feels like a native app, while maintaining all of the benefits of a web app. Plus! People with JavaScript disabled or people on low end machines (certain phones, etc.) can still use the app.
          • Replacing jQuery with React will improve both page loading and DOM manipulation performance. Again, this means people with slow or limited connections and/or low end machines will have a much better experience.



          3) Creating developer extensions so that instead of using the in-page code editor (relatively slow!), developers can use their browser's native development tools. If you're familiar with WebKit's (Chrome's/Safari's/Opera's) or Firefox's "inspector", that's what will be extended. This shares many similar benefits as mentioned with React:
          • Almost every web developer already uses these tools. The extension simply adds some extra functionality specific to the app and its components - e.g., real-time collaboration, saving and deploying directly from your browser, etc.
          • Any improvements made to the native tools will be immediately reflected within the extension. Again, this allows us to focus on what really matters: the user experience.



          I think that covers everything so far.
          Last edited by timbur; 06-23-2015, 12:51 PM.
          Creator of NewNet for UT99

          Comment


            #20
            Hiya. Is the source restricted to contributors for now?

            Comment


              #21
              The source for everything on the client will be easily accessible from within the web app itself. And when things are further along I'll put most of the source (both server code and core client code) on GitHub and publish all of the Node modules to NPM.
              Creator of NewNet for UT99

              Comment


                #22
                Servus,

                I'm a former Google product designer and also have a couple of years of front-end dev experience. The first question that comes to my mind, did Epic already guarantee an API to catch those infos ? Or do you plan this to be published via Epic ?

                Comment


                  #23
                  Steps are being taken to ensure it is compatible with and will integrate easily into everything Epic's doing, while maintaining the ability for people to branch off of it for their own purposes.

                  Things probably seem like they're moving slowly for this right now, but once all these critical pieces are in place (almost there!!!), it will be really easy for anyone to contribute and we should see a bit of a snowball effect in its development.

                  EDIT: LOOPBACK WILL NO LONGER BE USED WITHIN THE BACKEND. DECIDED AGAINST IT SHORTLY AFTER THIS POST.
                  Last edited by timbur; 01-25-2016, 06:14 AM.
                  Creator of NewNet for UT99

                  Comment


                    #24
                    Front-end developer here.

                    I'm very interested to help out with this effort, my experiences with Node frameworks (Express, Hapi, LoopBack) and front-end frameworks (Angular mostly) will hopefully be useful to help contribute to this web application

                    Comment


                      #25
                      Originally posted by angry_unicorn View Post
                      Front-end developer here.

                      I'm very interested to help out with this effort, my experiences with Node frameworks (Express, Hapi, LoopBack) and front-end frameworks (Angular mostly) will hopefully be useful to help contribute to this web application
                      Awesome! Good to know!
                      Creator of NewNet for UT99

                      Comment


                        #26
                        this looks fantastic! great idea, will use this a lot. good job

                        just letting you know, in case you didn't already, the website is broken on an iPhone 6. using safari or chrome, it wont work at all (ie. the enter email address field is unusable)

                        Comment


                          #27
                          Originally posted by bacon buster View Post
                          this looks fantastic! great idea, will use this a lot. good job

                          just letting you know, in case you didn't already, the website is broken on an iPhone 6. using safari or chrome, it wont work at all (ie. the enter email address field is unusable)
                          Ah, thanks for the heads up. I put together that landing page in a weekend last year and never tried it on a phone. I'll be replacing all that with the actual app ASAP.
                          Creator of NewNet for UT99

                          Comment


                            #28
                            Alright, so the modularization of the back-end is completed. And I made the switch to MongoDB for maximum compatibility with Epic's back-end, which led to refactoring some logic, but everything is nearly perfect now with little to no technical debt. It should be really easy to extend, customize, and scale to any number of users.

                            Next on the todo list is creating developer tools extensions for Chrome (WebKit) and Firefox. 90% of the logic is already implemented. It just needs to be put inside its own extension to work with browsers' native development tools. Hopefully everything comes together easily in that department. I'll also be incorporating React into the view layer as I go along, since the dev tools will need to be compatible with React's developer tools.

                            I really want to have this ready for public consumption by the end of the month, but that would really be pushing it. It depends on how easy it is to integrate everything into the original front-end. I wish all of this technology existed back when I first started developing the framework behind the app!
                            Last edited by timbur; 03-24-2015, 09:26 AM.
                            Creator of NewNet for UT99

                            Comment


                              #29
                              Quick update: It ended up being really easy to create the dev tools extension for Chrome. All that's left now is finishing converting the existing code to the React + Flux way, adding some hooks specific to UT, and putting together a few short guides to help other folks get involved.

                              Creator of NewNet for UT99

                              Comment


                                #30
                                Almost done! Ran into a few speedbumps along the way (as usual with these types of things), but the refactoring of the code-base is essentially complete and should be future-proof.

                                Along the way, I've been learning as much as I can about future web standards to ensure long term compatibility. And so now, within the development environment, with no extra setup, you can use ECMAScript 6, which contains all kinds of improvements to modern JavaScript development. ES6 is scheduled to be available by default in all modern browsers later this year, so it makes sense to go ahead and use as much of it now as possible. Plus, many of its features are designed to enforce the scoped module pattern (separation of concerns), which makes developing complex web apps a thousand times easier. It's kind of mind boggling to me that the web dev world has only recently widely adopted this pattern.

                                So what does all that really mean? It means when people develop something for this app, that thing will always work as intended, regardless of what any of the other pieces of the puzzle are doing. It means many of the things we create can be reused in other projects (not even related to UT) and that same knowledge and experience can be applied to any other aspects of modern web development. It means we can use any modules already out there to make this thing awesome. If you're half as nerdy as I am, I imagine you're pretty stoked!

                                Here's a picture of a cat to entertain you until everything is ready:
                                Creator of NewNet for UT99

                                Comment

                                Working...
                                X