Tuesday, September 27, 2005

Thank you

First of all, thank you all for taking the time to comment on my last post. I really appreciate your feedback.

I'm going to be in NY from Friday until Monday night (family wedding) so I'll have a lot of time to mull all this over. I'm not giving up on Ataraxis Software™, I'm just not sure if Ataraxis Unity™ will be my first product.

Thanks again!

(Oh and I've alread thought about scaling down the feature set. I already have scaled it down! Anything smaller and I'm not sure I would even want to use it. I'm not interested in building a PM application that doesn't handle sophisticated task management. Everything from sub tasks to "finish-to-start" constraints between the tasks. One of the reasons I started this project was so I could have a web-based PM app that did that kind of task management. I'm just not sure I've got the personal resources to accomplish such a lofty goal.)

Monday, September 26, 2005

Laszlo Systems Founder Interview

If any of you are interested in hearing about the history and future of Laszlo, check out this interview of David Temkin.

Bruce Tate, Secrets of lightweight development success

I met Bruce Tate at the, No Fluff Just Stuff, Central Florida Software Symposium. (He's a super-nice guy.) Today I found an article he wrote a few days ago that briefly covers a lot of the topics he was talking about at the conference.

Interesting stuff. Check it out:
Secrets of lightweight development success, Part 7: Java alternatives

Getting Second Thoughts / Time

(I haven't proof-read this post. I apologize if it's filled with bad grammar and spelling mistakes.)

When I first decided I wanted to build my own web-based Project Management application I did a search around the Internet and found about 8 competitors. I thought most of their products were pretty weak. I remember Copper being good, but that was about it. (Most of the apps didn't even allow you to have sub tasks of tasks or link all the dates of the tasks together so when one moved, they all moved.)

I started to see more and more PM apps pop-up. Some good (Project Insight), some bad. Here I am a year and a half later and there's at least 274 competitors now. (I'm not joking, go look.)

I've been "on" this project so long I can't even remember not working on it. Why has it taken so long?

1 person x 15 hours a week = forever

That's pretty self-explanatory.

Programming language

When I first started I had built a couple of database-driven web sites in PHP and Coldfusion. I had only been doing that for about year (programming). And I didn't want to make the app in either of those languages. I didn't like PHP, and after working with Coldfusion I honestly never wanted to go back and touch PHP. I couldn't build my PM app in Coldfusion because I wanted to sell the application and the CF server license was too much to tack onto the price of my application. (I've since changed my thinking about selling the app and I want to offer it hosted only. But that's a whole other blog post.)

So I choose Java/J2EE, and I barely knew Java. I was basically at the tutorial level. Now I don't come from a computer science background - my degree is in Management Information Systems. (You can stop laughing now - it's great if you want to work in IT management or analysis. Unfortunately, I don't...anymore.) I greatly underestimated how difficult it would be to ramp up that skill set. OO takes a while to "get". (But once you do, it rules.) I won't bore you with all the details of "learning Java", so here's the abridged version:

Java, cool I get it. JSP, there's like 3 different ways to do everything. Which do I learn. Application frameworks, started learning Struts - what a nightmare. Stared learning JSF - what a nightmare. Found Spring and Spring MVC, and they rocked. Crap, I need to learn Tiles too. Ok, so how does Tiles work with Spring MVC. Ok that's, cool. I only need to do 6 things everytime I make a form. (I actually have a list printed out so I won't forget all the steps.)

Here's a list of all the books I've read since I've started this "project" (I won't list the Java and Java-related books I started then threw in the garbage because they sucked.):
Learning Java, Second Edition
Design Patterns Explained: A New Perspective on Object-Oriented Design
Java Swing, Second Edition (first thought was a desktop app)
JavaServer Pages Developer's Handbook
Expert One-on-One J2EE Development without EJB
Better, Faster, Lighter Java
Code Complete, Second Edition (Most of it. I actually lost it before I finished it.)

Funny thing is, I'm not too bad of a programmer right now. I'd say I'm on the same level as the 4 other programmers I've got on my team at work. (At my day job.) 2 are computer science grads, 1 is getting his computer science degree, and the other has a 2-year degree from a community college. (The CC guy filled his schedule with a lot of programming classes, and is a highly regarded programmer at our company.)

Hit the HTML / JavaScript Wall

I've already whined up a storm about this, so I'll just point you to my original, "me no likely JavaScript" post.

Learning OpenLaszlo

I've been working on the OpenLaszlo prototype for the last 2 months. I'm really feeling comfortable with OpenLaszlo now, but my goodness am I running into issues with that platform. I'll have to post about my latest time-waster. I don't think I'll be able to code around it. It may be one of those, "sorry, it's just a bug of the platform", bugs. (Or it's possible that I'm too much of an idiot to see what I'm doing wrong.) It can also become a resource hog on the client. I don't know what Macromedia is doing with Flex, but OpenLaszlo's comparative client-side performance is sad.


Where am I now?

So after a year and a half, I'd say I'm about half done. I've almost got my prototype done. (A prototype is a non-functioning, quick and dirty mock-up of the application used to flesh out what the hell it is I'm building. See previous blog post.) And I have part of my "model" done. (Business objects and their related logic.)

I'm honestly not sure if I should finish this project. Like I said eariler, there were 8 products out there when I started (I'm sure there was more - I found 8), and now there are 274. And some damn good ones!

Is the web-based Project Management application market big enough for yet another entry? I have no idea. Am I bringing anything new to the table? Two years ago, hell yeah. Now? I'm not too sure.

Having the last 2 weeks off from this project have been nice. I've been thinking a lot about Ataraxis Software. I don't want to give up the software company dream. I want it. I'm one of those people who works insanely hard. I put so much heart into my work (right, wrong, or indifferent) I just can't imagine working at this level without "getting a piece". I'm the type of person who has always craved freedom, and I feel like I'm smart enough and determined enough to do this.

I've got mixed emotions about what I should do.

I have ideas for some other products. Do I scrap a year and half of work to move onto another product idea? I think all the ideas I have are smaller in scope than a PM app (probably easier to implement too). But, in all honesty, I'm scared they will take me just as long. I'm only one person working a few nights a week. The time in my life where I could spend every waking moment of my life working on a product idea have pasted. (If I want to stay married anyway. ;) Which I do!)

Maybe I should post my "quick and dirty" prototype to try and gauge it's potential. I'm pretty far from having it complete, but if everyone on the planet says it sucks - it could save me a lot of time. :)

Please feel free to leave me your thoughts in the comments below. I'd love to hear from you guys. (Especially those of you who read but don't post! I know there's a lot of you out there!)

Tuesday, September 20, 2005

How's this for a night off? ;)

(My cable modem service is working now. Let's hope it stays that way. :))

As I mentioned in my last post, I'm not working on my PM project this week because my wife laid down the law and said, "You're burned out. No after hours work until this project at work is done."

So I decided to do something fun tonight.

I've gone through the first 4 chapters of the RealBasic tutorial. Here are my thoughts so far.

I'm really digging having an IDE that is purpose built for the creation of a GUI, cross platform at that. Check out the menu bar control. It allows you to view your menu on all the target platforms. (Screen shot from my Windows XP computer.)



But, as I mentioned before, I already miss Java's syntax. I don't miss the 4,000 lines of code it takes to do anything, but I do miss the traditional (in my mind anyway) curly brace code syntax.

When I first started being a developer - well I was more like a script kiddie that wrote really bad PHP code - I looked down on tools like Visual Basic and REALBasic. I thought they were for people too dumb to program. After programming for the last 3 or 4 years I've changed my thinking (or I'm too dumb to program). I'm at the point in my life/career where I just want to use good tools to get the job done as quickly, efficiently, and cleanly as possible.

I haven't started a new project for myself (just yet), but I hope I can spend some more time with REALBasic. I'm very interested in being able to build a cross platform desktop app, and I'm sure as hell not doing it in Swing. SWT interests me, but I've read a lot of bad things about it. From what I understand, if you stick to the same kind of functionality Eclipse offers you're ok. Stray outside of that and it could get hairy. (I don't have any experience with SWT, it's just what I've read online.)

Anyway - it was a fun "night off". :)

This week, no Internet connection, no progress.

My cable modem service isn't working (got to love Adelphia) so I'm not sure if I'll be able to blog at all this week. I'm also going to be putting in some over-time at my day-job so I doubt I'll be able to work on Ataraxis Unity™ this week. (My wife is noticing how burned out I've been lately and is ordering me to not work on my application when I get home. And honestly, I'm not putting up much of a fight.)

Sunday, September 18, 2005

New Blogger Template

I was getting tired of the old template and I wanted something with a higher contrast. Thanks to Dave Bowman!

I also increased the number of posts on the home page from 7 to 10. I've been bloggin like mad lately (took the week off from development ;)), and I didn't want the new stuff to fall off the home page. When a post falls off the home page I turn off the comments, so this will also give people a longer chance of commenting on a post.

OpenLaszlo community is still growing.

I checked out the OpenLaszlo mailing list and forum tonight for the first time in a few weeks, and I'm continually amazed as to how many people are building stuff in OpenLaszlo. A couple of people on the JoelOnSoftware.com forum seem to be investigating it as well.

If you're developing something OpenLaszlo and have a blog, please feel free to leave a comment with your URL. Or at least email it to me!

Saturday, September 17, 2005

Still curious about Zorn

It looks like Macromedia is going to show off the current state of Zorn at their "MAX" conference. Zorn is supposed to be an Eclipse-based IDE for ActionScript and MXML - the languages of Flex. Flex compiles those languages into .swf files, which run in the Flash player. I'm really curious to see how good the visual design portion of Zorn turns out to be. I've briefly watched someone work with the Flex builder, Macromedia's current Flex IDE, and I thought it was cool. It allows you to "drag and drop" different Flex components into the central application development area.

I'm buiding the UI of my web-based Project Management application, Ataraxis Unity™, with OpenLaszlo. Nothing will change that now. But I'm disappointed in the tool support. I was using the "IDE for Laszlo" when I first started working with OpenLaszlo, and it was rather crude. It's since been updated, and has gotten better. But it's not the visual development environment I'm looking for. The way it does "drag and drop" is pretty goofy.

In the IDE for Laszlo you've got 2 views for your code files, "Source" and "Design", along with a "Palette" of Laszlo components.

Source is what you expect - it's the source code. "Design" isn't quite what you'd think. You drag components from the "Palette" and drop them into your source code in the "Source" view and the XML is written out for you. Yes, that's correct. You are dragging a component into an XML file, not the "Design" view. Now if you click on the "Design" tab, you'll see a rendered version of your source code. That's cool and all, but it would be more useful if I could drag the components onto the "Design" view. The IDE for Laszlo is still pretty young, and I'm sure it will get better over time.

If Zorn is a sub $500 tool, I'd like to evaluate it for future products. (I've got a bunch in mind. :) )

Microsoft's Sparkle, cool. Competition?

I found out that the details of Microsoft's Sparkle project were released, and I'm impressed and a little jealous.

Sparkle will allow designers to create their UI's using a designer-oriented tool. (To my non-designer eye balls the tool looked a lot like the Flash IDE.) But here is the kicker, it produces XAML code for use in a C# project. If you're not familiar with XAML, do a google search and read up on it. It's pretty cool. Just like with Flex and OpenLaszlo you specify your UI in XML. (Flex and OpenLaszlo both compile down to .swf files, which run in the Flash player.)

I'm impressed that a company is trying to provide a seamless workflow between the UI artists and the developers. The tools they are providing seem to be of a high level of quality, and will allow people to produce some amazing user experiences.

I'm jealous because the XAML code is rendered by your computer's GPU. (That's your video card, dude!) OpenLaszlo developers, myself included, would love to have better performance in their applications. There's only so much you can do "in software" to improve performance. I'm really curious if a future version of the Flash plugin could take advantage of your video card's rendering capabilities. Is it even possible for a browser plugin to use your video card?

Now the obvious bad thing to say about this technology and platform is that it's Windows only. So I won't say it. ;)

I really hope the dev teams at Macromedia and Adobe aren't distracted by their upcoming merger. We need tools and technologies to combat the developers who are going to be working with the XAML and the Windows Presentation Foundation.

Friday, September 16, 2005

Nintendo is beating the farm on innovation

I know this is off-topic for my blog, but I'd like to point everyone towards an established company that is innovating like nobody's business.

If my memory servers they were the first to:
  • Put "shoulder" buttons on their controllers
  • Have an analog stick that was controller by your thumb, instead of your hand
  • Provide rumbling capability in their controller
  • Have a "trigger" button on their controller
Nintendo is beating the next round of console dominance on their controller. It's like nothing we've seen before. Congrats to Nintendo!

Now I'm hoping the market place as well as 3rd party game makers embrace it.

Links:

Thursday, September 15, 2005

Does IE5 matter anymore?

Tonight was the first time I've looked at browser stats in a while. It seems that IE 5 has gone to 4% market share. That was the number Netscape 4 hit when I said, "I'm done".

Are you guys ditching IE5 support?

Shopping Crack

I love reading Seth Godin's blog. It's full of interesting marketing stories. Aparently Lord & Taylor has created shopping crack. Check it out: "Fear of loss, desire for gain"

Microsoft's Sparkle

Microsoft has anounced the details of their "Sparkle" project. Ars Technica has a write up and channel9 has a video of the introduction at the PDC (which I'm currently downloading). After I check out this video I'll be back with some opinions on it.

Wednesday, September 14, 2005

Flash 8 released!

Improves Flash performance. Go get it!

Marketing 101

There are certain things I remember my college professors saying. I have a Management Information Systems degree, which is in the college of business at UCF. I remember the following quote from the person teaching our general marketing class.

"Everyone wants to market to themselves."

In other words. People who don't "know marketing" do it wrong by focusing on what they want to see. As opposed to what their target market would react favorably too.

Shawn Porter's blog post, "Take the Hay to Where the Horses Are", reminded me of this lesson.

The Week Off

I've taken this week off from the "microISV" life. I'm working on a project at my day job where I'm literally showing up in the morning and typing code until I leave. I was so wiped out on Monday and Tuesday that was actually able to fall asleep at a descent hour! We're in the home stretch of this project and I can't wait for it to be done. I hope to deliver it to our QA department by the end of the month. I gathered the requirements, I designed the web tier's business objects and web site code, and I'm writing 1/3 of the code. So needless to say, I really want to see this thing live and running!

I'll probably get back to work on Ataraxis Unity™ next week. Even with all the work at work, I don't want to go too long without making progress on Ataraxis Unity™.

Sunday, September 11, 2005

iTunes phone only allows 100 songs?

Does this sound like a bad idea to anyone else?

http://arstechnica.com/journals/apple.ars/2005/9/10/1174

Windows Vista to have 7 versions?

Does this sound like a bad idea to anyone else?

http://arstechnica.com/news.ars/post/20050910-5298.html

Feeling the pain of XHTML

Dimitris Giannitsaros, a fellow microISV blogger, made a post about how much of a pain a "tableless" HTML/CSS design can be.

Back in 2003, I became really good with CSS. I read all the CSS blogs. Zeldman, Simplebits, mezzoblue, meyerweb, etc.... I took all of that knowledge and built the current version of michaelsica.com. See my first blog post, from my old blog. (This blog is a sub directory of that site, and uses a Blogger template.)

After I built my site in XHTML and CSS I thought those two technologies were the only way to go when building a layout. Tables were to ONLY be used for tabular data. CSS-P (CSS Positioning) was the only way to go.

I believed that until I started in on the XHTML version of Ataraxis Unity™. (I've since dropped the XHTML version in favor of OpenLaszlo/Flash. But the original design was in XHMTL.) I remember the first time I started to hate CSS-P. I was trying to get (what I call) the icon bar of Ataraxis Unity™™ to look a certain way. I spent an entire night fighting with XHTML/CSS to get it to do what I wanted in all the browsers. And honestly, I never got it exactly how I wanted. The next night I worked on my design and I got what I wanted out of tables in less than an hour. It might have even been about 15 minutes. And I was really good with XHTML and CSS.

I'm not arguing against XHTML and CSS. For most content-heavy web sites you're going to want to use those technologies. They do a lot of amazing things.

My suggestion to everyone making a web application with XHTML and CSS-P is.... If something is taking you too long, stop. Think about why you are trying to reach the utopian goal of, "We only use CSS-P. Tables are not allowed in the layout!" If the answers you can come up with are:

1) "I'll be able to completely re-do my layout using CSS-P easier than I could with tables."

and

2) "I'll be able to offer multiple views for different devices with the same markup."

Stop lying to yourself. It's not that easy!

(1) You can easily redo layouts with server-side code. We've all done it. It's not that hard.

(2) That's not a good idea. You'll have to build the markup to take into account the lowest common dominator for all these varying "views" you plan on offering. I believe you can offer a much better user-interface if you purpose build the interface for the device/platform/view you chose to support. If your application is built with the appropriate abstractions and layers than building a different view and making use of the same business logic isn't very difficult!

Please read this next part carefully...

I'm not saying to ditch XHTML/CSS or even the use of CSS-P where it's the best choice. For your own sake, use what works in an intelligent fashion. Just remember... nothing can be perfect. Use what works. Time is money. You've got to ship your app. (And so do I for that matter!)

Thursday, September 08, 2005

New Job Opening at Laszlo Systems

I've been following Sarah Allen's web log for a while now. Sarah is the lead of "Laszlo's Application Development Group", and she just put up a blog post about a new position at Laszlo Systems.

The position sounds insanely interesting. It looks like it's primarily a user interface programming position. I don't have a ton of user interface programming experience (I'm currently a hybrid Project Manager/Coder), but I absolutely love GUI's.

I love thinking about how people will use them to get their job done. I love tearing apart the GUI's of apps I use on a daily basis and thinking about - no - dreaming about how I could make them better. I love to think about how to make an application's GUI be an extension of a person's work flow. I love GUI's.

If I didn't have ISV dreams of my own I would have already sent in my resume! (And not told you about it!)

I've enjoyed designing the interface for my web-based Project Management app, Ataraxis Unity™, more than any other aspect of the project. I'm almost done with the prototype (screen mock-ups, nothing is real, but it looks like it is). It's rough as hell around the edges, but I'm going to save all the blood and sweet of tuning the GUI when I get to the real programming of the app. (Tip: Don't waste time on making the prototype pixel perfect. That's not the point of a prototype. Get your ideas from your head onto the screen as quickly as possible!)

Once the prototype is done I move straight into working on the official spec for Ataraxis Unity™. And of course blogging about how I write a spec! ;)

Just got to share. "The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme"

If you've ever used iTunes and you know what Apple's OSX looks like you have to read this.

The iTunes 5 Announcement From the Perspective of an Anthropomorphized Brushed Metal User Interface Theme

Tuesday, September 06, 2005

Just got to share. William Shatner & Joe Jackson's, Common People

I know this album has been out for a few months, but it wasn't until last week that I heard the track, "Common People", on radioioROCK. It was so good I grabbed it off of the iTunes music store. Unfortunately, the sample on iTunes doesn't include Joe Jackson's emotion-charged vocal tracks. His singing turns the song from a quirky toe-tapper to a deep, passionate cry of us, the common people.

Drop the 99 cents on the track! This is a seriously good song!

Monday, September 05, 2005

Next Project, RealBasic?

I still have a lot of work to do on my web-based Project Management application, Ataraxis Unity™, but when I'm not working on it my mind is usually spinning around what my next app will be. For one of the apps I want to build I'd more than likely need a desktop front end. The application I have in mind would have to run on both OSX and Windows. The market I want has a healthy mix of both OS's, and I'd bet there is a mix within single companies.

If you've been following this blog, you know I'm building the backend of Ataraxis Unity™ in Java. The natural path for me to the desktop would be Java Swing. But to be honest with you I'd rather not. I've tried out and used several applications that were written in Swing. (I've spent the most time with DBVisualizer, Netbeans, and Adalon). Some of the applications are really good products, but Swing makes them clunky and ugly. I'm really sorry to the developers of those products, your apps are good - Swing sucks.

SWT is another option for Java developers. Everyone loves the SWT based (and it's reason for existence), Eclipse, right? SWT/Eclispe is appealing. Heck, I could write my app as a plugin to Eclipse! But... I've seen Eclipse on OSX and it just doesn't look like it fits in with the OS. It works - and the Eclipse guys have done a great job, but it's obviously a Windows centric platform. I'm not sure if you could build an SWT app from scratch for Windows and OSX and really give it a native look and feel for both platforms. (Can you tap into the OSX goodness of sheets or the other animation effects? What about brushed metal?)

A while back I found out that RealBasic compiles natively on Windows, Linux and OSX. I also recently found out that Ian M. Jones wrote his application, CaseDetective, in RealBasic. The RealBasic home page, Ian allowing me to pick his brain (thanks again!), and the link Ian sent me, have got me pretty impressed with the RealBasic platform. You write your app in RealBasic and it literally compiles natively for each platform. I'm not sure what all the drawbacks are, i.e. what I can't tap into on OSX. But, if I'm going to build a cross platform app I haven't seen another platform that looks as attractive as RealBasic.

(Side note: I'm sure I'd miss Java's OO class and code structure. I learned OO with Java, so I'm sure anything else will just feel weird!)

Thursday, September 01, 2005

It appears I have been using Ataraxis Software™ longer.

This is a follow up to the post yesterday about my company name, Ataraxis Software™, and my discovery of a new web site named ataraxisglobal.com.

Google's cache shows ataraxisglobal.com as being the home page of the founder's other company, IMRI.com. It doesn't look like ataraxisglobal.com had their web site up until just recently. Which would mean I have been operating under Ataraxis Software™ longer than they have been using "Ataraxis".