This is a bombshell to me, although it wasn’t covered as such in this story on Second Life. The Second Life servers are basically not going to be open sourced, at least not anytime in the near future. Last year they were hinting that they would open source the server after they did open source the Second Life viewer client.
But don’t expect to see the SL Grid server source code released any time soon. “There are a number of things about the architecture of our current server infrastructure that inhibit a source code release. There are a lot of cases of monolithic design and improper trust relationships between components that would need to be addressed.” [Rob Lanphier of Linden Labs]
That’s a very good and perfectly justifiable reason for not open sourcing the servers, but it still means Linden Labs is going to keep control over all of Second Life, and you’ll never be able to for example run your own private or shared Second Life server. That pretty much writes off Second Life as a viable long-term option for educational development in my opinion. Or at the very least you have to be more cautious when developing for proprietary platforms like Facebook, Flash (Adobe is now adding DRM controls), and Google Apps. Plenty of educators and schools have already spent hundreds of thousands of dollars building worlds in Second Life though, and even the theme of the AECT conference this year is Second Life, and AERA has a new virtual environments SIG centered around Second Life. People may have already forgotten about ActiveWorlds, which was another popular yet proprietary 3D multiuser world created prior to the emergence of Second Life. It’s still around, but taking a back seat to Second Life. That leaves Croquet and Project Darkstar as the main two open source alternatives to Second Life, although they are not user-friendly applications like Second Life. You can’t start them up and instantly meet up with others online. Rather they are development platforms for creating your own custom online 3D worlds.
So, while you blinked, Google has released their own cross-platform virtual machine runtime called Dalvik, part of Android: An Open Handset Alliance Project [via Stefano Mazzocchi]. You can download and try it today, on your PC. It basically runs a cell phone emulator from the Eclipse IDE and compiles Java code to the Dalvik virtual machine.
Like the Java virtual machine (jvm) or the .NET/Mono virtual machine (clr), Dalvik is a runtime environment that can serve as a platform for web applications, desktop applications, and (the emphasis in this case) mobile phone applications. Dalvik essentially compiles and runs java code in its own virtual machine, apparently, and uses the open source Apache Harmony class library (a clone of the standard classpath – java class libraries). Dalvik/Android has not been open sourced yet (the code will be released soon under an Apache license, not GPL). So why duplicate Java? According to Stefano, even though Sun recently open sourced Java earlier this year using a GPL license with a classpath exception (allowing you to develop non-GPL java apps that rely on the classpath libraries), they didn’t extend the classpath exception to mobile apps apparently. Sun still has control over java apps on its mobile platform (J2ME). Another reason too is probably that Google acquired Android 2 years ago, well before Sun open sourced Java. Miguel de Icaza (creator of the GNOME and Mono projects) also weighs in on how the Mono project might incorporate or interoperate with the Dalvik VM.
Maybe it’s because the embodied cognition conference is less than 2 weeks away, but I am just seeing more and more connections to the strategy of focusing on embodiment in many different contexts. Even areas like google searching and web design: The text of your links for example can have different effects on people if you focus on specific actions. Via copyblogger:
It’s been a bit since I’ve seen any actual test data on the use of actionable link anchor text, so I thought I’d share the results of a Marketing Sherpa experiment performed with their newsletter readers. The goal was to find out if the wording used in hyperlinks could make a difference in clickthrough rates.
The answer is yes. They found that the right two or three click link words can lift clickthrough rates by more than 8%.
Here are the results:
* “Click to continue”: 8.53%
* “Continue to article”: 3.3%
* “Read more”: (-)1.8%
The lesson is clear. Not only should you use actionable anchor text if you really want someone to click, but you should also tell people to take the exact action you want them to perform in order to get the best response. Click here to read the original Marketing Sherpa article in its entirety.
When you read the phrase ‘click here’ you may be mentally enacting it. There’s a lower threshold for then actually doing the clicking, if you didn’t already.
The sad part though is that much software, including open source tools, ignores research or data about usability/learning/effectiveness. As compassdesign mentions, for example, the Joomla content management system doesn’t have the most effective wording for reading more of an article. But luckily since it is open source, it isn’t too difficult to change the code and improve the wording. Getting the developers to accept changes like this though, might be more difficult (which is why I have argued elsewhere that open source is pretty meaningless without open participation in the development process). An example of this is case-sensitivity in programming languages. Research showed beginning programmers and young programmers sometimes have difficulty with case-sensitivity, and that case-insensitivity alleviates this. Guido van Rossum, creator of Python (which is based on a kid/novice friendly language called ABC) wanted to make Python more usable for all people, including beginners/kids, and wanted to make Python case-insensitive. But anyone familiar with the programming community could probably guess what kind of holy war that started, and the change didn’t happen (try dividing 3 by 5 in Python to see another issue like this too: the result will be 0, not 0.6, but this is finally changing in Python 3.0 a decade after it was brought up).
There have been many software updates and news announced recently.
- Ubuntu 7.10 (Gutsy), a Linux distro, is due for final release in a couple of weeks. There is a beta available now. I upgraded to it about a week ago without any problems. If you are using HP printers though, I’d recommend downloading and running the hplip installer from the hplip site instead of the ubuntu package. See also this guide on switching from windows to linux completely.
- Microsoft is going to allow people to view the source code for the standard .NET class libraries. You can’t use or modify the source, so it’s not really open, but it might be a step towards eventually open sourcing the code one day, as Sun did earlier this year with java and other tools (netbeans, darkstar, etc.). In the meantime there is still the mono project, an open source clone of .NET.
- A beta version of Netbeans 6 was released.
- R 2.6 has been released, an open source statistical software package I covered earlier. There isn’t a package for Ubuntu Gutsy yet.
- Sun has released an early access version of the next version of Java, which includes a “consumer JRE” (downloads and installs java libraries as needed for quicker startup times) and a new vector-based look and feel called Nimbus. Thus it is more flash-like. JavaFX is also still being actively developed and improved.
- Sun’s Project Darkstar, a multiplayer gaming/virtual world server, has been released and open sourced. Doug Daniels covers some resources for getting started with it.
- Both Microsoft and Adobe are going to make online office suites available online.
For developers/designers, some recent interesting software and technology releases:
- Version 3 of the GPL license was released/announced yesterday.
- Eclipse 3.3 (Europa) has been released. See what’s new and noteworthy about this release. Eclipse is one of, if not the most popular Java IDEs. Netbeans 6, another major Java IDE, is still in development, but you can download preview milestone releases. Milestone 10 is due any day. Both IDEs now support alternative languages like Ruby, and Netbeans has good support for JavaFX as well.
- Nintendo announced Wiiware the other day. This program will allow 3rd party developers to release games for the Wii that can be downloaded to the console. No details about pricing have been released, however. Most people seem to be assuming it will be free, but I kind of doubt that. A Wii developer license currently costs a couple thousand dollars or so.
- WiiremoteJ was just released. It allows you to interface with the Nintendo Wii’s Wiimote control from a java application. It still is a bit hacky though and relies on a java bluetooth library that has a restrictive license. There are other non-java interfaces to the wiimote out there though, which are free and open source.
- Folksemantic summarizes some of the open learning services and sites released recently by the Center for Open Sustainable Learning here at Utah State.
- The Latex Equation Editor is a new web widget released recently.
- Ubuntu Studio is a new version of the Ubuntu Linux distribution with applications for audio, image, and video editing. I was actually considering using this release in a course I am teaching this fall, but unfortunately they do not have a live DVD version (run Ubuntu from your DVD drive instead of installing it to the hard drive). I tossed around and looked into the idea of remastering my own version that runs off a DVD, more on that later perhaps.
- A little old news, but a new version of Ubuntu (7.04) was released a couple months ago, and the 2nd preview release of 7.10 was released this past week. I’ve been using it as my primary desktop the past couple weeks. A nice feature in 7.10 will be the easier use of restricted drivers. For example to use the wireless card in most Dell laptops, you currently have to compile ndiswrapper and find the windows drivers yourself to get it working (see these instructions). In 7.10, Ubuntu will download and install the broadcom drivers for you.
- The unique Novint Falcon force feedback controller has begun shipping. I received one of these the other day actually, and I’m hoping to try interfacing it with some simulations, so maybe I can post more about it another day. The drivers and included software and games are Windows-only, however. The SDK is due shortly.
Like a link dump, but books. These are just some recent or soon to be released books that look interesting:
- Psychology/Education/Theory Books
- I discussed Acting with Technology (2006) by Victor Kaptelinin & Bonnie Nardi in an earlier post, along with a few other activity theory / phenomenology / technology / embodiment related titles.
- Learning with Animation: Research and Implications for Design by Richard Lowe & Wolfgang Schnotz. This book has been anticipated and cited for a long time, but apparently will not be released until October this year.
- Visualization: Theory and Practice in Science Education, edited by John Gilbert, Miriam Reiner & Mary Nakhleh is a book on a similar topic and due out within days, but unfortunately it looks like it is priced only for libraries to purchase: Amazon is listing the price as $163.
- Engineering Education : Research and Development in Curriculum and Instruction by John Heywood actually came out in 2005. It is a synthesis of around 2000 articles on engineering education.
- Handbook of Research on Science Education edited by Sandra Abell & Norman Lederman, released earlier this year.
- Transfer Of Learning: Research And Perspectives edited by Jose Mestre. Another 2005 book with many chapters by physics education researchers, but perhaps not many people are aware of it. Most books on transfer are from the 90s.
- The Perceived Self: Ecological and Interpersonal Sources of Self Knowledge by Ulric Neisser, was released at the end of 2006.
- Making Things Happen: A Theory of Causal Explanation by James Woodward, was released at the end of 2005.
- Folk Psychology Re-assessed by Dan Hutto, is due out soon. Hutto has written on embodiment before in the journal Phenomenology and the Cognitive Sciences.
- Ten Steps to Complex Learning: A Systematic Approach to Four-Component Instructional Design by Jeroen J.G. van Merrienboer & Paul A. Kirschner, released April 2007 – 4C/ID is a big thing in the instructional systems design (ISD) world. I’m not yet familiar with it. van Merrienboer has an earlier 1997 book introducing the model. Paul Kirschner is one of the instructional design folks who has called constructivism, problem-based learning (PBL) and the like a failure.
- Also, if you missed it, the Cambridge Handbook of Multimedia Learning and Cambridge Handbook of the Learning Sciences were released in the past year or so.
- Development / Programming Books
- Handbook on Dynamical Systems Modeling, edited by Paul Fishwick, was just released. If you are developing simulations of any kind, this could be a very useful (and up to date book). A sample chapter on solving ODEs is here, along with the open source physics java source code. A related title released last year that is better as a first book on creating physics simulations is An Introduction to Computer Simulation Methods by Gould, Tobochink, & Christian. It also uses the open source physics library.
- The Definitive ANTLR Reference: Building Domain-Specific Languages by Terence Parr. I’ve been using the ANTLR parser for years. Now there is finally a book out on it just this past month, to acompany the release of ANTLR 3.0.
- Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java, due out in a month, by Chet Haase & Romain Guy who have been blogging about it.
- Rich Client Programming: Plugging into the NetBeans(TM) Platform was released in time for the JavaOne conference a couple of months ago. The Netbeans platform is an alternative to the Eclipse RCP (rich client platform) with different advantages and disadvantages I discussed earlier.
- Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs by Andrew Davison. This is a great and up to date book on game programming and interfacing custom input devices (joysticks, webcams, etc.) in java. You can read the chapters online as well.
Tony Hirst (OUseful blog) informed me that there already is an example of a mashup combining Google Maps and the Simile Timeline ajax-based controls. And with a little digging I found another example as well. Here they are:
- Jörn Clausen created a map/timeline mashup to show when and where earthquakes are occurring. See this example.
- Alistair Rutherford combines google maps and simile timeline with gTraffic, which shows traffic information for Britain. He is rewriting it using Adobe Flex, however.
A few more things here and there and these controls could be used as a basis for a general purpose history learning tool. As an aside, a while back I looked around for an open source alternative to Google Maps, and I came across a nice one called OpenLayers.
The F3 language, which I covered in detail before, apparently has been rebranded as JavaFX by Sun and will be announced today at the JavaOne conference (see this story). JavaFX is a statically typed scripting language that runs on the Java runtime (JVM), including on mobile phones (JavaFX Mobile). It is designed to be a competitor to Adobe Flash (and AJAX and Microsoft Silverlight) and has features that make it easier to create rich client desktop applications, such as a declarative user interface syntax. Hopefully this will be released soon. Last year at JavaOne Sun announced Project Semplice, which was basically Visual Basic for Java, yet that project has sinced died off without publicly releasing any code or products. JavaFX looks to be ready for release, however. UPDATE: There is a downloadable hands-on lab for using JavaFX available here. Also there is a developers’ site for JavaFX that includes the sources and plugins for Netbeans and Eclipse, see the OpenJFX Project.
Okay, say the problem is not enough good educational software. Many of the best educational software programs are also commercial and expensive. If you want to use Timeliner with a single class full of students, for example, it would cost $900. So we look into free and/or open source options. There, it is usually software professionals and other non-educators creating the software. You see a lot of typing tutors and drill and practice software. Usually there is not so much documentation or supporting curricular resources.
Wouldn’t it be nice if A) it were easier for educators and other non-programmers to help create interactive resources, and B) we provided training for computer scientists and others on designing effective educational software? The L2TD project is attempting to address the latter issue, with courses on developing educational software and games.
And of course the former has long been a dream of computer science educators. Make programming easy enough for anybody. Most computer science education research though looks at how to improve the teaching of programming for programming’s sake. How to better teach polymorphism and recursion and so forth.
(click for larger version)
I’ve been looking into various rich-client desktop and web-based application platforms/frameworks on which to base future projects. Many of the RCPs (rich-client platforms) have advantages such as support for auto-updating, plugin frameworks, and numerous existing plugins and samples. Here are just a few of the options, plus some do it yourself options in java and .net. I list sample apps, advantages and disadvantages.
|Eclipse RCP||RSSOwl 2.0 feed reader, and other applications|
|Netbeans Platform||Samples such as a feedreader and other applications|
|Firefox extensions||Zotero citation manager and other extensions|
|Adobe Flex/Flash||TryFlex demo app|
|Ajax Toolkits||Yahoo UI, Google Web Toolkit (GWT), Dojo, Microsoft Ajax and Silverlight|
|DIY Mono/.NET||Mono.Addins, recently announced Microsoft Silverlight project|
|DIY Java||Java Plugin Framework, Java Web Start|
|Eclipse RCP||Very well established, dozens of sample apps and plugins, supported by IBM, couple of books, some people are using for things beyond java, such as C++ development, form designers that work with Swing/SWT/GWT|
|Netbeans Platform||Newer, but based on an established IDE with the excellent Matisse GUI designer, supported by Sun, one book just released, they are also focusing on adding more language and toolkit support, such as ruby on rails and GWT|
|Firefox extensions||Virtually zero-install – applications work in browser, couple of old books|
|Adobe Flex/Flash||Highly interactive apps, most people have Flash installed|
|Ajax Toolkits||Most are free, open source, zero-install, works in browser, doesn’t even require a plugin or extension, many interactive controls available now such as google maps or simile timeline|
|DIY Mono/.NET||.NET and Mono pre-installed on Windows and most Linux systems now, supported by Microsoft and Novell|
|DIY Java||Can be deployed as an applet or as java web start application, very interactive apps, works cross-platform|
|Firefox extensions||Most extensions have traditional form interfaces (see Zotero), no interactive features like animations, drag & drop, etc.|
|Adobe Flex/Flash||Brand new, commercial, proprietary, expensive. May be free and open source options available soon (such as GNUflash).|
|Ajax Toolkits||Can’t do some of the interactive stuff you can do in desktop applications, very memory intensive sometimes, a bit kludgy/hacky at times|