|
Ah you are doing this as a consultant, good luck, if you get the build you should be able to get the support contract if you don't screw it up . It sounds like a fantastic opportunity and should set up a small company for some time. I REALLY hope like hell management don't get steam rolled by a big player. All the luck in the world to you!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Appreciate the thoughts. It might completely flop. It's fascinating the politics of this industry.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
charlieg wrote: It's fascinating the politics of this industry
Fascinating is NOT a word I would have used. I did that sort of work in the 90's, not a way to live a stress free life (I had a growing family at the time) but it was never boring. The support resources back then were rather sparse.
I hated the bus discussion!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
charlieg wrote: I might even screw up and convince them to pay me. Uh-oh ! I wouldn't touch a line of code without a contract, and regular pay-days.
cheers, Bill
« I had therefore to remove knowledge, in order to make room for belief » Immanuel Kant
|
|
|
|
|
topic: "what technology would you select for the UI?"
The entire discussion has blown up in an elegant and useful way. I'm knocking around ideas at the point. Last night, I deleted the UI completely from the ideas I'm knocking around. I'm so late on the current project (some work related, some personal issues that could not be avoided) they might laugh me out of the building. But they know they have a problem with the current system.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
WinForms is the new MFC (still officially supported by MS; but not getting any care or meaningful updates). IF you're sticking with .net for the UI I'd strongly recommend WPF; since with multiple customers it's unlikely you can make Win8 a requirement. WPF may be EoL as well; but in large part that's because WPF.vNext is called Metro, so porting in the future should be less painful than any other options.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
|
I'd question even thinking of using WPF. Sure it's going to be supported in the future? Heard anything lately?? Nope. Checked the WPF blogs? Silence. Even if it is going to be continued it's doubtful it would be backwards compatible.
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
I've read the WPF blogs are quiet, but so are the WinForms areas. Right?
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
I don't know about WinForms. Not sure what to count on with MS nowadays!
(Stuck in a dysfunctional matrix from which I must escape... Love that!!)
ed
~"Watch your thoughts; they become your words. Watch your words they become your actions.
Watch your actions; they become your habits. Watch your habits; they become your character.
Watch your character; it becomes your destiny."
-Frank Outlaw.
|
|
|
|
|
I have one suggestion not to use WinForms (it's dead), another that says WPF is dead.
Now you see why I asked the question. This highlights the dilemma facing developers and architects. So, keep the UI away from the system with a 10' pole, as others have suggested, and be flexible.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
The enterprise story just isn't quite there (still) for WinRT in my opinion. Until MS gives us a way to manage/curate a corporate "app store" for WinRT apps I see no reason to use WinRT for internal development over WPF. If you were developing for external audiences WinRT would be a no brainer.
|
|
|
|
|
My personal experience is that a new application must support the current and the projected technological environment and skills. Two years ago I started development on a Line-Of Business application for a small company that has no dedicated IT people.
So I chose to use Windows Forms. It's not fancy as WPF or touch enabled like WinRT but it works now, it is understandable by anyone who can use Office, it runs on their computers (Win XP to Win 8) and there are loads of developers that can support this application in case that this company decides to fire me.
|
|
|
|
|
I agree with the majority of what has been said here. I want to add on to BillWoodruff's suggestion. I would suggest using a wireframe / mockup tool of some kind to design the UI for the system via an iterative process of interviewing the stakeholders and users. I would recommend balsamiq. It's a really neat tool that can generate interactive pdf's where button clicks can jump to other pages and so forth. It gives a really great idea of what the UI will do from a functional perspective.
I would focus on the following portions of information gathering (again, Bill hit on most of these):
* What does your current system do really well today? Nothing is a valid answer, I suppose. But if you get this as your response, step down to 'What aspect of today's system is least painful to use?'
* What functionality is the most used? (Good/bad/painful doesn't come into play here)
* What functionality is highest profile? This sounds like the above, but it's not. It could just be a bit of reporting used only by high level managers. It may not be used a lot, but you want to keep the higher ups happy.
* What are the top 3 things that today's system does not do, but you really want it to be able to do? This could become a very long laundry list of things and a brain storming session with the stakeholders would be a great benefit here. 3 is really an arbitrary number, but it forces everyone to really prioritize the things they want in the new system. You may end up with a longer list than this, but the going through the process to derive these 3 will be meaningful for everyone in the long run.
* How many users does the system need to support? You can answer this by finding out how many today's system supports and then getting an idea of what the company's plans for future expansion are.
* What devices will be used to interact with the system? Is this a desktop only application? Are you tying yourself to Windows or some other OS? Do you want it to be mobile? If you want more than one UI, I would seriously evaluate a web based solution. WPF can probably handle multiple display types, but I haven't used it so I don't know.
* If you are learning as you go and this is an enterprise wide system, I would research, research, research. This is probably a given. The biggest concern here is to back yourself into a design corner. Abstracting technology layers as much as possible will give you breathing room you need. I'd also recommend a testing methodology of some kind (TDD). This bullet makes me a huge hypocrite because I struggle with all of these...but I can speak from experience that this is where I've coded myself into corners.
|
|
|
|
|
Did you ever think you might be thinking too far ahead? How about finding out first what they want the system to do (if it's not a direct port) and then pick the UI and tools based on their requirements. The last system lasted 40 years and I'll bet it lasted that long because they could find at least a minimum of support for the OS and software (and by now it's very cheap to support because they don't change anything.) What ever system you come up with, if it's based on Windows then I guarantee it won't last that long. How many Windows 3.1 applications do you see still being used? You can get very fancy with the UI but in the end it just needs to be functional. It will be the back-end data that lives on way after the front end gets replaced so that design needs to be very solid. After all that's probably what this project is anyway. A new front end and their backlog / wishlist of new functionality because they probably will want the old data ported.
|
|
|
|
|
I worked on a project to replace a 40 year old manufacturing system several years ago. We used C#.net WinForms and SQL with MS reporting services. It worked out pretty good and saved the company millions.
|
|
|
|
|
In a couple of years everything will be done in AngularJS anyway.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
There's some good suggestions here. But WPF is dead. Check the web about this. Microsoft has abandoned it so spending a lot of time learning it would be doubly worthless. My advice is to use Winforms where you need a lot of GUI interaction and flexibility and/or where you want to develop an app faster than on the web. Else use the web for anything simple or mobile.
- Grant
|
|
|
|
|
40 yo manufacturing system...? I mean are you sure about the age, isn't it rather 25 yo? Then, you're a colleague of mine and they apparently assigned this task to two of us. No, seriously: take care of an architecture that allows you to plug in arbitrary data-backend and UI front end.
|
|
|
|
|
Checking file dates... oops - 33 years Rounded up too much... this stuff was being written in the very early 80s
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
My new choice is a Web API on the server side, communicating with a client side app in AngularJS. The advantages are that AngularJS is robust and quick to program to, and the Web API allows me to write a client in any language or platform for the same server. The idea is to enable mobile apps from the start.
|
|
|
|
|
All - I really appreciate the productive feedback. It's become clear to me that there are competing camps and preferences but that any system design should not really depend on the UI. What I've gathered from my searching and reading this article is that the UI is important, but it's not the most important thing in the system.
Given a properly designed set of components, the UI is just one more chunk, be it WinForms, WPF or anything else. I'll have to knock up a database and play with a couple of the suggestions that have been tossed out here.
Clearly, I want to avoid tying myself to any one UI technology. Based on how fast things move these days, I see Microsoft go from WinForms to WPF to RT(?), and it feels like to me that with the web and mobile driving much of the design of systems that things like AngularJS are just pulling the UI away from MS that much more.
I'm rambling, back to the other project and thanks again. This topic might become the basis for an article.... or should.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Off course we are.
I'll get my coat.
|
|
|
|
|
Quote: Wrong is evil and must be defeated.
Wow! And you're still saying we're on the right path. Makes no sense!
Favourite line: Throw me to them wolves and close the gate up. I am afraid of what will happen to them wolves - Eminem
~! Firewall !~
|
|
|
|
|
Jörgen Andersson wrote: I'll get my coat Jedi robe. FTFY
It's an OO world.
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|