CHARTING COMPONENT STRENGTH - FINDING THE RIGHT CHARTING TOOL
Super awesome news of Microsoft getting x86 running on the Qualcomm 835 snapdragon. Finally! Win10 will be the definitive development platform for embedded and low cost tablet based apps and solutions. If you haven't seen this, it will put a huge smile on your face. This changes everything! And this is the direction MS should have taken with Win8 and not the WinRT direction which put the Windows ecosystem into chaos for years:
Win 10 on Qualcomm running x86
This might be the feature that allows Windows phone to gain market share if MS allows the phone to function as a normal docked laptop with external drives, no limits on installing software, or other nonsense. Someday we could be using Visual Studio via our phone. We can hope.
YOUR CUSTOMER ORIENTATION / End-User Orientation
Let me tell you a story about my neighbor / friend who has worked forever at a huge reservation services corp X (the google/amazon of reservation corps.) X's marketing people say, "we need a Modern UI software implementation". Company X spends large quantities of money, time and frustration on a new UI that runs on everything; and then discovers that most of the end-users prefer the green-text on black-screen text-based dummy-terminal type UI on a PC. The point of the story, know your end-users, and end-users want ease, large amounts of information on a screen, features, stability, speed, and care little about animated user interfaces showing less data per screen. Our charts are great at packing information into a chart and then handling resizing. Please do your own end-user research and do not make the same mistakes others are making. Improve your application, but improve toward end-user orientation and not market hype. A nice looking quick application may be what your end-users desire. If you've read this far, let me know you've read this with a discount of fifteen percent, use promo code 15xrob on our order screen. And as another example, Wells Fargo lately updated their web based UI and how many are finding it more frustrating? I know I sure do.
WPF FUTURE?: Winform still dominates (late 2014 early 2015 MS says 10% of all newly created Visual Studio Projects were using the WPF project template and now in 2018 we can speculate the number has risen significantly, however Winforms still dominates.) MS continues to make none to minimal effort in supporting WPF given MS has the resources of a multi billion dollar corporation. I highly recommend Winforms over WPF. Or if WPF is a must, then I recommend keeping Winforms in mind for your future projects. One should question the future of WPF that is tied to DirectX9 and MS has minimally documented how to draw with shared DirectX surfaces (which is the only method to truly draw a control in WPF.) MS may want WPF to disappear like Silverlight. One could see MS encouraging the "store concept" and letting WPF die and UWP live to promote the store and Win10. However UWP is tied to Win10 which is not immediately practical when we have to support Win7. UWP is limiting in file access, network communication and other areas which makes it questionable. If MS removes these limitations then WPF does has a future but called UWP. Though WPF and UWP still have issues of not having Windows handles, or messages, and being radically different from normal Windows apps. With Win10 now running x86 on a Qualcomm chip, the entire WinRT and Univeral-Windows concept evaporates. Remember, the real reason WinRT was invented was to support ARM. But now all x86 apps will run out of the box on ARM. Soon x64 too. MS knows the WPF drawing system is so poor they won't clearly and completely document 1) why one has to share a dx11 surface with dx9 in what seems like an afterthought and waste of resources in creating both dx9 and dx11 devices and contexts, 2) no inherent support of MSAA so one has to create an additional dx11 msaa surface, and copy/merge the msaa data into the non MSAA surface used by dx9 (huge waste of resources and precious bandwidth), 3) to handle sync issues, the render loop must use gpu loop/wait cycles to eat time on the gpu (the third and worst type of waste.) None of this waste is required for Winforms, MFC, OCX,or VCL interfaces. I have yet to research fully how UWP addresses DirectX interop different from WPF as I know MS did make improvements. I hope MS improves WPF and UWP for everyone's sake but it's risky to wish MS to do something. And I hope MS improves Winforms by simply adding an XAML Winform control layout feature and controls that truly do not flicker. And for those saying WPF is fastest, or they have the fastest solution, the truth is WPF is the slowest and most wasteful possible way to draw anything non DirectX or DirectX (granted it is quick, but not the fastest, and for example, Adobe’s Audition would never use it.) If you decompile our Wpf interfaces, you will see our OnRender simply calls a function in our native PEGRP DLL of PErender2DX using Direct2D or PErender3DX using Direct3D. All our drawing is done natively at the same native DirectX level and highly specific and optimized to its purpose and not using a generic library managed by no official source. For 20 years Gigasoft and ProEssentials has been one of; if not the fastest with the best date time, text, and overall rendering ai. Granted we are evolving and sometimes we delay adopting/discovering a faster code path to support older OSs, but our framework is inherently faster and will always evolve to be the faster. We are professional electrical engineers, and like physicists, mathematicians, and computer science engineers, we should not lie, and we should know when being lied to. True Windows developers should hate that WPF controls do not have "Windows Handles" or use "Windows Messages". WPF is not a true Windows thing, it's something that runs on Windows. Plenty of companies were harmed financially when VBXs led to OCXs, and then VB6 led to VB.NET, and now some who don't know MS's history might think WPF or UWP is better than Winforms. How is radically different from Windows, or potentially limiting, or potentially dead, be better? Winforms is better than WPF because it uses "Windows Handles and Messages" and any latest or future DirectX may talk directly to any control with a Windows handle. Winforms is a lighter weight and less agressive style of runtime. And as always, old school MFC/ATL/Windows is a great development strategy and why MS, Adobe, Apple, and everyone writing critical Windows apps uses it because it does not change and it talks directly to the OS; and how nice is that? Never stop learning, and sometimes learning the true common denominator way of writing Windows apps is not such a bad thing.
CLIENT- SIDE: our meat and potatoes strength.
If you are creating a client-side EXE working with: .NET WPF, WinForms, MFC, VBA, VB6, Delphi, Builder, or any Windows development IDE; give your search a rest, you likely found the best for your engineering/financial/serious app. Download our eval and hammer our PeDemo for at least 30 minutes. Then study the code in the demo for at least 30 minutes. You won't find a more impressive demo or easier code to comprehend anywhere in the world. The bits don't deceive, and they are our best selling point. Like a picture is worth a thousand words, our Demo is like an infinite amount of pictures. Sizing, shaping, using the popup menus (right click) and dialogs allows for infinite variety and massive exposure to our bits.
Our .Net interfaces are not object crazy like most .Net components. We know our .Net interfaces are easiest to learn and maintain. High object use within an API leads to higher abstraction. Our interfaces are simply 95% properties, 5% methods and events. No object craziness; just set properties.
SERVER - SIDE
This is a big subject so I will break it down: 1) Traditional browser based apps; 2) Internet aware client side development (Google Earth / ITune type EXEs)
1) Traditional Browser Apps:
Due to our a) client-side strength and b) strength of rendering quality/robustness, ProEssentials within the browser diverges towards two paths:
a) The path toward absolute maximum interactivity, speed, robustness, but limits browsers to IE / Windows OS. Ideal for your secured proprietary web solutions to mission critical clients.
b) The path toward minimum interactivity, excellent image quality independent of size, robust graphic potential, and works with any browser.
a) Maximum Interactivity: Our .NET WebForm controls render the binary state of our ActiveXs onto the client's browser (no dependency on COM on the server.) Check our PE8WebDemo source within the eval for a working example. This technology does require IE and Windows OS and thus best suited for specific web solutions to specific customers. For example; Siemens, Square-D, and Schneider Electric use our technology to allow customers to monitor their large scale power meters. Financial apps are also a great fit for this technology. Your server logic can always conditionally send browsers either ActiveX or Static Images based upon browser capabilities and/or user's choice. If sending static images, you're getting maximum graphical potential to the largest problem domain. There are charts in the industry that use AJAX to gain some form of interactivity. Please compare all other interactive demos you can find on the web to our interactive demo. Comparing AJAX to true interactivity is like comparing real auto racing to an XBox racing game, they're worlds apart.
b) Minimum Interactivity but maximum audience: Our .NET WebForm controls rendering simple JPG, PNG, or SVG images with or without imagemaps (hotspots.) Again, you'll be getting the maximum graphical potential to the largest problem domain. Features such as multiple axes, date-time, annotations, and overall intelligent image construction help maintain chart quality at smaller chart sizes. If you have a huge site producing thousands of images, nothing uses fewer clock cycles per image than ProEssentials. ProEssentials does more, with more intelligence, with fewer cpu cycles.
2) Internet-Aware client side development:
I always recommend to develop internet aware EXEs over browser apps. The browser was originally designed for static words, images, and simple form processing. I prefer Google Earth over Google's web maps. ITunes and Spotify works better as an internet-aware EXE than would as a web site, clearly! If you're working with lots of data, want maximum interactivity, much easier development, better testing and debugging, better performance, more stability, and so many other advantages, create a simple EXE that gets its data over the net. ProEssentials has very simple features to 1) efficiently transfer binary chart states across the net, and 2) incrementally load data across the net. Our WinForm interfaces, native DLL, and ActiveXs can all receive data from our WebForm interfaces. We provide all interfaces to allow all potential combinations of EXE, Browser App, and Internet-Aware EXE development. Internet-aware EXEs are the best; and ProEssentials with its client-side strength is the best chart for your internet-aware EXE.
THE BOTTOM LINE (It's about pleasing and protecting the customer, and what we do best!)
Our customers (thousands) are largely software-business-owners and high-level product managers whose direct bottom-line are based upon the charting functionality embedded in their product(s). When compared to all potential buyers in the market, our customers have spent the most time evaluating their choices because their needs are the most important. When it comes to our customer's money, reputation, and product competitiveness, ProEssentials is being chosen. One of our greatest strengths is the type of customer we attract.
For over 20 years, our customers have always been able to upgrade easily and at their own pace. We care more about maintaining and improving our customer's code base than forcing change and chasing fads. Our customer retention is perfect, our customers upgrade even though not forced to upgrade. Word-of-mouth and repeat-customers are our largest source for new sales. We constantly get new customers switching from our competitors. If you buy ProEssentials; you will be satisfied, you will be a customer for life, your applications will easily and inherently improve in quality over time, our attention-to-detail means you’ll work much less making your charts behave as they should, and you will eventually see the competition clearly secondary. This is my personal promise to you as a fellow engineer, in friendship and character.
If you need a custom property, method or event added to ProEssentials to simplify your goals, please contact me. Leveraging ProEssentials with custom sponsored features is extremely efficient and benefical. We can make your end-goals so much easier and impressive.
Thank you for reading this very long letter. I sincerely appreciate your dedication in researching your purchase. Your research deserves a rest, you found the best.