My Take on iPad by Thom McGrath
Apple's iPad announcement was completely on-par with my expectations. It is basically a large iPod Touch. There is actually nothing magical or revolutionary about it, despite Apple's claims.
[ Read More | Accepting Comments (0) | Accepting Pings (0) ]
Steam is pretty cool by Thom McGrath
Steam is Valve's community and game distribution service. I was introduced to Steam some years ago when I started playing Half Life 2. The ability to download complete games was pretty neat, and I did that. The idea of having Steam running all the time bugged me however. I thought "why on Earth should I keep this running just for Half Life?"
Also, digital download services bother me, because I don't physically have a copy of the product. When I want to install a game, I really don't want to wait hours to download it.
I recently started playing Left 4 Dead 2, which requires Steam as well. This time around, however, my impression of it has completely changed. The reason behind the change is Left 4 Dead 2 makes excellent use of Steam and the community features. It is easily compared to Xbox Live, but less awful. Here's a few cool features:
- Steam will automatically download updates for Steam-powered games.
- Steam Cloud keeps my settings synced between computers.
- I can make physical backups of the games I download.
- Steam sells a lot more than just Valve games. In fact, most new games are available on Steam.
- Valve Anti-Cheat is better than PunkBuster.
- By pressing shift-tab, I can bring up an overlay which includes friend information, and even a web browser. I can do this in any game, even non-steam games. The ability to bring up a browser in-game is very handy, especially in games such as Borderlands.
I could keep going. Overall, I think Steam is pretty cool.
[ Permalink | Accepting Comments (2) | Accepting Pings (0) ]
Microsoft continues to threaten web development by Thom McGrath
I just read an article about Internet Explorer 9. Considering that Internet Explorer 7 and 8 have made significant strides towards standards-compliance, I was under the impression that IE9 might begin to support CSS3 and HTML5. Especially since Microsoft has taken an interest in working with the W3C, Apple, Mozilla, and Google on HTML5.
First the good news. IE9 brings significant improvements to JavaScript performance. This is fantastic since IE8 cannot keep up. I've actually disabled some features on the REAL web site when using Internet Explorer because it just is not fast enough.
The bad news is that Microsoft is continuing to threaten standards. Rather than supporting the proposed cross-platform WebGL, Microsoft intends to support their own Windows-only Direct2D. Once again, developers will need to choose which side they're on. It is nothing new either. In the IE6 days, developers needed to choose to do things right and support everything except IE6, or do them simple and wrong to support IE6. This will be even worse, because a developer looking to do 3D will have no choice than two write two sets of code, or choose to support only IE9 or standards browsers.
Does it surprise me? Yes and no. It surprises me because it seemed as if Microsoft was interested in making a good browser. It does not surprise me because Microsoft gets everything else wrong, so why would this have been different.
[ Permalink | Accepting Comments (1) | Accepting Pings (0) ]
Feedback Tricks by Thom McGrath
Here's a short list of some neat secrets about Feedback:
OpenSearch Support
If you use any OpenSearch enabled browser, such as Firefox or Internet Explorer, you can visit http://feedback.realsoftware.com/ and your search field will light up with the ability to search our Feedback database. If you add it as a permanent search provider, you'll be able to search Feedback from your browser. The results will still launch Feedback and display the results there, but it can be handy if you are on our forums or read the mailing lists using a webmail app.
iSeek Site
For the few and far between users of iSeek, I've prepared this search site that will allow you to search Feedback from your menubar.
Alternate Theme
Feedback uses three different themes to render its content. On the Mac, either Aqua or Graphite is used according to the user's system preferences, and on Windows & Linux, a more neutral theme is used. Currently, only the action bar is rendered differently, but that could change in the future.
You're not completely confined by your OS though. If you want to use the neutral theme on Mac, fire up terminal and type
defaults write com.realsoftware.feedback "Use Neutral Color Scheme" -bool YES
And reset it by using the same command, but replace YES for NO. On Windows and Linux, it's a little trickier. On Windows, you need to edit the registry. The path is HKEY_CURRENT_USER\Software\REALSoftware\Feedback and add a value for "Use Neutral Color Scheme" = 0 to enable Aqua.
Linux uses an XML file in ~/.realsoftware/Feedback/Preferences.xml which you can add a key to:
<element><key>Use Neutral Color Scheme</key><value type="8">0</value></element>
[ Permalink | Accepting Comments (0) | Accepting Pings (0) ]
Feedback Ships by Thom McGrath
After a very long time in development, REAL Software's new feedback system is finally available to the public and in use.
I've been working on this system for a long time, since about mid-March if I recall correctly. It's so nice to finally see it live. I'm so proud to have contributed this to REAL Software, since it is such a crucial part of the company. Sure, I've worked on critical parts of the company for about a year now (new website backend, new servers, new order system), but there is something special about this. That other stuff is all very important, probably more than the feedback system, but this is an app that our customers will use frequently.
We've already been getting many compliments about the design of the app, and I do plan to do a post-mortem type article on the company blog. It does surprise me though, because although I find the UI simple, it's certainly not ground-breaking in my opinion. Or I just have high standards.
Early in the development process, we discussed a very critical choice: web-based or desktop-based. The discussion was heavily weighted towards web-based, and I could certainly do it, but I saw an opportunity to do something special. By creating a desktop app, it could be designed to show-off some of the abilities of REALbasic (not that the IDE does not already do that) and it allows us an unprecedented level of integration with our products and our user's systems.
Since it was being developed on the desktop, the argument was made that this should be completely integrated into REALbasic. While an interesting thought, that posed a couple problems:
- If REALbasic crashes, that system has a lot of functionality that needs to work inside an application that has already had an exception and locked up. There is a lot of potential for lost information there.
- If there is a minor bug in the feedback system, it could not be fixed until the next release of REALbasic. That's a significant problem for a new system. Keeping it separate allows us to push updates (yes, it has an auto-update system) to our users without them downloading the entire REALbasic package.
- What about our other products? Should a customer really be expected to launch REALbasic just to report a bug about our website or REAL Server? No.
So development on the app began from the ground up. Code was developed to handle preferences correctly on each platform, open source projects were utilized to provide animation, client-to-server communication and CoreFoundation support, and the source list and automatic updates were provided by code I had laying around and needed a good testing route. Right off the bat, many of the core systems of the application were falling into place.
Another big source of debate is the app's client-to-server communication method. This app does not speak to our database directly. An abstraction layer was implemented on the server to provide security and ease development. During the beta process, many bugs were fixed simply by updating server-side code. Using a straight SQL connection could not have done that. If we needed to move databases, upgrade servers, etc then we would need to issue an update to app. Instead, we could switch the database backend entirely without the app ever complaining. There's no database login details in the app, nor does it even know where the database is. That provides a significant amount of security. This abstraction layer also allows the activity viewer to work. You'll notice that the app almost never locks up or appears unresponsive. That's another thing an SQL connection could not have provided. There is still some debate that the app should be speaking directly to our REAL Server, but I stand by my position that this abstraction layer is not only very useful, but very important.
We quickly realized people would be asking for some of this functionality in REALbasic. It'll happen. I don't know when, and I don't know what, but we are aware of some gaps in the REALbasic framework that the code from this app can fill.
We have big plans for this tool. Remember, this is the 1.0.0 release. There is plenty of room to grow. Of course, I can't say what ideas are floating around, but I will say it will keep evolving.
Lastly, although I did all the development work on the app, the entire team provided lots useful feedback, suggestions, requirements, etc. I can't take all the credit.
[ Permalink | Accepting Comments (1) | Accepting Pings (0) ]
Do Something Challenging by Thom McGrath
Most of the code on this website is the result of me actually needing the code in one of my own projects, but some of it, such as the HIToolbar classes and my ArchDetect project, are the result of me challenging myself in an effort to "keep my skills sharp."
[ Read More | Accepting Comments (0) | Accepting Pings (0) ]
Marvel Dies by Thom McGrath
Marvel has agreed to be bought-out by Disney. Need I say more? I imagine everybody else already has, but I'll say it as well.
[ Read More | Accepting Comments (3) | Accepting Pings (0) ]