Perspective limitations?

I have only ever done projects with vision. I code more than using the wizards. What limitations I be aware of? I have a customer that is interested in mobile aspects - so it will be a perspective project…

pro’s and con’s anybody?

I am in a similar position with years of Vision deployment experience and lots of existing Vision applications.

Here is my take on the situation right now. The Perspective module is getting better and better everyday, but I think it still has a few major hurdles to clear before I have zero reservations using it for a full blown ICS system:

  1. It needs to have native drawing tools. Using an outside program like Inkscape is clunky and requires an entire additional skillset that Vision did not.
  2. It needs faster performance. I have seen with my limited use of Perspective that the development/client load times are inferior to Vision. It is steadily improving, but I still don’t think it can handle some of the complex screens we would implement for our customers.

My other concern is that there are so many customers we have that depend on and use Vision and there is not going to be any motivation on their end to overhaul the entire system (or on my end to be honest :smile:). So we are holding back, but I’m watching the development of the Perspective module closely. We have deployed a few systems that were more dashboard and overview in scope and it has worked well for that.

I would say your biggest con right now is the massive learning curve to understand the totally different design environment. Thankfully that curve has flattened out some with the questions posed on this Forum and the Inductive University videos.

The biggest pro is that all of the new shiny development is going into Perspective so you get the benefit of being on the cutting edge and getting cool new features.

Good Luck!

Pros:

  • You can develop for mobile and Desktop at the same time.
  • Better (subjective) graphics/appearances for components compared to the “old” Java look-and-feel.
  • Lots of online documentation and tutorials for how to use all of the HTML/CSS aspects of Perspective, whereas I always felt that was lacking for how to control/manipulate Java in Vision.
  • New features in every release, because this is where >50% of our development is ongoing.
  • Pages/Views can be responsive to viewport size, which is wonderful. I felt like Vision always had scrollbars and you couldn’t usually see part of the Window if you develop for one screen size but the Client is on another.
  • All scripting usages run on the Gateway in their own thread, so you won’t encounter Client-side freezing during script executions, even if you have the thread sleep.

Cons:

  • There is a steep learning curve.
  • You have to plan FAR ahead when creating your project: “Do I want this to be mobile responsive? What colors do I want used throughout my project?”
  • Perspective is developed with an agile methodology, whereas Vision was historically developed with more of a waterfall approach. This means that new releases are much more frequent, but they also contain more (small) bugs.
  • Many users (fairly) find that Perspective has not caught up to Vision in terms of functionality and reliability. This is primarily because Vision has nearly two decades of features and bug-fixes, whereas Perspective is only three years old.
  • No access to operating system attributes (because of web security).
3 Likes

All really good points above.
I’ll just add that the performance one is real. Load times of complex screens with lots of embedded Views can be 5-10s every time (no caching) for P&ID screens especially. If you have no embedded Views (think Vision Templates), it’s super fast but obviously impractical. That would be my biggest criticism.

Other than that though, Perspective is awesome :+1:

3 Likes

Vision has created some big shoes to fill.

While there are some aspects of Perspective that I find to be lacking (performance mostly), it’s mostly only lacking compared to Vision and not competitors products.

5 Likes

Also, I saw some note of performance with complex Views, but since the OP specifically brought up Mobile I’m going to point something out. Please understand that I am fully aware Perspective has some performance issues and I’m not trying to diminish them here.

When developing for mobile specifically you should avoid complex views in the first place. You have to expect less real-estate and you also should expect that a user will have a harder time reading the display because they’re not in a nice well-lit cubicle with a back-lit monitor zoomed in at 150%. I always recommend simplistic data-driven Views with larger-than-usual text where you need it and visual representations of what text would be telling a person where you can. Don’t use tables or charts on mobile if you can avoid it just because text dumps of data are a uniquely desktop-oriented paradigm.

Great points by everyone above. I’ll add a bonus to Perspective is you can open it as a web page on nearly any device (phone/tablet/laptop/desktop) without installing anything on the device. For certain applications, this is a big plus.

3 Likes

Why isn't some form of caching possible? I'm talking from a place of ignorance, but would it be possible to 'bake' the screens for the current viewport dimensions and retrieve it if requested later? Or even have some way for ignition to optimise for certain viewport sizes.

Caching is problematic for a couple of reasons:

  1. A perspective Page is typically driven by data, from appearances to configuration. If we DID cache the Page, it would load in the previous state, instead of being driven by current values, then it would still need to swap values as it gets them. Instead of seeing a loading screen, you’d see inaccurate values until everything completed. This would also induce additional overhead for verifying important resources (theme files) are current. How long do you cache the login status?
  2. It’s sort of considered rude or greedy for developers or applications to cache lots of page info in the browser.

I would strongly disagree that using Inkscape is clunky. SCADA applications aren't typically tools for drawing more complicated graphics than your basic shapes. There are applications solely developed for this purpose (Inkscape) and offer all the tools you might need to draw the thing you want. While it's important to be able to manipulate those in SCADA to a certain degree (e.g. move vertices around, move individual SVG objects around), I certainly wouldn't ever start the drawing (other than if I only need basic shapes) in SCADA. SCADA drawing is clunky :slight_smile:

1 Like

Point taken. Let me clarify by saying that for my purposes simple shapes are fine. Rectangle + Circle = Pump

So I would rather have all the tools be native than use an external tool. Your milage may vary.

I’m part of the crazy group…I actually prefer drawing complex components in Vision :sweat_smile:

You know, there are meds for that! :grin:

1 Like

I sometimes feel that perspective could have been kept more light weight by simply using bootstrap for responsive mobile/desktop friendly screens rather than using a full fledged client framework like REACT or any other for that matter. I believe these frameworks are meant for for highly interactive e-commerce or enterprise applications, giving users a desktop like experience on (DOM based) web browsers. Where as in my opinion SCADA like application doesn’t have that high interactivity requirement on the client side. Perhaps that would kept the responses very fast and kept the learning curve flat and development time low. Further more allowing use of open source widgets for dash boards and trends and tables etc like an IT application would have given tremendous flexibility to users to use them as creatively as they want. Perhaps a simple native SVG editor compatible with Vision’s graphics editor could have been written in JS as one of the widgets for users.

These are just my thoughts, not any criticism.

@Kfoldesi

I will say 3 big pro’s that we see are these:

  1. Perspective looks more modern and being openable in a browser is part of that. This is completely opinion based but I think VISION looks old and even if everyone hates my product, I’m still happier to developer a perspective project rather than vision

Something cool about perspective: you can embed your views into a microsoft teams project

  1. Seam-less IDP authentication and SSO flow, no redirects. The ability to restrict access based on AD group membership (can be done in vision too) with the easy option of making resources which should always be open, public

  2. No need to manage vision client launcher version. We (walmart) are a reasonably big company so most software that people have on their machine is from a software distribution store. If it’s installed from there the ability to track version and push updates exists. If someone installs manually or from the gateway, the ability to know and manage the installed version remotely is not there. So when you have to (at many sites) check what version people are using, you can only get a impartial view of the data. With perspective, all of that nonsense is gone because we no longer have to manage the vision client launcher.

Nick

Having SCADA developers become graphics designers is clunky-er..

Perspective already has the means to do this, take a basic label component. Add boarders = Rectangle, add radius corners for a cylinder. Make width and height the same = square, add large radius corners = circle. Add bottom boarder and make your height 3px = line. Add right/left border, make width 3px = vertical line. Group these together = pump, valve.

Pull pre-canned symbol factory images, remove the clutter and you have clean tanks/conveyors..etc..

So it's not really far-fetched to expect that a new 'modern' visualization tool would at minimum match the capabilities of its predecessor when so much of it is already there.

1 Like

:laughing: I've seen examples of this for sure, regardless of tools used. I'll admit to drawing with built-in tools most of the time, though I've used professional graphic design tools for SCADA and other things in the past.

I understand Perspective drawing tools are planned, so we'll get the option of going either way which should make everyone--while maybe not everyone--happy :slight_smile:

It's not drawing tools (still a planned feature) but the piping feature for P&ID style layout is going to be available in tomorrow's nightly/8.1.10:

4 Likes

Thanks for all the input guys! I have read everybody’s responses as they came in. I appreciate the information.

1 Like

If this helps anyone, you are able to use the docked views to keep a view constantly loaded in memory, I just set the transition for opening the dock to none so that it opens instantly as if it were a regular view.