Interface Design Question - interface

I asked this question a while back and basically the project almost consists of reproducing excel in the browser. We want people to input data in an excel-like way. The question i have is, what is the best control to use? Should i use a regular table, and then append columns to it, or should i use a datagrid and flip it XtoY? What approach would you take?
Thanks for any help.

Unless you have a TON of development time, don't try to do it yourself. Try a 3rd party control like Telerik or ComponentOne. None will probably have every feature you wish for, but you should be able to find one that is close enough.

Option 1: Check out the Silverlight option to develop your application. And it had a good Excel like DataGrid which is rendered at the Browser lever and you can have async calls to server at any point of time you want to persit a change.
Option 2: There are many datagrids available in WPF and you can get a high performance application using .NET3.5, and it is possible to host this as XBAP application.
Option 3: Typical ASP.NET with AJAX enabled Datagrid

I'd recommend ExtJS for an editable data grid with an AJAX data source. ExtJS is a bit bulky but very flexible.

Check out SpreadsheetGear. It's a drop in control that mimics (and works with) Excel for .Net. I've seen it used well for both display and back-end calculations.

The Farpoint Spread control emulates Excel grids pretty well, you can even code formulas behind it. It does cost money though

Maybe the new Datagrid that is in the wpf toolkit on codeplex has what you need. This datagrid can be templated and style the way you need it.

Related

How to merge images and text on web form?

I need advice - what technology I could use to create website form to merge 2 images [take from list] and one text from text field?
I want to see results on same page.
I see two possible solutions.
First, using pure javascript and canvas:
I saw simillar problems here and here.
Authors use pure javascript and DOM to manipulate with html5 Canvas.
So problem is to draw images on context, and also insert text.
To insert text, there is method fillText, i am not sure it would look great for first time, but studying canvas should solve problem.
So HTML5 Canvas is first answer.
pros:
easy to implement and only javascript
cons:
may not fit your needs as application grows up.
Second, according to fact, that there may be some limitations, eg.
your picture must be on same domain as your application
you want to do something more difficult with images and text
then you may use server side application, and work with server side graphic library.
It may be for example PHP GD, for php.
Here is possible solution in php.
The application may look like:
obtaining data with a form ( uploading images from disc, filling textfield )
after clicking submit, do an AJAX POST call with multipart-form-data to php page
receive an resulting image in ajax response.
pros:
can solve more difficult tasks, for which your application may
evolve.
cons:
there are two languages to learn - php and javascript.
it may be difficult to send two images to php script at one time and
text, but it's possible
The first solution is less complicated and you can test code adhoc, but second solution is more demanding, but you can reach better result and have more robust technology.

Using OpenUI5 view layer similar to Twitter Bootstrap on top of other web application frameworks

Hello UI5 enthusiasts,
I was wondering if it is possible to extract the OpenUI5 view layer in a way similar to Twitters Bootstrap.
The reason is that I work at an SAP partner that creates software outside of the SAP stack. We would like to add the UI5 look and feel to our own web applications though, which are build on Angular and Twitter Bootstrap.
The goal would be to let our customers become attuned to the Fiori look and feel and increase the familiarity of our SAP products. Which could eventually lead to more sales on that side.
But for that we would prefer a light-weight solution. I'm not aware of using the openui5 stack like that, because it needs to load the core and manages the application in its own way.
For that it would be great to have the view components isolated to use them on their own.
Is it possible to do that or would it be an option for the UI5 product team to create a Bootstrap like solution as described above?
Kind regards,
Michael
from OpenUI5 side, we have some concerns around this approach as there is quite some overlap between Angular and UI5, especially with regards to data binding and MVC. When using the UI5 controls outside the UI5 context, you cannot leverage the main assets that the UI5 data binding adds (some of them are described here https://openui5.hana.ondemand.com/#docs/guide/91f0ca956f4d1014b6dd926db0e91070.html and others like error handling will come soon with 1.28). Still, I'm not saying the combination of UI5 controls with Angular is not possible at all, maybe someone is trying as it is open source but there is an investment needed to close gaps that OpenUI5 already has solved in an excellent manner. On the other hand, it is quite easy to use bootstrap inside UI5 (not Angular). Might that be an option?
What you can examine as well is http://ui5strap.com/. I personally did not yet find the time to assess the approach but it might be worth for you to have a look.
Best regards
Stefan

How do I create widgets in Silverlight?

I appreciate this may be a case of running before I can walk and that discussions are occasionally frowned upon, as opposed to questions
However, I am new to Silverlight and I am keen to not get into bad habits!
As this is more of a general advice typs post, I will mark the most useful information, or link as the answer
I am writing a dashboard. However, I want the areas of the dashvoard to be reusable, basically widgets. Can anyone suggest some good example sites for advice on the best way to do widgets in Silverlight, or any advice in terms of what to beware of etc?
Its the same kind of approach as creating a user control in .NET or, creating a form in Delphi which is then docked into several different screens of an application
The dashboard will need to be customizable by the user, i.e. they see a series of widgets which they can setup then add to the dashboard. Pretty much in the same way as Google Anaytics works
Paul
The quick and dirty approach I would take:
Create a silverlight Control for each widget (could be reused on other Views)
Place them all in a stack panel
Bind the visibility of each Control to a checkbox on an options tab
The not-so-MVVM approach I might consider:
Create a silverlight Control for each widget
Add them to the stack panel from code behind
Open source goodness:
Note that you wont be able to control the order in this type of scenario, but the user will have the option of viewing what widgets they want to see.
If you want to take more of an MDI approach, Tim Heuer has an interesting project on codeplex: Silverlight FloatableWindow which gives you a resizeable child window type of thing.
The expensive approach I don't recommend:
Telerik and ComponentOne have some pretty advanced dashboard features if you don't feel like rolling your own.

Best suite for GWT widgets

I am looking to build a GWT based web application. Being new to GWT, am looking for suites that provide the best GWT widgets (in terms of user experience, variety, styles, etc.), to help build a web app.
I have come across SmartGWT, but looking for other options/suggestions.
Thanks in advance!
I've done apps in both GWT and SmartGWT. My observations, for what it's worth:
SmartGWT has all sorts of cool features, out of the box. It's easy to be seduced by the SmartGWT showcase.
GWT is converging on SmartGWT, and quickly. For instance, the new DataGrid
can stand up against the SmartGWT ListGrid and come away looking good.
In order for GWT to look good though, there has to be real skill in the
developer. SmartGWT can make anyone look good, it seems, but to make
GWT shine takes skill.
Once you have that level of skill, though, there's no looking back.
GWT seems to me to be much more flexible, a consequence of the building-block approach. SmartGWT is more monolithic.
SmartGWT's design has some portability issues. I successfully took a pure GWT app I made and re-worked it (minimal effort) to run nicely in a BlackBerry PlayBook browser. I took a
SmartGWT app I had made at about the same time, and half the widgets
didn't work.
For an enterprise level solution I'm working on, I'm using pure GWT and I don't regret having made that choice.
I would suggest using standard gwt widgets. Simply because,
1)they are best documented,
2)they are highly customizable via css
3)from what I observe they provide the best performance
4)you dont need to learn a whole new framework built on top of another framework
but if you insist on using a framework then I suggest you take a look at this question
My advice to you is to consider your needs. Plain GWT and SmartGWT both are the best supported, so you need not look for more (unless of course both fail in what you want).
Go to their respective showcases and see what they offer and how it fits your requirements.
If gwt satisfies all your UI requirements, my advice is to choose it over SmartGWT. gwt beats SmartGWT in learning curve and documentation anytime. Also its faster(my opinion). If gwt doesn't satisfy your needs and SmartGWT does, then you should consider making the switch.
I have a year experience in smartGWT, when we started our first gwt lessons, they said use the basic gwt features and build own framework otherwise we can encounter errors which may lead to dead-ends. We considered the idea, but for the project (since we already had deadline) decided to look after some extension of gwt. We found smartGWT. The showcase was really convincing. Remember these are widgets, the basic logic of your system is still up to you.
In case if you start using smartGWT: If you don't use JSON but some normal list of java structures prepare to get hard hours/days to get use to datasources, grids, and few other components. Seriously, it had ridiculous problems (for example switching two configuration code line without reason makes work the listgrid), BUT before you drop the entire idea to use it, after a while it starts to work, and it becomes really impressive and comfortable. This is a kind of work "make it once, will work hundreds of times".
In my opinion:
don't start use smartGWT if you want to make a system which is not too complicated.
start use it if you need complicated system with lot of different features, if you don't have the time to develop everything for yourself: many components are ready in smartGWT.

drag and drop workflow kind of interface..how easy to develop?

How easy it's to come up with a drag and drop web-based interface that'll provide me features to wire objects together, setup configurations nicely in a modal window for each object? I'm looking for links that've any similar kind of interface, or articles on this. also, i'm looking for your technology/language suggestions.
Another way I'm thinking - as a desktop appln + browser dependent addon..
Is it good to create such an user-interface using XUL, which can be deployed as an addon on Firefox/as a stand-alone application in Windows? Are there any other similar things/technologies which can provide a basic framework for us to build on it further?
Why do I need this, finally?
..for building simple Workflows, for defining process flows, that can provide me some auto-generated xml content which I can use for further processing.
Thanks!
I'm quite interested in this, too.
I've flirted with HTML5's DragDrop implementation - Quirksmode has Bad Things to say about that, so then I thought "Perhaps a JavaScript library can help me" - haven't checked out jquery for this yet, but I have checked out YUI's DragDrop, DragDropManager and DataSource, and its looking hopeful (consistent, reliable).
I tried things like adding an iframe on the fly to any document, to provide this kind of functionality without needing to add dependencies to the page given the iframe - mixed results, but in my case I was trying to cater for x-domain access, which proved difficult.
So I'd say JavaScript could be a winner - if designed poorly it could be difficult to manage resources though, if you want to potentially DragDrop/edit/config any element in a document - so watch out for that.
If you're keen and able, Adobe AIR apps also look promising - but I can't help with any more info on that, other than they're Desktop Apps with great flexibility.
I'ma going to keep an eye on your Question, I look forward to any other Answers/comments!
EDIT: I forgot to mention Flex (aka Flash Builder 4, latest version) is quite easy to create stuff like this, though I've had exposure to Flash for a while. It comes with the standard Adobe caveats; price, libraries, support.