Wednesday, August 31, 2005

Is my company name in Jeopardy!? (tm)(sm)(r) *(Jeopardy! is owned by those people who employ Alex Trebeck, I think.)

Every once and a while I type "Ataraxis" or "Ataraxis Software" into Google to see what results are returned.

As usual, this blog, the blog about me starting my own software company named, Ataraxis Software ™, is #1 on the list. (We'll get to that whole "TM" thing in a minute.)

Well today, on the second page I find this:



Here is a link to thier web site: http://www.ataraxisglobal.com

Their domain was registered in December 2004. I registered ataraxissoftware.com on February 15, 2005. The founder, also founded a company named, Information Management Resources, Inc., and co-authored the book, "The Other Side of Midnight, 2000."

And here is my obvious problem....

The name of the company is, "Ataraxis", and I *think* they sell software and services. The web site is a little vague, but they have a purchasing page, which at the time of this writing doesn't work, for stuff that looks like a software service. (I am NOT trying to knock the company's web site. I just can't tell EXACTLY what their product is - it's probably because I'm so shocked at finding this I can't see straight.)

The name I've chosen for my company, and blogged under for most of this year is, "Ataraxis Software". I will be selling software (possibly as a service).

I'm so in love with the name, "Ataraxis Software", it's not even funny. It completely personifies what I envisioned as my company's ideology. "Ataraxis: the absence of mental stress or anxiety"

Not to mention my blog and it's XML feed are under the folder, "ataraxissoftware", on my michaelsica.com domain. I don't the readership levels of the big guys like Joel or Eric, but just over this past weekend I had about 400 visits to my XML feed. That's not to shabby, considering I haven't even finished my product. (I'm well aware that some of those visitors could be search engine robots...)

I searched high and low for other "Ataraxis" software companies when I chose the name, "Ataraxis Software". And I never came across "ataraxisglobal.com" - that site probably wasn't even up back then.

I really don't know what to think or do. I feel like someone just kicked me in the gut.

Update 9/1 @ 1:00 a.m. I just finished the trade mark application for "Ataraxis Software". I don't want to lose the name, "Ataraxis Software". I like the complete name, "Ataraxis Software", too much!

For those of you who have been following my blog since it started, you may remember this post
where John Topley asked me if Ataraxis Software was trade marked because I had the ™ symbol at the end of "ataraxis software" (which I've since changed to "Ataraxis Software"). "Trade Marking" in the U.S. is simple, yet complex. Allow me to explain. NOTE: I am NOT a lawyer or expert in the field. This is simply my understanding and it could be completely wrong. I provide links to the US trademark and patent office at the end of this post.

Let's say you come up with a name or logo/name for a company, product, or good. When you represent your company, product, or good and you place the ™ ("TM" symbol) at the end of it you're marking it as your symbol of trade. I.e. It is your formal way to annouce to the world you are using it to mark your product or company as such. Now, "registering" a trade mark is something different. I'm sure you've all seen the ® ("R" symbol) at the end of certain trade-marked names. That means someone applied and was granted that trademark by the government. For an "official" explaination of all of this you can visit this page of the US government's official trademark & patent web site.

I'm not sure how long it takes to have a trade mark application go through the process, but (of course) I'll keep you all updated!

Saturday, August 27, 2005

Just want to share. Interview with John Gruber about OSX GUI

I've wanted a Mac for the last 2 years. But I just can't justify the $$$ until my current PC dies or I make gobs more money. :)

Anyway, I really like reading about people's opinions of OSX. I've used OSX a few times and seen it in action, and I'm amazed with it every time. You can call me a sucker for intelligent animation. Here's an interview with John Gruber on OSX.

“Most pixel-pushers now consider the original Aqua UI to be out of fashion. I’m guessing brushed metal will fall out of fashion next. I think it’s ridiculous that the UI look-and-feel from just four years ago is now considered passé.” The interview with John Gruber about the good, the bad and the ugly of the Mac OS X interface. (Read full here.)
Thanks to the Signal vs. Noise blog for the bringing this to my attention.

Just want to share. Langauge Freedom vs. Safety post

Curt Hibbs' blog pointed me toward Kevin Barnes' post entitled, Freedom languages. The author seems to favor the "free" languages a little bit more than the "safety" languages, but it's a nice (as Curt described it) "reframing of the debate" between languages like Ruby (free) and Java (safe).
Both sets of languages are making tradeoffs about what they view as the most important features of a language.The freedom languages are choosing powerful feature sets and the safety languages favor clearer contracts and commonly readable syntax.These are choices about how best to achieve the goals of programming.

Monday, August 22, 2005

OpenLaszlo Prototype - Task Grid - Much Love

My last report of creating my task grid in OpenLaszlo (for my web-based, Project Management application, Ataraxis Unity) had tales of my struggle with the standard issue "grid" and "tree" components.

Nay! I will not be stopped! :)

I chose to start programming my own component from scratch, and I've done the happy dance several times tonight.

I just needed one part datapointer (OpenLaszlo class) understanding, one part recursion, and one part knowing how to dynamically add "views" (OpenLaszlo class) to another view.

My first attempt at adding a view to another in JavaScript was a little backward. (OpenLaszlo uses JavaScript as it's scripting language. Don't confuse this with the JavaScript that runs in your browser.)

Here is what didn't work:

  1. Create "container" view.
  2. Create a "contained" view.
  3. Add the "contained" view to the "container". (container.addSubview(contained))
  4. Loop back up to #2 until I ran out of of views to be contained.

I thought this would work because there is a method on the "view" class called, "addSubview(view)". Through some testing I found that it was in fact adding them to the view, but a) it wasn't rendering the views properly b) wasn't adding the sub views to the container's "subviews" array c) just isn't the way you're supposed to dynamically add views through JavaScript!

I completely missed the fact that the view class has the following constructor: "constructor(parent, args)". Which translates to, "pass me my parent view and my attribute list".

Here is what works:

  1. Create "container" view.
  2. Create "contained" view, passing in the container view as it's parent.
  3. Repeat #2 until you run out of views to be contained.
Get your sample code by clicking here.

The more I work with OpenLaszlo the more I like it. At first I loved it, then I got extremely frustrated by it, and now I'm loving it again. :)

A Designer's New Blog - "Marketing & Advertising for Small Business"

I want to welcome my colleague, Shawn Porter, to the world of blogging. Shawn is a seriously talented graphic artist who will be blogging about "Marketing & Advertising for Small Business".

Shawn's bio:
With over 10 years of experience in marketing and advertising having worked with small business and Fortune 500 companies alike. Shawn currently works as Creative Director of Internet Marketing for Westgate Resorts and runs his own advertising agency in Orlando, Regal Studio.

Good luck Shawn!

Saturday, August 20, 2005

OpenLaszlo Prototype - Task Grid - No Love

The task grid for my web-based Project Management application, Ataraxis Unity, isn't coming together as easily as I thought it would. The task grid needs to be a mix of a "grid" and a "tree" with support for drag and drop.

When I first decided to use OpenLaszlo I figured I'd use the "grid" component for my task grid. But the task grid doesn't have any tree-like or drag and drop features, which is understandable, it's a grid. I briefly entertained the idea of extending the grid component and adding tree and dnd features. After I worked with the grid component a few times I wanted to pull my eyeballs out of my head, so I scratched that idea. (I've also removed the "grid" component from most of the screens on my prototype and replaced it with custom list-style views. Easier to work with, and they look better than the grid!)

Last week I started making the prototype for the task grid with custom views. Once I got to the part where I had to start thinking about how the subtasks would be shown and hidden I thought to myself, "Why not try and extend OpenLaszlo's basetree component." I extended the basetree component and used some of the code in the existing tree component to get started with my custom one. But after a day of hacking I just don't think I'll be able to get it to do what I want.

The problem I ran into is that the tree component indents all the "children" before their parent. Which is great, right? Well, not for this particular situation. I'm giving each row a background color, and as a result of the indentation, the grid has this silly upside-down staircase look to it. I also wanted to put a few static items to the left of each task row. Since each child/row of the tree is indented the static items are also indented and it just looks terrible. (I was also having some weird spacing and coloring issues. I didn't bother trying to tackle them because I was working on the indentation issues.)

Maybe I'm just not all that great of a programmer, but after about 5 hours of hacking I just couldn't get it to do what I want.

I did a search on the OpenLaszlo forum and it seems a few people have been able to custom role their own "tree" component. And it doesn't look like any of them were extending the basetree component. I think in my next work session I'll just sit down and try to figure out how to write what I want from scratch. So far, in OpenLaszlo development, that has yielded me the best results. (Except for the wicked-cool window component. I love that thing. :) )

Wednesday, August 17, 2005

BDUF

I can’t tell you how strongly I believe in Big Design Up Front, which the proponents of Extreme Programming consider anathema. I have consistently saved time and made better products by using BDUF and I’m proud to use it, no matter what the XP fanatics claim. They’re just wrong on this point and I can’t be any clearer than that.
You go boy.

Joel Spolsky, of JoelOnSoftware.com fame has posted the functional spec for Project Aardvark. Project Aardvark was the software product built in 1 summer by a team of interns.

I wish I could show off the prototype.

The last two nights of work on my web-based Project Management application, Ataraxis Unity, was spent on prototyping (non-functional mock-ups) the project task list screen and the application layout as a whole.

Monday Night
Since I've switched from an HTML to OpenLaszlo/Flash GUI I wanted to build the prototype screen for the task list damn near last. I wanted to get a feel for programming with OpenLaszlo before I started tackling the most important screen in the whole app. (As a Project Manager at my current job I can tell you all of the operations surrounding the viewing, creating, and editing tasks makes or breaks the app.) I've just started to work on the task list screen, and I have to say having OpenLaszlo's drag and drop, transparency, and animation features is going to be killer.

Tuesday Night
I did a major overhaul of my application's layout last night. When I started working on the OpenLaszlo/Flash version of the GUI I basically took the layout I had from the HTML version and converted into OpenLaszlo code. Changing the easy stuff, such as using the OpenLaszlo "window" class for certain items, as opposed to using the whole page like I was in HTML. But the design just wasn't ... amazing enough. It was clean and simple, but I couldn't see anyone using it and being passionate about it. I've made some modifications, and with a little help from my graphic artist cousin (Chris Scalici - and you thought my name sounded Italian!) - I'm totally exicted about the direction it's going. You've heard this before, but having OpenLaszlo's drag and drop, transparency, and animation features is going to be killer. ;)

Prototype To-do's
  • I've got to make a few more tweaks to the layout based on an email exchange I had with Chris today.
  • Finish prototype for the task screen. (It's about 30% complete.)
  • Finish about a half dozen random prototype "form" screens.
  • Assemble the "Home" page prototype.
I can't wait until this prototype is finished. It will basically cement my feature set for my day one launch. Once it's done, I'll probably spend a day or two writing simple specifications for each feature. (I already have some of that done from before my big, "Taking a step back...", thing.) Then I'll be back to designing and coding!

I really really really really really really want to have a working beta version done before the end of the year.

Wednesday, August 10, 2005

OpenLaszlo Dev Tip - Howto stop datepicker from being pushy

I've been meaning to post about how angry I was getting at the OpenLaszlo "date picker" component. The issue that was driving me up the wall is exactly what OpenLaszlo's documentation shows the date picker doing.

You see how the icon in the upper left is directly above the "April 20 2004"?


When you click that icon, the date picker appears. But look at what happened to the "April 20 2004" text. It pushes the text down the canvas...

Which is fine for this example, but it's not how I want the date picker to act in one of my forms.

I tried a couple of things to get around this, but they didn't work. (More on them in a second.)

.... Stay with me while I make this jump ....

I got curious if any blogs out there have mentioned Ataraxis Software. I hit Feedster and found that Chris Kohlhardt, a former employee of Laszlo Systems and founder of a new software startup had mentioned me in a blog post. I started looking around his site a little and I noticed this!

This guy wrote the date picker! Maybe he can help... So I shot off an email to him.

He wrote back, "You're a complete idiot."

Ok, I'm lieing. He didn't write that. But it caught your attention, didn't it?

Here is the email conversation - edited for time.

Me: You have blog. You wrote date picker. Me need help. Date picker is pushy. Here is code. Me not want date picker to be pushy. He moves checkbox. Me try height and "bringToFront". Here is code. Still date picker is pushy.

Chris: ... the reason that bringToFront() isn't working for you is because bringToFront only works with siblings to a view. What you really want to do is call bringToFront on the view that contains the datepicker AND a sibling to the checkbox. (the view with width="100%")

Me: Oh.

So here is the date picker code that will allow the date picker to float above the surrounding content. Tweak it for your app.

THANKS CHRIS!

The Passion (of Users)

I've just discovered Kathy Sierra's blog. I've read her last 3 blog posts, and all I can say is WOW.

She's blogging about "Creating Passionate Users".

If you're trying to get into the business of making and selling a product, any product, I highly recommend you go to her site like now! :)

Tuesday, August 09, 2005

Just Whining & Prototype Update

Working a full time job and trying to build this application in my spare time is really getting to me. The project that is keeping me busy at work is mentally exhausting me. I would love to spend all of my time working on Ataraxis Unity. I'm still plugging away at the prototype. I would have been done with it already if I could work on this full-time!

As for the prototype. I've recently decided to not include 2 features that I really wanted to put into the app. (Kind of funny, Ian beat me to the "I'm taking some features out" blog post. ;) ) I already made the prototype screens for the features, but after thinking about the project I've decided I need to shrink my scope a little. I really want to have a releasable version out this year. Will I be able to do it? Not sure.

Reading an article like this, really makes me wish I could turn back the clock to when I was in college. Paul Graham, author of the article, talks about programmers - he calls them Hackers - just busting their asses in their apartments, building awesome software. I had so much damn spare time back in college. I could have started a few dozen businesses! ;)

I've been meaning to write a blog post explaining my specific target markets for Ataraxis Unity, but I just haven't had the time.

Sorry for the lack of an interesting post, I'm just whining... :)

Thursday, August 04, 2005

OpenLaszlo - Runtime Color Values :(

I promised I would report the good AND bad of OpenLaszlo. I just found another item to complain about. (For people-finding-this-through-a-search-engine-in-the-future-sake, I am using OpenLaszlo 3.0.2.)

This is really lame.

I'm declaring a piece of text with a bgcolor of some shade of gray here (note I switched the angle brackets for square brackets because of Blogger's CMS tool.):

[canvas]
[text id="yoText" bgcolor="#f2f2f2"]Yo[/text]
[/canvas]

If I want to change the bgcolor of the above text view to white, you would think I could write some code that looked like this:

[method name="changeTextBgcolor"]
canvas.yoText.setAttribute("bgcolor", "#ffffff");
[/method]

Wrong!

I played with this for about an hour before I decided to hit the OpenLaszlo forums. I discovered the following. Apparently at runtime OpenLaszlo can only work with the interger values of colors, and not text (i.e. "black") or hex code (i.e. "#000000"). I have no idea if this is a "Flash thing" or an "OpenLaszlo thing".

Now, in OpenLaszlo's defense their documentation for the bgcolor attribute says the following:

The color of background of this view. Null if there is no bgcolor. A number from 0 - 0xFFFFFF.

Which I read, but didn't "get" until now. At 1:30 am. :(

If anyone can point me towards a web site that has the math to convert hex codes to interger values I'd appreciate it. You can leave the link below.

Wednesday, August 03, 2005

Flex/Flash Platform + Zorn?

Mike Chambers is a (according to his blog) "Flash Platform Developer Relations at Macromedia" - person. He posted the following today,

A couple of days ago I made a post asking everyone what features they would like to see in Zorn (Zorn is the code name for a next-generation rich Internet application IDE based on Eclipse that we are currently working on). As expected, we got a ton of great input, and lots of cool feature ideas (many of which are already planned). Anyway, there is one question that kept coming up, which I wanted to quickly address in order to help everyone better understand the significance of Zorn.

The question that kept coming up, was whether Zorn would be able to compile apps / SWFs without requiring a server to deploy. Well, everyone who asked this (and probably a few others) should be happy to find out that you will be able to use Zorn to develop and deploy applications based on MXML, ActionScript and the next generation of the Flex framework (all without requiring a server). We will be updating the Zorn FAQ later today to make this clearer.

(Zorn FAQ link.)

I haven't mentioned Flex on my blog, but for the un-informed it is a product similiar to OpenLaszlo, made by Macromedia (who makes the Flash Player). I haven't programmed anything in Flex, but from what I've heard the programming model is easier to work with than OpenLaszlo. (AGAIN - I haven't worked with Flex, this is what a couple of people who have told me.) If there is one thing I know for sure about Flex is that their components are at least 100X prettier than the equivalent OpenLaszlo components. ;)

I really wish this Zorn product was out, like yesterday. I'd like to be able to compare it's capabilities to that of the server-less deployement option of OpenLaszlo. It sounds like Zorn will only support certain featurs of Flex - they're probably going to keep the native ActionScrip/Java databinding-thing-a-gig for the Flex server product.

I'm going pretty ga-ga over this whole "Rich Internet Application" thing. I've chosen to develop my web-based Project Management tool in OpenLaszlo. If any of you find this stuff interesting check out these links:

Macromedia Flash Platform
Macromedia Flex (XML + ActionScript = Flash Application)
OpenLaszlo (XML + JavaScript = Flash Application. And it's open source!)

microISV - Product Launch and Product Announcement

I follow a lot microISV blogs and there were 2 cool announcements today.

Product Launch - Kwedit, text editor with SEO in-mind

Product Announcement - Requirements Gathering Tool

Congrats guys!

Updated Software Blogroll

I've recently added a few names to my Blogroll, and I just wanted to mention the people of those blogs and how they relate to what's going on here.

If you're reading this blog, you've more than likely heard of Joel Spolsky and Eric Sink. They are a couple of big-time ISV bloggers. Both of them have provided very good articles about software management, and out of appreciation I've got them linked here.

The remaining are
Ian's blog and articles really inspired me to get my butt in gear and start blogging. This guy is starting his own software company, is 1 of (i think) 2 developers, and posts more blog entries than most of the other people on this little planet of ours.

Dimitris and Cubicle Code have been regulars over here (leaving comments and what-not), and we've basically been following each-other's microISV story. It's interesting to follow along with other people who are striving for the same thing you are.

I work with Maxim Porges. He is one of the people who set me on the "right" path in terms of learning proper programming techniques (Steve McConnell, Martin Fowler, Alan Shalloway, Bruce Tate and Rod Johnson all had a hand in it too. ;) ). I come from a Management Information Systems education, so my schooling was not in the ways of good programming and OO. :)

Tuesday, August 02, 2005

Just got to share. The Ninja Hater.

In keeping with my "off-topic" theme for the day I present you with the following information.

If there are two things that are really cool in this world, they are Giant Robots and Ninjas. I've believed in this for as long as I can remember.

I doubt this guy digs Ninjas.

Apple's Mighty Mouse, am I missing something? (Updated, again)

From Apple's site...

The Button That Wasn’t

Alas the fate of the one-button mouse in today’s multibutton world. Who has time for intuitive, elegant design when there is so much clicking to do? Thanks to a smooth top shell with touch-sensitive technology beneath, Mighty Mouse allows you to right click without a right button. Capacitive sensors under Mighty Mouse’s seamless top shell detect where your fingers are and predict your clicking intentions, so you don’t need two buttons — just two fingers. Click on the left side to use Mighty Mouse in its simplest, single-button form. Click on the right to access contextual menus within applications and edit, copy, label or download from your mouse. It’s simple sleight of hand.


Am I missing something?

How is not being able to see that there are 2 buttons user-friendly? Looking at the mouse, you have no idea there are 2 buttons. They are also "touch-sensitive". When Grandma brings her Mac home, grabs the mouse, and right and left clicks start firing off, seemingly for no reason, how is she supposed to know what's going on?

Heck, what do I know? This is probably the single greatest mouse on the planet.

Update, 10 minutes later: After I posted this I thought about what they should have done with a multi-button mouse. Apple should have either color-coded the button areas or put symbols on them, like videogame controllers. That way, the OS can detect that the Mighty Mouse is connected, and if the programmers desired, they could show the representative symbols or colors on the screen for the user. That way the user can relate what they can do with the software to what is available to them on the hardware. You could even have some special hot-key to bring up the symbols/colors for mouse.

Not to mention, support personal could say things like, "Touch the triangle on your mouse." The user would know exactly what they are talking about. No more (allegedly) confusing, "right click" requests.

Update, a few hours later: I was looking over the Might Mouse page again and saw this:

"On Mighty Mouse, the entire top shell is the actual button. As with previous versions of the Apple mouse, simply press on the upper surface to click — the body pivots up and down to actuate the clever click mechanism."

So, I guess you touch the side you want, then push the whole mouse down? I got to use this thing...