Wednesday, May 30, 2007

online structured debate

All argument, all the time. And no real structure built in. So goes the comments section of just about any blog out there. Is there a need (therefore a market) for providing technology tools to assist the process of online argument?

So I've been reading up on online tools for structured debate. Debatepedia is one example of several, and I think it's got great potential. However, I think the UI experience is going to need work - how can it be instantly appealing to a wide range of users, say in an iPhone-kinda-way?

Here are some of the threads I've commenting into (not all are approved yet :)

rossnotes

spacedebate

victorybriefsdaily

philanthropy.blogspot.com

if:book

multi-medium

Of related interest: citizendium is not directly a place for debate, but if they want to make it work, the editorial board is going to have to use some kind of tools for online structured debate. (They're really going to have to scale it well to keep up with Wikipedia, but they do have the trump card of better accountability).


USE CASES:

Blog arguments are a perfect partner for up-and-coming sites like Debatepedia. How can they assist each other? What would be some use cases common to both?

- User marks blog argument as specific instance of already-established argument, provides link to entry in debatepedia or other online tool.

- User quickly extracts structure of blog entry comments section, and transforms it into skeleton of debate (for use in debatepedia or other tools)

- User marks blog argument as faulty, as defined by established argument rules in (debatepedia or some other warehouse of argument rules); "faulty" is one or more of: ad-hominem attacks; personal attacks; unsupported claim; logical flaw; urban legend; etc etc.


ONE LAST THING

Finally, in keeping with the digitalpocketknife philosophy: if you think this stuff is useful, and you've got a mobile phone, would you use this on your mobile phone? Wouldn't it be great to get a quick primer on the main points of an argument, no matter where you are? But how would it work on a little screen - would video be the solution? If so, when are the carriers going to give us affordable, high-performance mobile streaming video?

Sunday, March 25, 2007

More about The Dresden Build

This week I sent out an email to about 20 potential users of The Dresden Build. In the course of corresponding with one of the people who responded, I ended up writing a somewhat longish email back, about "what this project is all about", why it's being called a Beta release, that kind of stuff.

Rather than forward the whole text back to the email list, I thought I'd reproduce most of it here. If you're interested in knowing more about The Dresden Build, this might be a good place for you to start.

(You may also want to read the previous post: "arrayCGHbase - The Dresden Build").

----------------


Our lab in Dresden is not large, and getting funding for new tools such as software is always a challenge. The lab members have had a lot of experience with downloading free and/or open-source tools from the web, trying them out, and running into problems for which there is little or no support available.

I have over 10 years experience as a software engineer, and over this past year I've taken the original code for ArrayCGHbase, and worked to make it something that our lab members can easily install and maintain, even if they have little or no experience as database or application administrators. We've fixed bugs and added features, and included more recent features that Björn Menten (the originator of ArrayCGHbase) has worked on. We now have a partner lab in Germany using our builds, and they are very happy so far.

The tool does in fact provide both data storage and CGH analytic tools - as you might imagine, tools such as normalization, reporter set management, an assortment of view tools showing different perspectives on one or more experiments (karyotype view, line view, chromosome view, scatter plots, etc). The application is customizable is various ways - for example, several data formats come pre-loaded (various versions of ImaGene, GenePix, ArrayPro and AffyMetrix), but users are also able to quickly define and save their own formats as well.

We've also put some thought into how this tool can be integrated with the "data pipeline" which exists not only for us, but probably for most labs. Experiment data not only goes into the application, but we also want the post-normalized data to come out of the application, and be quickly available to external tools that can provide additional analysis support. For example, using standard database technology, we've developed a CSV output which can quickly deliver a set of experiments to a spreadsheet application - reporter location data are listed vertically in the first few columns, the experiment ID's run across the top row, and the cells at each intersection contain the normalized ratio data. This basic format provides a very good starting point for working in a tool such as Excel. This CSV output is another tool that we're glad to share with other labs along with this application (you run it as a direct script on the underlying database, rather than through ArrayCGHbase).

Another focus for us is to be aware of the kinds of efficiency gains we've been able to realize by using and improving ArrayCGHbase. A simple, non-scientific benchmark: For a single experiment, it used to take our lab members up to 2 days to perform normalization and analysis. Now, using this tool and subsequent tools in the pipeline, multiple samples can be clearly looked at in just a few hours.

We think that our build of this application is now stable enough that other labs (who might have similar issues around choosing and implementing software into their pipelines), should be able to benefit from using it. Our work with our partner lab has helped prove this to be true.

On the other hand, we want users to know a few things up front: firstly, that this project requires a certain amount of tenacity on the part of the user. Our installation procedures for Apache, PHP, and MySql are simple enough, but if you're not accustomed to this kind of work, it may seem intimidating at first. In addition, any time a database is installed and used, there will be administration issues that come up from time to time; while this shouldn't be frightening for users, it is something that they need to be aware of. Finally, there will be bugs from time to time.

We intend that our documentation and the online support we are willing to give are enough to make users comfortable taking on these issues. Therefore, the Beta phase: I'd like to have 5-10 users go through the installation process, start using the application, and give all the feedback they can, before opening up the project to a larger group.

I'm intending to establish this as a real open-source software project. This means much more than just delivering code...as I mentioned, we are interested in other labs contributing to the success of the project, whether it is simple feedback on the documentation, ideas for new features, new code, bugfixes, or just complaints in general. My interest is to provide the best, most stable and well-documented software application, free of charge, to as many groups who could use it as I can.


----------------------


yours truly, etc etc

arrayCGHbase - The Dresden Build

Aside from the mobile/semantic/design stuff that this blog is primarily about, I'm also supporting a build of the php application ArrayCGHbase, which I'm now calling "The Dresden Build". It is up for demo viewing here:

http://www.cultureset.com/arrayCGHbase/index.php

If you'd like the demo password, please send email to acgh_base@cultureset.com. Let me know a little about you: what lab you are working at, what's your experience with ArrayCGHbase or other tools like it.

I found a couple of glaring bugs just before putting this version up, and I'm packing to go to California tomorrow, so I probably won't fix them for a few days. Just so you know:

- checkboxes are acting strangely in the experiment list page

- in normalization, if you do an add/update, the query mode controls appear at the bottom, even though you're not in query mode yet.

- I'm still tweaking the settings at the host; for now, loading more than about 6 oligo experiments, or 8 of the smaller experiments, will cause the upload page to time out. (Note that in this version of ArrayCGHbase, users copy experiment data files into a directory on the same server as the app; the files are then available via a pulldown in the experiment upload section. I've only uploaded 3 sets of CGH files into this directory).

Also, please note that in normalization, the checkbox for "Use Smoothed Ratios" refers to performing the normalization on a column of pre-smoothed ratio data, rather than the normal (non-smoothed) ratios column.

There are some reports still disabled in the pulldown in the experiment list page. We've got a list of open issues on those reports, which Beta users are welcome to peruse. (Beta users also get a tool for enabling those reports so they can try them out.)

So, if you don't the dust while I get some things worked on, please enjoy trying out this version. Let me know (at the above email address) if you're interested in downloading and installing The Dresden Build. I've written a quick but comprehensive manual for doing the install, which takes you through setting up your own LAMP (or WAMP/MAMP) server, tweaking it a bit, and installing our code. (Again, let me know what lab you're working with, and what experience you've had with ArrayCGHbase or other similar tools in the past.)

enjoy!

Wednesday, October 04, 2006

first post

hello, and welcome to the blog for digitalpocketknife.com.

I've created DigitalPocketknife as a jumping-off point for web applications that are about harnessing the semantic web, showing off new and thoughtful mobile web design techniques, and integrating these two ideas with social aspects of life.

Got all that? Let me spell it out a little further:

Your mobile phone is your digital pocketknife. It comes with tools that, every once in a while, are really handy to have. But I'm not talking about cameras, mp3 players, walkie-talkies, or GSM tools. DigitalPocketknife is a home for web applications which bring together three forward-looking trends:

- the semantic web - a fundamental change in the way we put information onto the web

- small-scale mobile display design - why some web apps translate well to the mobile (and others don't)

- integrating the mobile web with everyday life - what kinds of moments are there, when having semantic information is really nice to have?


The first tool on DigitalPocketknife is called cultureset.com. It's something I've been working on for a while, and it brings these three ideas together in one application.

If you'd like some more detail on these three ideas, here's an overview:


1: The Semantic Web


The "semantic web" is a fundamental change to how the World Wide Web works.

People were given the tools to publish; clearly, people like publishing on the web - the number of websites is, well, BIG.

But the primary tool that people were given was about how data looks in your browser - the fonts, the colors, the placements, etc. This tool is known as HTML.

New tools are emerging, which are about what data means: to you, to your browser, to search engines, or to any person or tool that knows how to read and process this data - not unlike how a browser can understand HTML. The primary tool for publishing data for the semantic web is XML.

In some ways, this doesn't change the web at all - people still publish things on the web; browsers and other tools look at and process those things; you see what they contain.

But in other ways, the semantic web is a revolution in the world of online publishing. What you put on the web, and what other people see that you've put on the web, contains computer-processable information about the meaning of your content.

It is a new means of communication. It has the potential to change how we organize ourselves, how we make decisions, how we argue, how we refine our knowledge of the world, and how we interact as a society.


2. Mobile Design

Chances are, if you are reading this page, you've got a mobile phone, or some other kind of mobile device. Chances are, it's got a web browser too, and chances are, you don't use the browser very much.

Why is this?

1 - most websites just work better on your desktop - there's just not enough good sites out there to create that critical mass for people to start using the mobile web.

But this is starting to change. Many web designers are starting to create versions of their pages that work well in mobile browsers. And many mobile broswers are getting better and better at making pages look good in a small format.

But some web tools are not just "re-worked" to fit on the small screen; some tools are actually fundamentally designed to work well on the small screen. This requires a new paradigm of thought for the web designer - how do you effectively convey information with so little space? Without room for all those words and images, are there small, simple, and effective symbols that can convey meaning to the user?

2 - mobile browsing is slow and can be expensive. But the more that people start using mobile web applications, the better will become the cost and the performance. It's simple economics.


3. Integrating the mobile web with everyday life

I came up with the name digitalpocketknife because, as the semantic web grows, and as mobile design gets better and better, your mobile will become that pocket-sized set of tools - not the ones you use all the time (like your desktop computer), but the ones that, here and there, a few times a day or a few times a week, make the difference between frustration and success.

Having those tools available will be like having a wine opener just at the right time - when you're the one who's got it with you, you're the hero!

As I mentioned above, DigitalPocketknife is the jumping-off point for finding web applications that are about harnessing the semantic web, showing off new and thoughtful mobile web design techniques, and integrating these two ideas with social aspects of life.

There's an emphasis on the word "and" in that last sentence - I'm only going to focus on ideas that meet all three of my criteria. If I try to focus on ideas that meet just one or two of the criteria, the list of tools would be longer than anyone would want to scroll through.

So, there's a web page at digitalpocketknife.com, which is the page I hope people will bookmark on their mobile phones. It's meant to be the starting point for using tools that meet these criteria. (You can also check it out in your regular browser if you want - it's mainly just the text of this post).

I've started this blog to do several things. Obviously, I'm creating a space for discussion and communication about web apps along these ideas.

Another goal is to promote cultureset.com. It's the first tool listed when you get to digitalpocketknife.com.

I'm also here to learn. I'm sort of a jack-of-all-trades; on cultureset, I'm the DB guy, the UI designer, the Java team, the operations manager, the marketing guy, the CEO, the CFO, and now the head blogger. I'm able to get things done in all these areas, but I'm always looking to learn more, and I think a blog is a great way to get new information and ideas from other people.

So, please feel free to post things on this site. I'd like to start up some discussion threads, and they'll probably come right out of any comments people make.

Welcome to the party. Comments are open to all.