Here is a running list of things in the ui for amp that bother me:
- If you put a table row into edit mode by clicking the row name, whether I click the row name or the save link it should save the row in it current form.
- we use tables and rows for layout
- sjax is not ajax
- lack of utilization of a modern javascript framework (jquery, ExtJS, etc). Sometimes its better to roll your own tools but if you can’t do it better than whats already out there you should not be using it for a production site. especially if said site is the flagship web application of you company and everyone uses it.
- the phone scrub problem - i find it funny that when talking about modifying the tables for the phone scrub lists there is no talk if spending a bit of time upfront to work out some simple relational normalization to make the qualifier queries as general purpose as can be. That may just be because I don’t have the practical experience with implementing the back end of a web application.
- lack of uniformity in the application: make new offer, make new layout and make new data point pages all look slightly different
- also make new (think) pages do now submit when i hit enter. I have to mouse over to the submit link to get action. Enter is also an action.
- The Grid tab interface is cumbersome: Click Display Grid -> click + ROW -> Click Entity: none to get entity list -> Select from drop down list1 -> select from drop dopwn list2 -> click save -> click Display Grid. 7 clicks to add one entity there has to be a more efficient way to let user add an entity (drag and drop would be nice. If I could drag an element from a dashboard onto the grid, fill select individual element I am interested in a and click save that would be nice.
- Amp admin is not a very good environment to develop even moderately complex javascript behaviors. Its not possible to write some code, save and test. you have to write code in an editor, copy past inot the text areas of the web application (I use that term loosely), update layout, update datapoint, run amplab, then you can test your change. It is becoming clear to me that the original “architect” has no understanding of 1) modern web development practices, 2) modern web frameworks for both server side (php) and client side (javascript). How do I still get the job done but not pick up to many bad coding habits?
- there is no testing framework for the admin app or the user app.
- by forcing me to put javascript into the database which isn’t loaded until the page I am testing appears in the sequence takes the continuity out of the edit, save, reload and test development pipeline. Having to go back to the beginning of a sequence just to get to the page I am testing is very, very inefficient.
- To many mouse clicks and to much forcing me to take my hands off the keyboard.
- Total lack of real world management skills - ie they both abdicate any management decision making or responsability. For example since sales staff has been cut joey has been trying more and more to get production to do the assistant stuff sarah used to take care of for him, putting stuff into quickbase, emailing clients managing his offers. now he just doens’t do it and keeps skyping or emailing me to handle that for him. Haiving told him numerous times that he needs to use the quickbase app for tracking, and timely updates he continues to ignorte me. telling eric whats going on is useless because he jus tells me to tell joey what to do. That works out really well, for joey the sales luddite, not so well for me. Management is more than just asigning work for people to do or balanceing workload. But hey what would I know my education and experience at Amgen/Ceres obviously do not mean anything here.
- if you have to hide from people on the itnernet (ie host every image, every style sheet even standard ones like the yui css resets or the jquery librarys because of reasons like they might track us there is a clue that something isnt right.
- if you have to put measures in place to catch the people you pay for defrauding you or you have to lie to those who pay you to make it look like you are giving them somehting that you are not it raises serious ethical questions for me. I do not like to lie to people, even if I don’ tlike them. Thats just not being a good internet citezen, first of all. Second, eventually all the lies we tell the smoker companies will get so convoluted that they will figure it out. I learned that when I was really young.
- Spending an hour working out xfer details and offer priorities through email, after spending the entire day before coding the first two offers is not very productive. In general I am finding that email is a poor channel for discussing specifications and requirements. Why don’t we have sales do this up front? All they would have to give them is a list of our own non-negotiable requirements. Simple things like images size and placement. type of descriptions (size and placement on the form, and question inputs.
- having to develop and debug css inconsistencies between the ‘amplab’ environment and the ‘live path’ environment. Cross browser debugging is bad enough but not having a universal developemnt envirnment for the application is un productive and frustrating.
- Do not use the Quick FIx Software development methodology. It opens your team up to emailed requirements and requests from the business sector and will prolly lead to re factoring hell later on, if you try to re factor at all.
- setting up your relational database with tables that don’t use foreign keys and not using constraints to preserve necessary data is not a very robust database architecture.
I could also somehting like the pros and cons of my first programming job, what I learned and left behind …