Alternate graphs, UI for zipkin? - distributed-transactions

I'm looking for better graphs for the traces stored in zipkin.io database, wondering if anyone developed anything better than out of box zipkin UI..are there any alternate GUIs for Zipkin?

Related

Please recommend wpf/silverlight control suit

I am developing an application which will have a WPF interface and a Silverlight/Azure implementation
So I'm looking to invest in a control suit that will require as little repeat work for the two UI implementations. The DataGrid must be top-notch as well as integration with an MVVM development model. Also important - reporting in various formats such as excel and pdf.
Support quality an active user community are important obviously.
All inputs and comments are welcome!
Having used several different control suites across multiple platforms, I would happily recommend Telerik as it is the one we keep coming back to.
They have a massive online community and support is very good. A key factor for us was availability of source code as we often develop app for clients requiring full access to all source.
I'd recommend DevExpress based on experience with their support team, even their CTO replies to questions sometimes.

Best reporting solution on top of SQL Server?

I'm looking to build a reporting portal on top of our database which is SQL Server 2008 R2.
It's been suggested that I use SSRS, and I've played around with it for a few hours. I found it very easy to point it to a table and have it generate a table/graphs for you. It could all be done in a few minutes, and that's great.
I had a hard time customizing the report to make it look nice. I thought it was like using Word to design a website, the customization was pretty limited. I have experience in web development using ASP.NET with jQuery, and I'm currently thinking that I could make the portal much faster if I could use my experience with those technologies.
I'd like to get advice on which path is best for my project.
Queries to the db are fairly simple, but not trivial. I have no problem building the data and business layers myself by using Linq-to-Sql.
I do not need print support
I need an emailing system that sends out reports every day, which I can also build myself (it doesn't need to let users subscribe to reports)
Don't need the flexibility of having users create their own reports. This is only for 2-3 different reports.
I enjoy the development experience using web technologies and feel comfortable building a pleasant user experience with jQuery and plugins. I fear that using SSRS, I would be limited to something ugly and not "fun" to use.
I want this project to be up in 2-3 weeks. I can't afford to re-invent the wheel for everything, but I also don't want to spend most of my time asking questions like "how do I make a fade-in effect in ssrs?"
How easy is it to customize the UI? Are there good examples online of what can be achieved? Does SSRS have some advantage that I could hardly get by writing my custom solution? I'm thinking in terms of application performance and overall functionality.
Thanks for your input.
I have built custom web interface to a suite of SSRS reports. You can easily do this, and submit the gathered report parameters to Reporting Services, and have it render the generated report to a web page, all as if the user had used the SSRS interface to begin with.
Some comments i would make:
let SSRS handle the reporting side of things. It has all the power and features you could need. And its free. And tested. And extensible. And renders to multiple (printable) formats.
you could maybe look at buying a set of controls designed to be used with SSRS to get even nicer chart output
you can build your own (parameter gathering & report triggering) interface within three weeks, but the schedule will be tight
you can't use jQuery within the rendered reports. A lot of the HTML within the rendered report is hardcoded template type code (styles etc are embedded into the report rather than linking to an external file)
you don't need jQuery fade-in panels to make your reports pretty :)
So, as you know SSRS allows web and winforms output, printing, and all that. But your users will undoubtedly end up bugging your for PDF and Excel exporting, which is also built-in.
It's also a lot easier to edit the reports without having to alter your app and as you mentioned it has the emailing built in.
SSRS is quite powerful if you play around with the grouping and parameterization. The designer is a little clunky as you make more complicated reports, but I've always been able to design what I want. I've not used Crystal Reports but presumably it's even more powerful but it is another thing to learn and obtain.
I use 2 main reporting tools (Business Objects and SSRS) and also Microsoft Access. I can honestly say that I prefer SSRS for 95% of the work I do. The users really like all the drill through options you can do. For example lets say you have a chart showing widgets sold, you can click on that bar of the bar graph and have it drill to a report showing a breakdown of which widgets were sold.
This ability of going from a “high level” to low level detail is really powerful to the users. As for looks, I quite like the default controls that ship with report builder 3.0, they have come a long way and just look what is around the corner with project crescent
http://blogs.msdn.com/b/sqlrsteamblog/archive/2010/11/09/a-glimpse-at-project-crescent.aspx
I know it's probably not a WEB-BASED technology but I would definitely give Crystal Reports a try. Specially considering your time constraints...

How can I develop a database for users to access via a browser

Years ago (pre-web) I used to be a Fortran developer (yes it was a very long time ago!) but these days I run a small non-IT business. I would like to develop a database application for my clients to access via a browser (or maybe down the line via a mobile phone). I haven't done any programming for a while apart from some VB macros in Microsoft Excel. I would be grateful if anyone could suggest the best language/technology to learn to get me heading in the right direction.
As Neil said in his comments there are dozens of different, valid answers to this.
Usually I would suggest going with a language you already know, but neither Fortran or VBA are really suited for this task, as far as I know.
Personally I would suggest Django, which is a web framework written in Python. It simplifies many common tasks and it is very well documented.
But there are many more possible solutions.
Before I started with a framework I'd break the problem into pieces. If you've never done anything with a database before you'll find that challenging enough without piling web or mobile on top of it.
Model your problem and get a good object or data model in place. Test that thoroughly without thinking about UI. Once you have that, perhaps you can expose it as services that any UI can call.
You'll quickly become overwhelmed if you try to do it all at once.
Here's another thought: If these are paying customers, why not do yourself and them a favor and hire someone that knows how to do this? It's great that you used to write Fortran, but if you haven't kept up you won't be doing your business any good by putting out a bad first effort for customers to see.
Do it right - get a professional. Do your learning on your own time.
You can use ASP.NET and SQL Server to get something online that will allow users to edit a database table fairly easily. They've simplified it to the point where you can drag and drop the necessary controls (GridView and a SqlDataSource for instance) and define your datasource in a wizard for most simple table CRUD functionality. Basically give users the ability to edit a table without writing any code.
If you need to do something a little more difficult it's easy to write code that will add functionality to the original drag/drop stuff you did.
There are lots of good resources out there for asp.net and C# also, so it will help you get up to speed quickly.
Keep in mind that I work almost entirely with .NET/SQL Server so my opinion will be slanted towards them...

Ways to get past the Inner-platform effect while still building highly customized web apps?

Feel free to answer the question in the title as generally as I posed it, I offer some more details and specifics below.
Currently I develop and maintain a somewhat legacy business app (ASP/SQL) that is highly customizable allowing for moderate to full customization on: custom fields, forms, views, reports, actions, events, workflows, etc. This customization is necessary in the domain we develop for and has allowed us to build a niche.
I have been reading up on the inner-platform effect and ways of implementing high level user defined customization and have concluded that we do suffer from many of the inner-platform effect problems because essentially we have created a high level abstraction on top of the SQL. The organization of custom fields is implemented in a similar way to the approach found here
http://blog.springsource.com/arjen/archives/2008/01/24/storing-custom-fields-in-the-database/
We use something similar to the meta database method described in that article. All customization is built around this approach and in many ways we suffer from database on top of a database.
The end result is something that looks fantastic on paper yet the more features are added and custom coding is done for clients the more of a mess everything becomes. It seems that the more I read the more I realize this is somewhat of an anti-pattern. It also seems that the more I try to read the more I find so little has been written on the topic. Anyways, I am trying to learn modern approaches to this problem and trying to find more discussion/articles on the topic. Are Database systems such as CouchDB relevant to this type of application?
My question is clearly pretty general. It seems like there is a lot against this kind of application in favor of just "knowing and defining your domain better". Are there any good/better ways to implement this kind of application? I'm not looking for black and white answers, and any further readings on the subject would be fantastic. Thanks for any help.
My answer is be conscious and clear about what is for a plugin to do and what is a user setting. In that case, your platform and your settings are different. Your application provides basic services and is unabashedly a platform. It may also provide an application built on that platform.
So in that case you focus on programmer interfaces instead of implementation possibilities.
The standard advice in CS is to create another level of abstraction, not sure if that's not the problem here.
The only advice I could give is to push as much functionality onto the database, given it's the platform. SQL Server supports custom functions, fields and stored (SQL) procedures.
Either that or try to pull repeated functionality into separate functions in ASP.

Silverlight 3 automation for user training rather than unit testing?

We are developing a Silverlight LOB app. It would be great for users to be able to click a help button on the top of a page and have the app walk them through the functions of the page as though the movements and key strokes were pre-recorded.
I've not really familiar with automation on any GUI framework but googling around it seems most of it is geared towards testing. In my case, i'd want the mouse to move around the screen naturally, so a recording makes more sense. I'm pretty sure I could simulate such a recording with a very detailed timeline but this wouldnt be practical to code.
Is it possible to record an interaction like this and then have it play back purely on an SL client? I dont mind if I have to use an external tool to make the tests, but the training sessions need to run totally in Silverlight.
Its going to way way easier to create a training video using the variety of tools specifically designed for this sort of thing. Results of such tools you have probably already seen when watching demo vids for developing silverlight from site such as Channel9 and MSDN learning.
You could then simply use Silverlight's media elements to run such a video as part of your apps help system.
Creating actual automations that can be watched by a human will be much harder. Bear in that a huge advantage of video is that it can be paused and re-wound which is vital for your objective to actually be achieved well. This would be some thing like monumentally difficult to impossible to do using the automation approach.

Resources