Friday, January 29, 2010

The Apple iPad

I am always amazed at how good a show Apple puts on. They do a spectacular job at releasing just enough information and rumor to whip everyone into a frenzy. Take the iPad announcement this week it has generated a avalanche of blog posts and tweets (twitters?) over the past two days. It ranked second on Twitter to Haiti on the 27th when it was announced. What would it be like to generate that kind of interest in your product?

ipad So, I'll admit it I am interested in this new device. I have really enjoyed using my iPhone and I must admit the iPad looks like a really cool and fun device. Apple's multi-touch interface is the most intuitive interface that I have ever used. It is very easy to learn and it makes the device easy to use for just about everyone. It is so quick to learn how to navigate around and use the applications. I believe that this device will be very well received and Apple will sell millions of them.

The iPad is essentially a giant iPod Touch, which will be great for surfing the Web and watching movies but not so good at fitting in your pocket. The standard applications like calendar, contacts and photos have all been enhanced to make use of the larger screen size. It also adds the capability to read books. I think this is a great selling feature and it will appeal to a wide audience.

Since I already have an iPhone and a Kindle I don't see this as a necessary device for me. The iPhone is more portable, provides Internet access virtually everywhere and is my phone. I also think reading on an electronic ink screen instead of an LCD is much easier on the eyes. I really enjoy reading on my Kindle and I find it almost exactly the same as reading ink on paper.

If I didn't already have the other devices I would be much more interested in purchasing an iPad. I really like the instant on capability and it is large enough to comfortably surf the web. Books are also a great feature and I must admit the product video made the photo browser look really fun.

For all of the good/great things about the iPad I do see some drawbacks. It runs the iPhone OS which means no multi-tasking. On a device this big I would want to be able to have a few apps open at the same time. There are no cameras on the iPad, which I found surprising since this would be a perfect video chat device. It may be a bit awkward as a camera or camcorder though.

I found a couple of great articles on Gizmodo discussing the iPad. The best one "The iPad is the Gadget We Never Knew We Needed" has some great points and is well worth the read. For the downside to the iPad take a look at "8 Things That Suck About the iPad". Stephen Fry also had some great points in his article. I thought his comment to naysayers was quite good:

There are many issues you could have with the iPad. No multitasking, still no Flash. No camera, no GPS. They all fall away the minute you use it. I cannot emphasize enough this point: “Hold your judgment until you’ve spent five minutes with it”. No YouTube film, no promotional video, no keynote address, no list of features can even hint at the extraordinary feeling you get from actually using and interacting with one of these magical objects.

I would love to have a chance to use the iPad but I am sure it would make me really want to have one. I think this first generation will be good but will have its share of issues. However, I wouldn't turn one down if it was offered to me. I'm just not sure I'm ready to spend $500 on a device that has some glaring limitations. For now I would rather surf the web with my laptop at home or on my iPhone when I am mobile.

All that said I am sure Apple will sell millions of these and they are always very good at responding to their critics. I bet the next generation iPad will be a must have.

Wednesday, January 27, 2010

January Advantage News

The January edition of the Advantage Newsletter was sent out today. If you didn't get one you can view it here or you can sign-up and get it right when it is published. You can see a complete archive of the newsletter here.

Some of the exciting things announced in the newsletter include

  • Advantage Database Server 10 | Pure & Simple webcast series – this three part series will introduce you to all the new features and improvements for the latest version of Advantage. This series begins in February and you can sign up here.
  • The next Advantage Technical Summit will be held in Boise, Idaho on April 28th and 29th. This is a great opportunity to learn more about Advantage and network with other Advantage users. More information about this event will be sent out soon.

Keep watching for more event announcements.

Wednesday, January 13, 2010

My 2010 Reading List

As I mentioned in my first book review of the year I am going back to basics. I thought it was time to review some of the basic database theory along with solid design principals. With that in mind here are the titles that I have identified so far.

Database Stuff

User interface design and usability

Miscellaneous

A fairly ambitious list but I hope to get through them all this year. Stay tuned for book reviews as I get them read.

Monday, January 11, 2010

Book Review – Beginning Database Design

I wanted to take some time and go back to some database basics so I looked for some introductory books on database design. I decided on Beginning Database Design From Novice to Professional by Clare Churcher. This is a well written book with decent examples but a bit too introductory for a database programmer. I think it would be a very good book for someone who is looking to move from spreadsheets into databases though.

The book is relatively short at 240 pages. It contains twelve chapters along with a conclusion and index. It is truly aimed at the casual computer user who has a need to track data. Most of the examples pertain to education and research. Each of the examples are well thought out and clearly demonstrate the concepts she is discussing.

I thought her approach to introducing the material was well organized. She made some excellent points in her first chapter "What can go wrong", it demonstrated the importance of good design quickly. Chapter 2 is a brief introduction into the development process. I was happy to see some discussion of use cases in this chapter. I think this is a very important step in the design and development process.

Chapter 3 examines use cases more thoroughly showing how the process of working with the users and identifying how they will use the data is a fundamental requirement for designing a good database. Chapters 4 and 5 dive into creating a data model. This includes considerations of data types and logical grouping of data. These chapters also spend a lot of time discussing data relationships.

Chapters 6 discusses looking at data as classes. This provides a good way to demonstrate when it is appropriate to create subclasses that have some common data but also include specific information of their own. Chapters 7 through 9 discuss the relational database model. This is where all of the concepts introduced in the first half of the book come together. There is a lot of discussion about primary keys, normalization and constraints. Each of these concepts include simple and effective examples.

Chapter 10 is a very quick overview of SQL queries. It demonstrates how to create simple queries to get the data out of the database. If you have worked with SQL before you won't see anything new here. Chapter 11 discusses some user interface issues. I liked how she brought the UI design back to the use cases she discussed in the beginning of the book. All of the UI examples were done in MS Access and are very simple.

The book concludes with some discussion of object-oriented databases and using data within a spreadsheet. Probably very useful for a casual computer user but not something a programmer really needs. The conclusion does a good job of summarizing the material in the book as well as offering recommendations for more information.

The bottom line: this book is well written for its intended audience casual users to possibly IT professionals. As a database programmer you will want to invest in something more focused on a programmer's prospective.

Friday, January 8, 2010

Amazon Kindle

kindle2_front I was fortunate enough to get a Kindle 2 for Christmas this year. I guess my wife was listening when I kept talking about how cool and useful I thought the device would be. So far I haven't been disappointed it is everything I expected and I am really enjoying the device.

The best feature is how easy it is to read on the device. The electronic ink screen is almost like reading from ink and paper it doesn't strain your eyes at all. I also love the wireless delivery of books to the device. I have been using the Kindle application for my iPhone for a few months and all the books I had downloaded to my iPhone I had instant access to them on my new Kindle. It even keeps track of where I am at in books between the two devices.

Another great feature is the ability to download previews of books. This is like browsing a book in the bookstore, you usually get a couple of chapters. If you like the book there is a link to get the rest of the book downloaded directly to the device. There are also lots of free books available from Amazon. Many of them are classics but if you check you can usually find some good bargains. I was able to get Magic Kingdom for Sale, Sold! for free.

Latitude Jacket There are a few drawbacks to the device though. The form factor is nice but I think it is a bit too thin and perhaps a bit slick on the back. I felt like I might drop it the first few times I was reading. Although I got used to it I still bought a protective case which adds a bit more bulk making it easier for me to grip it.

I went with the latitude jacket from M Edge. It zips up securing the Kindle and provides some protection when traveling. It also folds completely back making it easy to hang onto the Kindle. It also has a pouch in the front that is big enough to hold the charging cable which keeps everything together.

Although the screen is easy to read you do need a good light source. It would be nice if the Kindle included some lights around the screen making it easier to read in low light. However, this would probably significantly reduce the battery life and there are many lights available.

Another slight downside is the screen refresh. Once the screen is rendered it displays in crisp clear grayscale. Some of the screen saver images are really detailed. However, there is a very noticeable flicker when turning pages and sometimes when navigating through menus.

Overall I love the device. It will be nice to be able to take several books along with me and have access to others just about everywhere. Amazon is also coming out with an SDK for the Kindle. It will be very interesting to see what kinds of applications become available.

Monday, January 4, 2010

An Exciting New Year

2010 will be an exciting year for the Advantage team. We will be releasing version 10 of Advantage in the first half of the year. As you might expect we will be providing many opportunities for you to see what will be in the latest version of Advantage in the coming months.

Here is just a quick peek at what will be available

  • Version 10 webcast series – begins in February
  • Version 10 launch events – Stay tuned for more information
  • Version 10 Beta – First half of 2010

Along with these major events I will be doing several blog posts and tech tips when the beta is released. You can view the official list of version 10 features on the Advantage Developer Zone. You can also provide feedback and see which features the R&D team is currently working on by visiting our feedback site.

Also stay tuned for the schedule for the next Advantage Technical Summit. This is a great opportunity for you to learn more about Advantage, meet the team and network with other Advantage users.

I'm looking forward to seeing a lot of Advantage users this year.

Friday, January 1, 2010

FAQs – December 2009

Advantage Data Architect Command Line

You can open a table or data dictionary using a command line argument for Advantage Data Architect. ARC will open and use the default connection settings to connect to Advantage and open the specified object. You will be prompted for your credentials if they are required when a data dictionary is specified.

ARC Command Line Arguement

Clipper with Windows 7

Although Windows 7 is not yet officially supported by Advantage, you may need to run an existing Clipper based application on a Windows 7 client. This can be done using Windows 7 XP Mode, which is a virtual Windows XP environment.

You can get detailed instructions from this knowledgebase article.

Setting NOT NULL Constraints With a CREATE TABLE Statement

You can specify constraints on data dictionary bound tables with a CREATE TABLE statement. To do this you must use the CONSTRAINT keyword when specifying the constraint. Some servers support defining constraints without using the CONSTRAINT keyword. In the case of specifying whether or not a field can be NULL there are some slight differences.

Many data modeling tools generate DDL statements to create a database based on the model. These statements may look like the following.

CREATE TABLE MyTable ( PK Integer NOT NULL, Name Char(50) NULL, HireDate Date NULL, Salary Money NULL )

This query would create a table with four fields and the PK field must contain a value. Some small modifications to the statement are required to work with Advantage. The default is to allow NULL for all fields in a table, therefore you do not need to specify the NULL. Additionally you must use the CONSTRAINT keyword when specifying the NOT NULL constraint. The following statement will create the same table in Advantage.

CREATE TABLE MyTable ( PK Integer CONSTRAINT NOT NULL, Name Char(50), HireDate Date, Salary Money )