Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > Hero Lab Discussion
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
loodwig
Junior Member
 
Join Date: May 2014
Posts: 6

Old May 9th, 2014, 09:45 PM
Quote:
Originally Posted by Fuzzy View Post
I, obviously, don't know how your code was written, but usually, in a data driven program, the UI rendering and interaction is separate from the data manipulation. Only the rendering and interaction would need to be written for html display/response. It's likely your existing 'panel' objects would be able to be ported to the HTML, while leaving the data side alone.
It's not that simple. It would be reasonable to port something from a c++ application written on windows to a c app for linux, assuming you weren't married to the windows api when you wrote your app. Similarly, it's not beyond reason to rewrite banking software written in Java for a totally new stack written in Python, assuming you developed good MVC, abstracted your front end and db tier, and could port over much of your same logic to the new code (hell, there are automated tasks that'll do most of it for you). But going from a stand-alone application to a web application is a complete paradigm shift.

It'd be a similar analogy to say that we've successfully built a rocket to the moon, now we just have to do it a little differently so that we can build the internet. There's no reuse, and virtually no overlap in skills, even in terms of business model and logic. As Lone Wolf isn't a huge development shop, I doubt they can just change gears and be a different kind of company. It would probably be easier (and cheaper) to form a sister company to build the application.
loodwig is offline   #91 Reply With Quote
mirtos
Senior Member
 
Join Date: Oct 2011
Posts: 865

Old May 9th, 2014, 11:09 PM
Quote:
Originally Posted by loodwig View Post
It's not that simple. It would be reasonable to port something from a c++ application written on windows to a c app for linux, assuming you weren't married to the windows api when you wrote your app. Similarly, it's not beyond reason to rewrite banking software written in Java for a totally new stack written in Python, assuming you developed good MVC, abstracted your front end and db tier, and could port over much of your same logic to the new code (hell, there are automated tasks that'll do most of it for you). But going from a stand-alone application to a web application is a complete paradigm shift.

It'd be a similar analogy to say that we've successfully built a rocket to the moon, now we just have to do it a little differently so that we can build the internet. There's no reuse, and virtually no overlap in skills, even in terms of business model and logic. As Lone Wolf isn't a huge development shop, I doubt they can just change gears and be a different kind of company. It would probably be easier (and cheaper) to form a sister company to build the application.

sometimes rewriting from scratch is actually easier, though. We had to do that at our current company, take a 10+ year old codebase and make it a responsive web application (using a restful framework), and we shocked ourselves. it was nonstop work, but we did more in 4 months than we thought possible. That being said - i dont think HeroLab would be a good web application. I much prefer it as a standalone. There are a lot of other issues to consider. For a web application to be responsive, you dont want it to be file based, and thats one of the real strengths of HeroLab, in my opinion. Then of course there are servers to consider, services, etc. now while i can imagine that given their druthers, they might redo some architecting, (no developer is EVER happy with their product, not really *grin*), i dont think just assuming "web app", is the way to go.

There are always plusses and minuses for every type of application, and in the case of HeroLab, I think standalone makes a lot more sense than web app.

Last edited by mirtos; May 9th, 2014 at 11:15 PM.
mirtos is offline   #92 Reply With Quote
Fuzzy
Senior Member
 
Join Date: Jul 2012
Posts: 416

Old May 11th, 2014, 10:31 PM
Well, the real twist of the dagger, as it were, is that they ARE making a web interface for Realm Works...
Fuzzy is offline   #93 Reply With Quote
mirtos
Senior Member
 
Join Date: Oct 2011
Posts: 865

Old May 12th, 2014, 11:08 AM
From what I understand from the kickstarter, it was either always in the plan, or at least very early on from the time when they decided to do cloud syncing. and from what i understand stripped down version. But thats not the key point. and this is obviously only for people who have their data synced to the cloud. So not really a fair comparison.
mirtos is offline   #94 Reply With Quote
Nikmal
Senior Member
 
Join Date: Aug 2010
Location: Twin Cities, MN
Posts: 677

Old May 15th, 2014, 04:29 AM
Quote:
Originally Posted by Fuzzy View Post
Well, the real twist of the dagger, as it were, is that they ARE making a web interface for Realm Works...
The PLAYER version will be part of a Web Application NOT the full version. And as someone else mentioned it will also be tied in to the cloud aspect of Realmworks too. Which Hero Lab does NOT have.

So comparing an Apple to an Orange is a hardly a fair comparison!
Nikmal is offline   #95 Reply With Quote
Fuzzy
Senior Member
 
Join Date: Jul 2012
Posts: 416

Old May 15th, 2014, 10:07 AM
Quote:
Originally Posted by Nikmal View Post
The PLAYER version will be part of a Web Application NOT the full version. And as someone else mentioned it will also be tied in to the cloud aspect of Realmworks too. Which Hero Lab does NOT have.

So comparing an Apple to an Orange is a hardly a fair comparison!
My point was the contradiction between deciding to forgo a web interface for HL because:

Quote:
Originally Posted by rob View Post
Have you ever walked around a Con and looked at the gamers using their iPads (and Android tablets) at the assorted tables? Have you ever stopped to consider how many of those tablets actually have an ACTIVE internet connection over 3G (or comparable)? A web-based app would have simply traded one limitation for another. It would not have truly solved anything.
and then limiting the player view in Realm Works to the cloud service, and not even a local web server in the Realm Works program itself.
Fuzzy is offline   #96 Reply With Quote
mirtos
Senior Member
 
Join Date: Oct 2011
Posts: 865

Old May 15th, 2014, 01:31 PM
ummm.... the Player Version is not limiting players to active internet access. That would only be if they wanted to sync data. So, it doesnt go against Rob's statement about Cons.

What you're referring to is the FREE website player access, which is going to come later. Players who sync their data on their paid version will be able to use their data without connecting to the internet.

Again, apples and oranges. the model of the application of HeroLab is very different from the model of RealmsWorks. Forgetting even that its a major difference between databases and flat files, the licensing, everything is different. But even RealmsWorks isnt a web app. IT doesnt require internet.

I commute to work for a few hours a day. I sometimes take my laptop. During that time, I work on both RealmsWorks and HeroLab. If I was required to have an internet access, I wouldnt be able to do so. Same thing for when I run my games. (sometimes I run games in a store that doesnt provide WiFi).

Then of course there's the reality of a web app with non-database. Reading and writing to files is slow. And of course the file would have to be stored somewhere. You'd have to run a server. Local web service? Maybe. But then its just local. In some ways, it would be even slower, and use more memory. The list goes on. There are a lot of pros to doing web app. There are a lot of cons too. Its never a simple thing.
mirtos is offline   #97 Reply With Quote
Colen
Senior Member
Lone Wolf Staff
 
Join Date: Dec 2008
Posts: 4,690

Old May 15th, 2014, 03:51 PM
Quote:
Originally Posted by loodwig View Post
Well, bravo!

Though, it may not be a bad idea to consider a rewrite at this point, depending on how integrated your various products are. I've always been a fan of vigorous coding standards, reviews, retro-analysis, and so on. I can't shake a quote that an old manager of mine said, with regards to the idea of writing the most maintainable software possible:

"Code is cheap. Write it again if you have to."

There's some wisdom to that adage, though I scarcely want to admit it. It just feels like carte blance to write spaghetti.
Each line of code may be cheap, but together it all adds up! Hero Lab comprises many hundreds of thousands of lines of C, C++, and objective-C code - and that's just the core app behaviors, not even counting any code written for individual game systems.

Rewriting enough of it to make Hero Lab viable as a web app is certainly possible, and we could do it if we had to, but I wouldn't be surprised if it ended up taking at least a year of development time to get even the basics working well. Even if we split that over more than one developer, that means the entire Hero Lab team is doing nothing but porting Hero Lab for at least 6 months, almost certainly longer if we want to support all the features that Hero Lab on the desktop does.

Could we do it? Sure, if we had to. But if we're doing that, we're not spending that time adding more functionality to Hero Lab on the iPad, or adding cool new features like the encounter builder, or making it easier to create Hero Lab data files so that more people can use the editor or build new game systems. Unfortunately we have limited resources, and we need to spend them both on opening up Hero Lab to new audiences, and on features we feel will benefit existing users, who have already supported the company by making their purchase.

The same applies to rewriting the whole thing from scratch as a web app - we could do it, if you don't mind seeing no progress on anything else for at least a year, maybe 2.


Quote:
Originally Posted by Fuzzy View Post
Well, the real twist of the dagger, as it were, is that they ARE making a web interface for Realm Works...
That's significantly easier because Realm Works was designed with a server component up-front. If you sync your realm to the cloud, all the data and much of the management logic is already there on our server. While adding a web-based view of things is still a big chunk of work, the overall design of Realm Works makes it much more tractable.

With Hero Lab, everything was designed with the assumption that it's running on something similar to a desktop computer. It's still possible to rework things into a webapp, but we'd have to fundamentally redesign a number of things to make it work. That's something Realm Works doesn't have to deal with, as the server-based nature of the app was baked in to the design.
Colen is offline   #98 Reply With Quote
loodwig
Junior Member
 
Join Date: May 2014
Posts: 6

Old May 16th, 2014, 07:25 AM
Quote:
Originally Posted by Colen View Post

The same applies to rewriting the whole thing from scratch as a web app - we could do it, if you don't mind seeing no progress on anything else for at least a year, maybe 2.
At least 2! And frankly, that would assume you had a separate development team that you trusted enough with your product not to create some sort of mess (which kind of rules out consultants). Plus, this effectively doubles your labor costs while providing nothing to your consumer base, which in two years time would all but certainly kill your bottom line. Even if you had unlimited capital, you'd still have to manage it all with everything you have, and the mythical man month would certainly play into everything.

Creating a java port of the stand alone app probably wouldn't be as monolithic, but it's certainly a massive stretch in resources, plus a tremendous added cost in support (I can just hear Sesame Street's Count singing "3... 3 codebases ah ah ah"). One thing I easily overlook as a consumer is that hero lab is not just a pathfinder module. There are dozens of other systems that I don't have a personal care for which are included in this package. Even if they were all separate versions of hero lab (e.g. download the pathfinder .exe versus the 4e .exe), that'd still be separate code to maintain. Just supporting iPad is a pretty substantial investment, especially given how much of a pain objective-c is in my opinion.
loodwig is offline   #99 Reply With Quote
Fuzzy
Senior Member
 
Join Date: Jul 2012
Posts: 416

Old May 16th, 2014, 08:20 AM
Quote:
Originally Posted by Colen View Post
Each line of code may be cheap, but together it all adds up! Hero Lab comprises many hundreds of thousands of lines of C, C++, and objective-C code - and that's just the core app behaviors, not even counting any code written for individual game systems.

Rewriting enough of it to make Hero Lab viable as a web app is certainly possible, and we could do it if we had to, but I wouldn't be surprised if it ended up taking at least a year of development time to get even the basics working well. Even if we split that over more than one developer, that means the entire Hero Lab team is doing nothing but porting Hero Lab for at least 6 months, almost certainly longer if we want to support all the features that Hero Lab on the desktop does.

Could we do it? Sure, if we had to. But if we're doing that, we're not spending that time adding more functionality to Hero Lab on the iPad, or adding cool new features like the encounter builder, or making it easier to create Hero Lab data files so that more people can use the editor or build new game systems. Unfortunately we have limited resources, and we need to spend them both on opening up Hero Lab to new audiences, and on features we feel will benefit existing users, who have already supported the company by making their purchase.

The same applies to rewriting the whole thing from scratch as a web app - we could do it, if you don't mind seeing no progress on anything else for at least a year, maybe 2.




That's significantly easier because Realm Works was designed with a server component up-front. If you sync your realm to the cloud, all the data and much of the management logic is already there on our server. While adding a web-based view of things is still a big chunk of work, the overall design of Realm Works makes it much more tractable.

With Hero Lab, everything was designed with the assumption that it's running on something similar to a desktop computer. It's still possible to rework things into a webapp, but we'd have to fundamentally redesign a number of things to make it work. That's something Realm Works doesn't have to deal with, as the server-based nature of the app was baked in to the design.
I was in no way trying to get Hero Lab to sync to the cloud, I see no point in that. My intentions were to have the ability to view and manipulate profiles via a web server running within hero lab on a PC. As described, this is not porting anything over to anything else, it is effectively rendering the same data to a different target. Then, you could have a single PC/laptop running HL, with profiles for all party members, and each member could use their portable device, regardless of OS, to connect to it and not just display the data, but manipulate it as well (at least the ability to add/set adjustments and conditions).
Fuzzy is offline   #100 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 01:50 PM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.