As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
We started a new project and the nature of the project is very interactive and a Rich UI is required.
We would need a set of controls that would require for Rich UI development. I found Obout while googling. I never heard about them and never seen fellow members telling me such name except Telerik, ComponentOne, NetAdvantage. These are the famous names we heard but no this one.
But, the controls give a positive feeling. But as two things matter always when you are buying some services: How good are their customer support? and How much feasible their price is?
Another, how quickly they release patches/updates? As, what if we find a bug or an error during development what will going to happen? Do they provide a quick solution for this?
I'm bit confused making a decision here. I need your assistance, experience and feedback.
I've used Obout controls before. They are definitely lesser known than something like Telerik or ComponentOne, but they've been around for quite a while and definitely put out a quality product. They are also a good deal less expensive. Overall I had a very positive experience with them and never had any trouble with support requests at all. My first experience with them was about 5 years ago and they were very good then, and they've only gotten better.
I don't know specifically how quickly they put out releases, but I can tell you that over the past few years they have released a whole lot of new stuff. I believe you can download all the controls and try them out before you buy them, so I would encourage you to do that. If it meets your needs and you find it easier to use than the alternatives then go for it.
Also check out this question to see some additional feedback: Obout controls in C# .Net
Don't think so. I bought their suite and everytime i tried to use one of their controls, it sucked.
Example 1.
I use their grid and want to take advantage of the filtering options. For 400 records, the grid only filters in the twenty records that are on the first page. So it leaves out the majority of the records. I got in contact with their support and i sent them the files they asked for. That was five month ago and despite repeated tries and emails, i never got an answer.
Example 2:
Today i am using their datepicker. Nice try, but it opens in a weird position on the page and there is no possibility to change that.
We have been using their tools for over a year now, and we are very pleased with them. The cost is a fraction of what the competition is charging. They work great, they look nice and it reduced our development so that our project was completed two months before expected, even with learning the new tools.
The learning curve is a little steep, but that goes for any of the comparable packages. The tech support sucks, by email only. When we first purchased it they had a support forum and you could find most of your answers in the forum, but sadly they did away wit hit. Now it takes a few days to get a response. But when doing an entire application, we had plenty of pages to work on while waiting for responses. Most of the time they pointed out the problems or told us how to resolve them. And I sent them many messages telling them to disregard previous queries, having found the answers on the internet.
Their examples are simple, and if your needs are simple they will suffice. If building a full-blown application to replace a legacy application and run your business, such as we did, you need better support. Still, it was money well spent. We use the grid and filters to perform searches on our client database of 200,000 records, and can usually find the person we need in less than 10 keystrokes by name alone. Performance is very good on our intranet.
I will note that when I thought I had found bugs in the software, it was just me. A comma where a period should be, bad capitalization, misuse of functions, etc. Javascript is very sensitive with it's syntax and not friendly with error messages, so much time was spent going over code to discover the not-so-obvious errors.
And our demands are probably beyond most peoples needs, our main screen has a combination of a superform and 7 data grids, each of which pops up a modal form for data entry, all within the same web page. But it does the job well. All in all, we have about 60 data entry pages and another 60 reporting pages we created with the oBout tools. The reporting pages allow the users to set report criteria (i.e. dates, clients, products, etc. using popups, calendars, radio buttons, etc.) and pass these to SSRS reports, a sort of ad-hoc reporting. So we created a projects with over 125 web pages and over 150 reports in less than one year, quite an achievement considering the small workforce.
If I were you I'd look strongly at using jQuery and the hundreds of great plug-ins that will provide just about any functionality you need. jQuery is heavily supported and best of all it's free (open source).
It will provide all the client-side functionality you need and it's VERY easy to work with. One of the things you really need to use jQuery is to have control over the id and names of your HTML controls (DOM elements). When you use those third-party control packs (and most of the built-in ones in .net too) you typically lose a good deal of control of the HTML they produce. You can either wait for asp.net 4.0 to come out which will resolve the control id issues or rely on repeater controls and have complete control over the ids and other HTML it produces.
It's well worth the small investment in learning jQuery and the repeater control if you haven't done so already.
I used Obout controls several years ago (from memory, their ASP.Net TreeView and Slidemenu).
I think I had to contact them on a couple of occasions, and received prompt support both times, solving the problem we had.
However, whether their controls (in terms of UI, API) meet your expectations is quite a personal thing- the support is good, but you might find that you don't like the look of them, or the API doesn't fit in with the way you do things (although it was fine for me). You should really evaluate them yourself and see how you get on with them.
if you don't need something too well integrated into asp.net, definetly have a look at extjs. its THE rich ui library.
I am using Obout controls. And clearly I would have done another choice If I could. The controls are bulky and quite often buggy when you try to inherits from them. A poor choice to me.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
My question is simple and straight forward - Is DevExpress fast enough for real world web application. We're using DevExpress in our company to build a CRM for a client and every page has got lots of controls and its damn slow. On my development server it takes 10sec for a page with around 20 controls to load. Is this good or bad? And can you guys point me to a real life DevExpress application except the ones given on the case study section.
I realize that this question is quite old and the original author has probably long since made a decision. However, when I was personally directed by my company to use DevExpress and I was trying to eek out all of the performance that I could, a Google search would always point to this thread and many like it across the internet. There's always a question, a few anecdotal responses, and usually a PR response from somebody that works for DevExpress. I rarely find honest answers from experienced people.
In the past, I've used Telerik, Infragistic, and DevExpress. From a performance and maintenance perspective, DevExpress is the worst. All of their controls have odd properties and accessors that do not align with what somebody that is familiar with ASP.NET or even HTML would expect. Since the properties and accessors of the controls are so convoluted, you will find that you've written about twice as many lines of code that are necessary in a normal .NET application.
DevExpress controls are rendered out as hugely bloated, nested tables. Some controls expose a lightweight rendering mode that is better, but their styling and functionality do not match with the other DevExpress controls, and I found them to be quite buggy in cross-browser testing.
Custom styling requires many, many custom CSS selectors that force you to code DevExpress class names into your CSS, due to the nested and hidden nature of the control properties. This is very bad practice, since DevExpress can and should be able to change their internal CSS class names whenever they see fit.
These controls also make an absurd number of GET requests to their DXR.axd handler that serves up resources.
There's no doubt that their controls work fine in a Demo environment with only 1 control displayed on the screen, but in the real world, these controls are terrible and should be avoided. Implement your own controls or just download Bootstrap and use native ASP.NET controls. I replaced DevExpress with controls that I created that style the native HTML type that gets rendered from .NET and the following chart illustrates some of the differences in resource usage between the two. There were no changes to the page layout, business layer, data layer, or database code for this swap, just a replacement of DevExpress controls that I'd previously optimized and tried to squeeze every bit of performance out of with my own controls.
Chart Comparing DevExpress to Custom Controls
That's bad, but I wouldn't point straight at the DevExpress controls when assigning blame - I'd be running a profiler against my code to work out where the issue really is.
Soham,
As a general rule, when designing for the web, try to keep your pages light so they can run faster. For example, do you absolutely need 20 controls on one page?
And if they do not need any special functionality then you can use the native rendering.
Also, check out my article on the DevExpress web.config settings to improve performance.
Btw, I work for DevExpress. :)
I have no DevExpress experience, but you may also want to check out Improving Asp.net performance. It might help out as well.
2016 - Over the last 5 years I have used Infragistics, Dev Express, Telerik in that order.
Infragistics I won't even get started on because it is a subject unto itself.
My biggest pet peeve with Dev Express is their controls do add some "bloat" to the overall result. However, some controls do have feature sets that are worthy of the bloat. Certainly their Grid and Pivot grid are complex tools that allow the user to do many things, and i have successfully implemented Devexpress packages that worked both quickly with very good results. I have two problems with Dev Express:
Every time I install a new version, it breaks a significant amount of code, that's both WebForms and MVC implementations. That is quite frustrating, but as programmers to be expected I guess.
They really don't look very nice, you have to go through significant effort to get the to look anything close to a bootstrap table etc. Once done though they do allow all the needed bells and whistles. You could of course as the authors above suggest grow your own, that's always an option, but it's not why people buy controls. They are trying to leverage their time so that they can implement faster of course.
Having said all this, Telerik is the current best of breed, in my opinion by far. Easier to implement, grids are fast, have proper desirable functionality and look better.
If you use 20 Controls containing Textboxes with formlayouts, probably the Server takes a hard time to render that page containing alot of hierarchy of long tags in it. DevExpress is bad on having multiple Controls. Redering one ASPxTextbox Control could take KB compared to hundreds of byte on ASP.net Textbox control.
It very common for an entry page to have more than 20 controls. I did use devexpress for years, the speed and performance are acceptable. We use to build ERP solution.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Looking for some feedback on those of you who have evaluated umbraco lately.
I've been on a quest for the 'best' cms that balances ease of use/extendability/customization etc. to use as a base for a new vertical product I am in the planning stages on, so for the past month or so I have been downloading, installing, reading source code and creating test sites in every asp.net cms I can get my hands on - and so far I have pulled down GraffitCMS, MojoPortal, Oxite, Orchard, Kuboo and maybe a couple of others that I am not remembering of the top of my head.
For each of those, except Umbraco, I have been up and running in less than a couple of hours, including adding pages, customizing templates, and in some cases (especially Graffiti), writing drop in widgets in C# in a matter of just a few hours....
But with Umbraco, after wrestling it for almost 2 days just getting it to run, and now another morning watching videos, and then building pages etc, I am still unable to even get even a simple site operational, and even the pages I have gotten working crash routinely (not to mention being a dog)...
So, the question is: Am I doing it wrong? or is it really that hard to work with? and more importantly, if I continue to push forward, will it be worth it? or do I cut my losses and move on?
Edit: asp.net with SQL Server support are requirements of anything I pick.
UPDATE ONE YEAR LATER (Feb/2011):
My initial impressions are still accurate, Umbraco is different than most of the other CMS's that I have used in the past, and for me took a bit longer than usual to 'get it', but now that I have, I have to say I have a much better appreciation of the product, what it does, and how it does it - and to top it all of, it really performs really well - especially with the latest release of 4.6.1. So call me a convert - I am glad I stuck it out and then took another look. I only update this post now, over one year later so as not to leave my initial negative 'review' here for posterity.
The learning curve for umbraco is short but steep. Once it all 'clicks' then you'll be up and running in short order.
It's different from other CMS platforms in that you doesn't give you anything out of the box - just a blank canvas to work with. Other cms systems will set you up with a default template and allow you to drop in pre-built functionality. Umbraco is, by design, not like that at all. You only get out what you put in, it doesn't generate anything for you.
This is ideal for developers and designers who want 100% control over their code/markup.
Version 4.7 (currently in release candidate) introduces the Razor syntax for creating macros. This does away with needing XSLT+XPath which I think was a big stumbling block for a lot of people. Even if you're not familiar with Razor, it is much intuitive to learn than the XML based offerings.
The videos have been mentioned by other posters below. $20 is a small price to pay to get up and running quickly.
Does it matter? What I mean is, if you find it hard to use, and there are other alternatives available, why persist? If it's non-intuitive to you, then you're going to find it hard to use. If it doesn't have some killer feature you (think you) need, dump it and move on. You don't need the hassle of trying to wrap your head around some oddly-designed (to you) product, and the product's developers don't need the hassle of trying to support people who think their product should work in some way it wasn't designed to.
None of this is intended to be harsh, just practical. You have the freedom to choose, so choose what works best for you. This sounds like it isn't working, so move on. My brother-in-law wanted to buy a Volvo, but found the controls and dashboard totally confusing, so he wound up with a BMW instead. Nothing wrong with the Volvo, nothing wrong with my brother-in-law, just cognitive dissonance. Don't worry about it.
I've been building sites with Umbraco for something like 5 years now, and I don't recognize your description of Umbraco as a very difficult CMS, but I'll try to provide a few pointers here to help you if you're still considering Umbraco:
Go to http://our.umbraco.org, read the Wiki-pages, and post any questions in the forums there, it's a really friendly community.
Always use Microsofts Web Platform Installer when installing Umbraco, It'll help you create your site, and set up your database. Just be sure not to install Umbraco in a sub/virtual directory, since Umbraco can't handle a setup like that.
If possible, do your install on a development machine with IIS7 and SQL Server Express, it'll work for sure, and deployment of a finished site can be done with a xcopy transfer and a restore of a database backup.
Don't start a new Umbraco site, before you've coded the HTML you'll be using for the site, or at least have a really clear idea about the page types, and html content you'll need.
I hope I'll be seeing you on the Umbraco forums.
Regards
Jesper Hauge
As a grizzled CMS veteran I can say that Umbraco is no harder to set up and use than many other CMS solutions.
However much of whether you find it hard or easy depends largely on your previous experience with CMS and your expectations for what a CMS should provide out of the box.
I've worked mostly with larger CMSs:
Microsoft CMS
Immediacy
Obtree
Reef (anyone remember that one!)
etc....
Against those it is no harder to use and is probably easier as it tends to get out of your way and lets you get on with building the functionality you require.
However if your expectations are more based around things like Wordpress, i.e. install and go but with more limited options, then it can be hard to start with (if you just fire it up without installing a website starter kit).
My recommendation is that if you are building a small site you take a look at the Creative website starter kit at our.umbraco.org. There are also many packages that you can install to make things easier or add specific functionality (including pre-built navigation controls and full blog solutions).
Also take a look at the Wiki on our.umbraco.org and ask questions in the forum, the community is helpful and friendly.
Umbraco is a bit different than other CMSs like Sitefinity, DNN, or Drupal. It does compare well to Sitecore.
Yes, there is a bit of a learning curve. I think the XSLT can cause that, but more likely its just the fact that you have to understand how Umbraco is structured. There are very few "modules" out of the box that you have to arrange and style. Rather, it allows you to easily create your own structure and markup that doesn't force you into a box that is hard to get out of.
I've used Drupal, Sitefinity, WordPress, Sitecore, and some others and frankly Umbraco is my favorite. If you know how to develop great web sites and you don't want limits on your design, markup, or client experience then Umbraco is a great choice. If you aren't really building a site but just want to put pieces together and get "something" working, then it may not be worth your time. If you build lots of sites or want your end users to edit content easily (not just a big rich text editor), then it may be worth overcoming the learning curve.
The videos are totally worth the $20 to watch BTW. They are far better than any documentation you can find and after maybe 5-6 videos you should be "getting it". Just buy one month and cancel after that.
The community is awesome too. If you're struggling, head over to the http://our.umbraco.org forums and get some help. There's lots of it over there.
Also, try installing the Creative Web Starter Kit package or the Blog 4 Umbraco package to get a head start. Those will be more familiar to those coming from a Sitefinity or Drupal background and may help the learning curve flatten out.
Good luck!
As a senior .NET programmer naturally I gravitate to .NET based solutions, and Umbraco seems to be a solid CMS. So I installed it and tried to gain some knowledge and getting it going and these are my findings:
Videos are ridiculously thin on content. The first introductory video talks of a runway. What on earth is a runway??? No jargon please, I'm a first time user.
You have to pay for the most advanced videos. No wonder it hasn't taken off as a mainstream .NET based CMS.
Out of the box demos are non functional (I chose the business theme an the menus don't work)
Admin area very non-intuative
Installation forces Web-Matrix installatiuon.. I have IIS7 and so do our production systems... I DON"T WANT WebMatrix!!! Finding documentation on this is also not easy.
All in all EXTREMELY FRUSTRATING to use and put me off Umbraco totally.
So I've picked up on Wordpress in the mean time and find it extremely easy to extend the admin interface. Documetnation and community support is superb. Just a pity its PHP bases because that won't fly in my company that has invested heavily in .NET developers :-(
Opinions aside, this all depends on your background. I'm a software engineer not a webmaster. So, I think like a software engineer and not like a webmaster.
Umbraco was VERY frustrating for me to install simply because there was no easily found TEXT documentation. Once I finally found that, it was a breeze to install.
The problem for many web designers is that they are not software engineers. Nothing bad about web designers who aren't also software engineers, it's just a different way of seeing the world. I have worked a lot with web designers who needed to interface with my C++ and C# back ends; they have a completely different perspective of almost everything.
Once I got past the goofy implied install process (which is bad, bad, bad -- you should never require another product JUST to install your own!) I found Umbraco to be simple and intuitive. Even my (non-programmer) girlfriend found it to be much more logical than some of the other CMS's we had been playing around with. Drupal, for example, was simple to install, but isn't really designed for a Windows development (ASP.NET/SQL Server) environment and I hate PHP, so I eventually abandoned that. MojoPortal was really nice and simple, but... it was... well... simple. Too simple.
I like Orchard, but the last time I looked at that there was so little in terms of what to start with that I decided that it would be a problem in the immediate future. I wanted a web content management system, not a web development platform. I kept thinking Orchard is a lot like *nix: "A nice place to live, but ya wouldn't wanna visit there."
Umbraco for me is a nice medium place, extremely flexible and easy to extend. It tries very hard to not get in your way. If you want to extend it you would probably do best to either learn C# (or {cringe} VB) or co-opt someone to write the CodeBehind for you. But, using it is extremely simple and straight forward.
I can't say whether it's just hard to use in general - but I came to much of the same conclusion as you did. I was especially disappointed by the lack of useful documentation - all the potentially useful video resources at their website are for pay $$$ only - what's up with that??
Also, the few intro videos I saw never quite clicked with me. They presented lots of concepts, but really never explained them much.
I also had tried Graffiti, but that never quite worked, either - and with its future less than sure, I gave up on that. Others seemed overly complicated for my requirements (Kentico, CommunityServer, and others).
In the end, based on a tip by a fellow on superuser.com, I went with BlogEngine.NET for my club's web site, and so far, I haven't looked back at all. It's pure ASP.NET which appeals to me, it's easily extensible, has a fairly large community with extensions and themes and stuff. From my personal experience, I can only recommend you check it out, if you have a mostly (blog) post based site in mind.
Strange. It takes me 5 minutes to install new Umbraco site, in 2 hours i managed to create standard portfolio website (well, when I've already got used to XSLT). It's very easy to create, modify, add custom controls, add smth to administration section, etc.
What was hard to understand (took me half an hour) that I don't have to write any SQL or C# code until I need some additional data model that's above Documents concept or Umbraco capabilities. Such samples: auto-resizing pictures, invoking some web-service, etc. - anything that comes from business logic layer that can't be covered by CMS model.
In most cases Umbraco is so easy to use that even that little bit of documentation is enough. There's pretty thin and easy API provided by Umbraco, but there's a good tech. level needed from developer, and that's XML 1st of all: XQuery and XPath to use maximum of XSLT.
And once more about installation: I just followed each step of installation guide and that's all.
The problem with Umbraco is that the UI is awkward and it's not immediately apparent how to use it and where to find things. There are several section buttons at the bottom of the page and when you click on one, you're presented with a tree view where you drill down to what you want. This is bad UI 101: no mystery meat. All functions should be organized and visible to the user. Dropdowns with submenus would have been a better approach.
The UI element names are ambiguous. For instance, there's a Members and a Users section, a Developer and a Settings section, a Content and a Media section. Isn't Media supposed to be Content? Aren't Members also Users? Aren't Settings something a Developer would do? You get my drift.
With the release of version 5, none of these issues have been addressed. The best thing they did was to kill XSLT/Classic ASP.NET and replace it with MVC and Razor. This makes getting your head around the product much easier from a developer's standpoint, despite a lack of adequate documentation for version 5. From a content creation standpoint, it's still lacking, however.
If you want to see a great UI, look no further than SiteFinity. Even though the new design isn't as good as SiteFinity 3 versions, it's content editing is the best I've seen on the market. It's too bad it doesn't support MVC and it's controls are cumbersome to modify and style.
what i wish i would have known!
Umbraco - Before you start
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I asked from few weeks ago this question:
How can I teach a beginner to write ASP.NET web applications quickly?
And i got some good answers but i liked the answer which tell me to make some small projects with them (me with the beginners)
So i decided to collect some small websites ideas to do with them (i do a part then they complete or show them some hard parts and they follow)
But i faced 2 problems hope you help me solve.
1- Couldn't get enough good ideas for ASP.Net websites to make with them.
2- If i want to make them train on using HTML websites created by the web designer to make
it dynamic using ASP.Net, where to find just HTML websites, or there is a better idea to teach them this part?
You may ask, whats exactly the level i hope they reach?
I want them to be Very good in ASP.Net, HTML, and familiar with JavaScript and CSS.
And the most important thing i want them to be a good searchers, means they got a problem and they Google the right way, and solve. "i think this will gain by time", but this is an important part, because i don't want them to say "we can't do this :("
May be i am asking for too many things, but i just hope general help so i can go further with them.
Use your brothers interests. If one brother likes Football, have him put together a fan site for his favorite team. Another brother likes fishing, well, you get the point.
There are two main benefits with picking topics this way:
They are already subject matter experts and can concentrate on learning the technology instead of the subject and the technology.
Hopefully they pick something they are passionate about and this will add to their desire to learn the technologies.
A good way to learn how to work with ASP.NET is to take a web template and start making it into a functional website.
For example, if you download this template you can see that it's a pretty straight forward business style site. Home, Projects, Services, Downloads, About and Contact are the main sections. The template also has a some additional buttons and links. These are all pretty good places to start learning how to create a site.
First thing, create a masterpage from this template. This is where you'll learn how to tear apart someones HTML and where to start placing content Templates and to start thinking about what can be a user control or reused (main menus, footers, sidebars controls etc.)
Next steps would be do go ahead and flesh out the folder structure of the site and dive in making the those default pages for each section. A learner will quickly see how a site is created from a master page and learn the little quirks of images and stylesheets and how to get around those as you dive through folder structures.
Now it's your choice. Pick a section and start having them dive into it. Products would give you a way to use a database, querystrings, forms, etc. How to pull data, how to display it and how to save it. Downloads would be a place where you could learn how to manage content for a user. What little admin tools a site would need to manage it. Services and About can be CMS driven pages. Once again data driven, but still different from the Products section. The contact forms would give them the option of leaning about using Email from inside of a .net application.
Now once you get your learner working on this, they might actually end up with a pretty usable site/product that they could actually sell or reuse in a 'for real' project. Take your time teaching them, go slow on each section and I'm sure you'll get some good input back from your learner.
Hope this helps you.
E-Commerce is a great solution, as other people have suggested. Or a portfolio web site would be even easier. Also, a picture sharing web site might work out well for them (family members could log in and upload, too?)
I would also add you should use the visual (design) mode in visual studio for the best effect. And then show the HTML it generates after the page is run/compiled. That way you cover for the people who are more visual learners and get into the code later. But I'm sure you were already going to do that :)
How about a sample time entry app.
User logs in to key his time for the week.
Admin user can approve time.
Reports can be made for summaries, approval, etc.. to give programmer exposure to reports.
Login / Roles is always important to understand
Time Entry gives you database interaction.
A simple informational website for a business or store. This should include a contact us form. That should be good practice.
A simple e-commerce application is a good project, as it exposes the students to a number of issues:
Security
Database integration
Transactions
Session management
Design and usability
If your interests are in TV shows or movies or something similar that one can collect on DVDs, building a simple CRUD web app to update a database should be a fairly simple application that will cover some basics like DB design and manipulation, AJAX if you want to send the requests without a full postback, and is something rather common in enterprise applications so it may be very useful.
The year the DVD came out, who wrote and directed what is on the discs, genre of the material, length, stars, extras on the DVD and many other things could go into the DB if one wanted to set up a library like system for an add-on that could be interesting in some ways.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
We are looking for an ASP.NET compatible data grid that allows for multi-line editing similar to Excel or a WinForms data grid. It must also support very basic keyboard input (tab, arrow keys, return). Note that we are not looking for Excel capabilities (functions, formatting, formulas) ... just a grid for fast data entry.
I've looked at Telerik, Infragistics, ComponentOne, DevExpress, and many others ... all their support teams have said that the controls either do not support multi-line, or do so in such a clunky way that it would be unusable.
Has anyone used any Excel-like grids that they can recommend? The client-side grids seemed closer to what we needed, with Sigma Widgets ( example ) being the closest I've found so far. Extjs's grid was too inflexible, and the jQuery grid was too buggy.
It does not exist today. There are products such as those you have mentioned which have tried, but in my experience none of them will make an experienced Excel user happy.
My company makes Excel compatible spreadsheet components for use with Windows Forms and ASP.NET. We have been getting this question for years, so we have of course considered building one because it looks like a good business. But HTML / JavaScript is just not a suitable platform for building something which "feels right" to users who want it to work like Excel - IMO.
We have settled on the idea of building a spreadsheet control for Silverlight. I believe this will give you the best of both worlds - cross platform rich interactive spreadsheet in the browser which any Excel user would be comfortable with. Unfortunately, that is not going to happen this month or next...
At my previous company, we actually built a spreadsheet component as a Netscape Plugin, as an ActiveX control and as a Java Applet. They had a little bit of success, but none of these technologies ever became ubiquitous in the enterprise for various reasons. I believe Microsoft is finally getting it right with Silverlight and that Silverlight will become the gold standard for browser based Line of Business applications in the Enterprise.
EDIT:
I should have mentioned that the product I alluded to above is Formula One / NET (Netscape Plugin released ~1995), Formula One / ActiveX and Formula One for Java - which is now sold by Actuate as e.Spreadsheet. I left in 2002, but AFAIK they still maintain the Java Applet which is probably the best example of an Excel like UI in the browser (I have no interest in the product any more - in fact we compete to some extent with e.Spreadsheet and intend to have a better answer with a Silverlight control in the future). I did not mention it by name in my original answer because it is a Java product - not a .NET product - but it is a potential answer even for an ASP.NET web site.
Lloyd Cotten correctly comments that Google Docs is an example of a spreadsheet built with HTML / JavaScript. Lloyd says Google Docs "definitely 'feels right' in its similarity to Excel". While I respect Lloyd's opinion, in my experience Google Docs does not 'feel right'. Perhaps this is because I'm a spreadsheet guy. I do know that we talk to potential customers almost every day who are trying to solve the problem of the OP, and they have all looked and cannot find one they are happy with - but of course they would not be calling us if they had so we are dealing with a biased sample and I understand that.
So I just want to clarify that there are in fact plenty of examples of HTML / JavaScript grids and spreadsheets which are usable. It's just that I don't want to have to use them because I expect certain keys to do certain things and a particular level of responsiveness which is just not there today with any of the HTML / JavaScript solutions I have tried (and I look at them regularly because my company could definitely sell such a product if it were feasible to build one that we could be proud of).
How about FarPoint Spread?
I'm in the middle on evaluating FarPoint Spread for ASP.NET, and so far I've been happy with the result.
We ended up using Sigma Grid ... thanks for all the other replies!
Well.. not sure, but I am looking for something similar and I found:
Nitobi
Not sure if it does exactly what you want, although youcan definately move around with cursor keys, and edit inline....
EDIT
Also Essential Objects have a good editor too... seems very like excel...
http://demo.essentialobjects.com/Default.aspx?path=Grid_i1_i20
RealWorld Grid is probably what you are looking for. I'm using it in my projects, and it works perfectly.
Here's their CooglePlex page
I don't think it supports the arrow keys, but it makes multirow editing a breeze.
p.s. seems like you're looking for client-side grids ... this one is server-side. I'll leave the comment there, somebody might find it useful.
I have used the Infragistics grid with success. However, the learning curve is huge (and there's practically no support) and I don't know if there is multi-line editing.
I've used Syncfusion's components and they're quite good, they boast an "Excel-like" editor, though I didn't see multi-line mentioned.
For intranet and IE users Office Web components can be an option. While flying in the face of all things a good web application should be, they let users feel at home in office on the web.
I had great success using the pivot table control combined with MS OLAP a few years ago. User loved it and no wheels needed to be reinvented.
http://www.microsoft.com/downloads/details.aspx?FamilyID=982B0359-0A86-4FB2-A7EE-5F3A499515DD&displaylang=EN
http://msdn.microsoft.com/en-us/magazine/cc164070.aspx
I think http://codethat.com/grid/ is quite good!
Excel Like GridView allows for multiline editing and navigating using the arrow keys, as well as resizing columns and rows.
http://darkroastjava.wordpress.com/2010/04/28/creating-an-excel-like-grid-for-asp-net/ is an extension of that which also supports pasting multi-cell values from the clipboard.
Unfortunately, both only work in IE so far, but that meets my personal needs at this point of time.
dhtmlxGrid (client-side, JavaScript grid) supports multiline feature (demo), keyboard navigation and comes with server-side connector for ASP.NET. In case, someone is still looking for such a grid. Disclosure: I'm a part of the DHTMLX team.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
Concerning pages that build a web application:
Lately, I have found myself creating web pages that are simpler than the ones I used to. Before, I would try to jam as much functionality into a single page as I could to prevent from having lots of pages.
I am starting to realize that this was just making things way more complex, convoluted, and confusing than it had to be. Why not have more pages? I think the reason that I was doing this was because I didn't want the user to have to browse to other pages; just to have all the functionality they needed on a single page.
Well, these good intentions turned into an overly confusing interface for the user and very unmanageable source code. I am a new developer and I am trying to be very reflective of what I am doing so that I can improve. If it makes a difference, I am developing in ASP.net (though these are probably considerations for any platform).
My questions are:
Am I overthinking these things?
Has anyone else found themselves doing this?
Where is the happy medium?
There is no expert who can give you a rule that works in all places at all times. I have been known in my industry for years for "easy" interfaces and we've won significant amounts of business for it (as well as 5 "Best in Class" awards). I have also had people within my company and outside of it tell me - for years - that they like my work but wish that I would "jazz it up" with more graphics and such. What always amazes me is how little connection people see between the two.
So...a few rules of thumb:
A page should do one main thing.
A page may well have multiple links related to the main thing
Menuing and link layout should be consistent across pages
Simpler is better than more complex
Pages should be visually appealing and inviting
Rule 4 is more important than rule 5.
For example, my product provides an interface that lets people define classes and events to be displayed in a calendar. I could have one page that lets you Review, Add, Update, Delete and Edit the classes. Indeed, in some simpler areas, I've used the gridview to let people manage everything in a grid. However, classes have too much information to do this and still follow the rules above.
So,
The main idea is: "Here is a list of classes for this location"
The links are "Add New" shown above and to the right of the grid, Change and Delete are links within each row. This is consistent across the app.
Menuing for the system as a whole is always across the right/top. Nothing else appears on the class/event page except for standard elements common to all pages (a logo, a header, a footer).
The grid is nicely styled but there are no spurious graphics (4,5,6)
A few last things about UIs and graphic design.
First, develop your own vision and be consistent across pages and apps.
Second, do not be afraid of simplicity.
Next, when soliciting advice from others keep in mind that you do not want their advice - you want their impressions: you want to understand the way they perceive the interface. Advice is sometimes good but, more often than not, actually harmful. In my experience, everyone thinks that they are a UI expert.
When you do your hallway (or formal) useability testing you should discount almost all advice to the effect that "you should make that stand out more." As you'll see, it will quickly become "and that," "and that," "and the other." If you follow this advice, you'll end up with a mess due to Brittingham's first rule of design: If everything is important than nothing is. (There you go: when explaining why you can't make someone stand out more, just tell them that "it violates Brittingham's first rule of design!")
Hope this helps!
You hit the nail on the head. Use the KISS principle. (Keep It Simple Stupid)
I've done this in the past as well and not only does it make for a hideous UI, but confusing as to what operations you can do on the page due to having too much functionality. I've often found in testing that I did not have enough checks to see if the user could perform a certain operation based on the state of the data.
It's easy enough in ASP.Net to write several pages that do simple tasks and then link them together with Response.Redirect or Server.Transfer. Now all I try to achieve on any given page is what the design specs say. So if my page is just a search page, that's all I give. If the user wants to see the details of an item that was returned in the search, then I send them to an itemDetails.aspx page.
You've broken a wall that most software developers have, the one that was blocking your view on usability before. A lot of developers don't really think about it and try to make it easier for them by stuffing functionality in one window, web page or whatever.
The thing is once you start designing software from the user's point of view, i.e. making it easier, several things start to become clear. One is the issue of code maintenance, that code is easily more managable to work on if you don't stuff everything in one giant class or whatever travesty you've been doing. The other is usability itself, that you start to think how the user is actually using your application through the graphical interface. Third is avoiding requirements or scope creep where you stop developing functionality that the user doesn't need.
We as users want simplicity partly because we don't want to spend most of our time muddling through a bad UI when we can get our work done faster with a simple and slick UI. That makes it for us software developers the right thing to do, to think through your design on all levels... that and specs always lie.
Definitely agree: most attempts at writing pages/forms that do too much have resulted in
bugs and rewrites. Problems occur with keeping all parts valid/synchronized,
excess managing of users' expectations ("I've entered a bill number here and clicked "find person" there but it gives an error message. Why?") when the two are logically separate. These questions cannot arise if only the valid options are visible,
Formatting/layout issues: In ASP.NET pages, trying to layout independent User Controls turns out to be a nightmare ("But we really want all the buttons vertically aligned!" in separate user controls. Good luck with that.)
I'd consider webpages with more than one functionality only if the target audience consists of domain experts, i.e. people that need lots of functionality on one page for better productivity (think data-entry or financial software with lots of variables).
Even then, most of the time, it's possible separate pages into single units.
No
Yes - me
I found the happy medium was to use Masterpages, and using it in a way that was familiar to IFrames. That I could have a lots of functionality combined well together. There is a more interesting way of doing this with WPF/Silverlight called Prism
The amount of functionality on a page is usually not determined by you but by your customer. If the customer demands a single page to update some VeryComplexObject, you're likely to end up with an aspx page that has a significant number of lines. Main reason is that you simply have a lot of event handlers for all actions on the page.
Whether that page is complex is entirely up to you. You should always attempt to make your code-behind file as simple and clean as possible. Some suggestions in that direction:
Move all business code to another application layer.
Use ObjectDataSource for providing data to data-bound controls such as ListView, GridView, Repeater, ... Delegating loading of data to a dedicated object prevents a lot of overhead in your aspx.cs file.
Another suggestion is to use user controls to implement portions of your page. You would usually only do this when you can reuse the user control, but it can also be of great help reducing page complexity (both of your code-behind file as well as your aspx).
Sometimes I think we are all guilty of forgetting just who it is that we develop our applications for. It isn't always easy as a developer to be able to take a step back and have a look at your application as a user might do so. This is why big companies employee hundreds of people to do this for them and they don't always get it right.
Usability is a massive subject but it is defiantly something that all developers need to keep in mind. It has taken me a long time to learn this but when tackling any development task I always try to think about how my users are going to interact with what I am writing. This will make a difference to all levels of your development.
I would suggest reading Don't Make Me Think by Steve Krug. This book won't take you an age to read and it puts across some fantastic ideas that can help you to develop applications that are much easier to use and understand.
I always find that once I have thought about the user experience the decisions about what my web pages are going to do and how they are going to interact are much easier to make.
Maybe you should ask the people who are using your site. Or better yet, just watch people use your site. I think that would tell you if your site is designed well, or if you need to change it.