TweetFollow Us on Twitter

November 91 - BAMADA Notes

BAMADA Notes

James Plamondon

AUGUST-Larry Rosenstein

An audience of 75 was treated to an evening with Larry Rosenstein, MacApp Wizard, at the August meeting of the Bay Area MacApp Developers Association.

Rosenstein is one of the authors of the original version of MacApp, and was deeply involved with the Lisa Toolkit before that. More recently, he co-wrote the book Programming with MacApp [in C++] from Addison-Wesley, along with David Wilson and Dan Schafer. Lately, he's been looking a little Pink, though he won't say why.

Windows?

The meeting began with a grumble from the assembled host regarding the presence of a traitor in their midst-namely, me-who had abandoned the Mac to program for Windows. After arguing among themselves for a while, trying to decide whether I was a turncoat, a heretic, or a pioneer, the audience collectively decided that there wasn't a term foul enough to describe my actions. My protests that I was just taking a sabbatical from the Mac, and would be back in a year, were grudgingly accepted. Later, privately, many attendees said (in hushed whispers, so that none would overhear) that they, too, were under pressure to produce Windows versions of their software, and that they wouldn't mind getting a travelogue of my journeys in Windows land. Watch for such a series in a Mac programming magazine near you.

While we were on the subject, I informally broached the question of whether MADA's charter should be expanded to include frameworks for Windows. It was hard to decide which response was louder-the hisses or the boos. Either way, the idea was universally detested. Having MADA become one rib of an umbrella organization which covered lots of frameworks was more acceptable, so long as FrameWorks didn't get cluttered up with Windows stuff.

Filtered Commands

Finally, we were ready for Rosenstein's presentation. He began with filtered commands, which are a mechanism to reduce the amount of information that one must maintain in order to undo or redo a command. Rosenstein used the example of a complex styled text document containing hundreds of different style runs-a little bold Times, some 9-point Zapf Chancery, a dash of italic Courier, etc. If the user selected all of the document's styled text, and set it to plain Geneva 12, saving the previous state of the document-with all of its different styles-could take a lot of space. In the worst case, you might have to save off the entire old version of the document.

Filtered commands solve this problem. Instead of saving the pre-change data, and then altering the document in accordance with the command, the command installs a filter into each affected piece of data which makes it look as if it has been changed. In the example above, each style run object would be filtered to look like it was plain Geneva 12. To undo the command, the filter is simply removed; to redo it, the filter is reapplied.

Filtered commands simplify the implementation of Undo and Redo significantly, and reduce storage requirements at the cost of slightly slower data access times. See chapter 25 of Rosenstein's excellent book for a detailed description of the mechanics of the approach.

Streams

After Rosenstein described filtered commands, he moved on to streams, which are a major feature of MacApp 3. By using streams for data I/O, you can handle input and output more abstractly; for instance, you can stream to a file or to the clipboard with equal ease. Streams are discussed in detail in chapter 22 of Rosenstein's book.

The TStream class is responsible for reading and writing bytes, or aggregates of bytes, from and to "something." TStream's subclasses implement the abstract methods that do the actual reading and writing. For example, a TFileStream implements reading and writing to a file, while a THandleStream implements reading and writing to a memory block. A TCountingStream doesn't read or write anything-it just counts the bytes that it was told to write. This is particularly useful when trying to find out if there's enough room on a disk to hold a file, before you actually write it out via a TFileStream.

Rosenstein did a great job presenting his material to a interested and knowledgeable audience. We look forward to a presentation on Pink at his earliest convenience. (Would you care to schedule that now, Larry?)

September- Solution-based modelling

At the September BAMADA meeting, Jeff Alger introduced a crowd of over fifty attendees to Solution-Based Modeling (SBM). SBM is the subject of a book forthcoming from Addison-Wesley entitled "Developing Object-Oriented Software for the Macintosh," and is the brainchild of Alger and his coauthor, Neal Goldstein.

SBM is an integrated, lifecycle approach to software development. It emphasizes the importance of involving marketing, management, and other diverse groups in the software development process from the outset. Where other methodologies-most notably the "waterfall" model, in which analysis "flows" into design, design into programming, and so on-look at software development as a series of separate stages, SBM takes a more incremental approach.

Despite the title of Alger and Goldstein's book, SBM is a platform and language- independent methodology. (The publisher insisted that the word "Macintosh" be in the title; their studies have shown that people prefer to buy books directed at a specific platform. This led Goldstein to suggest that the book be titled "Platform-independent Software Development for the Macintosh," to be followed by "…for Windows," "…for OSF/Motif," etc.)

Although one could, in theory, do the actual programming in a non-object-oriented language, SBM takes a very object-oriented approach to analysis and design.

Involving non-programmers in design decisions

Project scheduling and task duration estimation are key to the success of any project. SBM addresses this issue in part by involving non-programmers in the design decisions as early as possible. Doing so leads these participants to buy into the process, so that they can better understand the technical tradeoffs. In fact, throughout the talk, Alger emphasized the need to get those darn marketing types involved as early as possible, so the programmers had a chance to pound some sense into them. I wonder if the talk would have been different, if given to a marketing group…

Visual Design Language

SBM introduces yet another graphical analysis and design language to the OOP world. Aptly named the Visual Design Language (VDL), it has the singular advantage of having been designed by graphic artists, rather than programmers. As a result, it is easier to read and understand than any other I've seen (such as the Booch Notation). Various other graphical design languages have left a bad taste in my mouth, but VDL looks yummy. No application yet exists to facilitate the process of writing in VDL, but we were assured such an application would exist in the near future. But then, I'm still waiting for Eiffel for the Macintosh.

SBM's strengths

SBM admits a number of unpleasant truths that are often ignored. For example, it admits that half of the project cycle will be taken up with analysis, and emphasizes the advantages of doing this analysis up front, rather than in numerous mid-course corrections. (Once a boss of mine asked me what I was doing "staring off into space." "Thinking," I answered. He actually replied, with some heat, "Well, get back to work!" I hope that guy discovers SBM, for the sake of his current employees.)

If half of the available time is taken up in analysis, half of what's left goes to design, with the remainder going to actual programming. Alger commented that this breakdown makes code reuse look less important in the long run; under SBM, reuse of analysis is twice as important as reuse of code. On the other hand, application frameworks like MacApp encapsulate not just code, but analysis and design, as well-so the "win" from using MacApp applies to all project phases, not just programming. Look at MacApp's failure handling, memory management, and command mechanisms, for example. Most pre-MacApp applications didn't have anything like them-not because they were so hard to code, but because they were so hard to invent. (And let me tell you, so far, no Windows framework I've seen has come close to these capabilities.)

Solution-Based Modeling (SBM) looks like a good tool for use in large, real-world software development projects. If you've found that there's more to the management of your multi-programmer projects than just using Projector, spend some time with Alger and Goldstein's book when it becomes available.

Upcoming in October- Feedback to the MacApp Team

At the BAMADA meeting in October, we'll have the MacApp Team at our mercy; the evening's topic will be "Feedback to the MacApp Team." Bring neither rotting fruit nor laurel accolades, but rather your comments, suggestions, bugs, gotchas, fixes, workarounds, feature requests, insolvable dilemmas, and ingenious solutions. Whether your comments relate to MacApp 2.0 (yes, there are still a lot of people using MacApp 2.0), 3.0, or X.x, bring them over and let's see what we can do with them. We may even get demos of the latest versions of Mouser and ViewEdit, if we're sufficiently polite.

As (almost) always, we'll be meeting on the fourth Wednesday of the month-October 23rd-at 7pm, in the Mountain View room of Apple's City Center Four building, on the southwest corner of Stevens Creek and De Anza Boulevards (at 20450 Stevens Creek), in Cupertino. Come early to grab a good seat. Be there or be tetrahedral!

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Opera 81.0.4196.60 - High-performance We...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more
Fantastical 3.5.1 - Create calendar even...
Fantastical is the Mac calendar you'll actually enjoy using. Creating an event with Fantastical is quick, easy, and fun: Open Fantastical with a single click or keystroke Type in your event... Read more
Evernote 10.26.5 - Create searchable not...
Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient, and makes this information accessible and searchable at anytime, from... Read more
Parallels Desktop 17.1.1 - Run Windows a...
Parallels allows you to run Windows and Mac applications side by side. Choose your view to make Windows invisible while still using its applications, or keep the familiar Windows background and... Read more
BBEdit 14.0.3 - Powerful text and HTML e...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more
Minecraft 973 - Popular sandbox building...
Minecraft allows players to build constructions out of textured cubes in a 3D procedurally generated world. Other activities in the game include exploration, gathering resources, crafting, and combat... Read more
Viber 16.6.0 - Send messages and make fr...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device, so... Read more
iMazing 2.14.6 - Complete iOS device man...
iMazing is the world’s favourite iOS device manager for Mac and PC. Millions of users every year leverage its powerful capabilities to make the most of their personal or business iPhone and iPad.... Read more
Vivaldi 5.0.2497.24 - An advanced browse...
Vivaldi is a browser for our friends. We live in our browsers. Choose one that has the features you need, a style that fits and values you can stand by. From the look and feel, to how you interact... Read more
Vitamin-R 4.05 - Personal productivity t...
Vitamin-R creates the optimal conditions for your brain to work at its best by structuring your work into short bursts of distraction-free, highly focused activity alternating with opportunities for... Read more

Latest Forum Discussions

See All

TouchArcade Game of the Week: ‘Rocket Le...
After years and years and years of people demanding an official Rocket League game on mobile, developer Psyonix has finally delivered with their made-for-mobile spin-off Rocket League Sideswipe. Now, an ultra-popular IP releasing a mobile-ized... | Read more »
Steal Your Enemy’s Powers in ‘Mimelet’,...
Developer Neutronized is probably most well-known for the excellent Super Cat Tales series, but they are seemingly always putting out other unique and colorful titles too. It’s especially impressive considering this is just a solo developer. As work... | Read more »
SwitchArcade Round-Up: ‘Big Brain Academ...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for December 3rd, 2021. In today’s article, we’ve got a bit of news about an upcoming addition to the Nintendo Switch Online Expansion Pass before we head into today’s new releases.... | Read more »
Rocket League Sideswipe: Season 1 and Cr...
Rocket League Sideswipe’s pre-season has ended and all ranks have been reset. But here’s the great news – season 1 is officially on and a new event has arrived! Turbo Season has already kicked off and will last until January 25th. [Read more] | Read more »
‘Dandara: Trials of Fear+’ and Our 2018...
This week, two App Store Greats join Apple Arcade alongside big updates to some excellent games on the service. With no new game announced yet, it looks like Disney Melee Mania might be the final new game of 2021 for the service barring any last... | Read more »
Mini Metro’s New Big Update Adds the Add...
\ Dinosaur Polo Club has made sure 2021 is awesome for Mini Metro ($3.99) players through big updates. We’ve had the Chongqing map, Budapest, and more arrive for free on iOS and Android. Mini Metro was also added to Apple Arcade as Mini Metro+ this... | Read more »
SwitchArcade Round-Up: ‘Archvale’, ‘Aste...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for December 2nd, 2021. My time was tight today, friends. I spent four hours or so in the hospital getting my ticker thoroughly checked after a bit of a scare yesterday. Luckily, all... | Read more »
‘Final Gear’ is Adding Iconic Evangelion...
Final Gear, Komoe Technology Limited’s mech and maiden-themed mobile RPG, has just announced an exciting crossover event with the similarly mech-themed IP, Evangelion. The collab with the popular franchise lets players pilot iconic Evangelion mechs... | Read more »
Lineage2M is the beautiful MMORPG from N...
Good news for Lineage2 fans everywhere - Lineage2M, NCSOFT's new mobile title that boasts high-quality 3D in 4K resolution, is out now on PC, Android, and iOS devices across the globe. Players can now dive into a vast open-world environment and... | Read more »
‘Lineage2M’ is NCSOFT’s Gorgeous MMORPG...
Servers are now live for Lineage2M, NCSOFT’s gorgeous-looking MMORPG that follows up on the success and quality of the Lineage2 franchise. Out now on iOS, Android, and on PC, the new mobile title features consistent high-end graphics, massive... | Read more »

Price Scanner via MacPrices.net

Holiday Sale! Apple AirPods for only $79, $50...
AT&T has base-model Apple AirPods with Charging Case, 2nd generation, on Holiday sale for only $79 while supplies last. Their price is $50 off Apple’s MSRP, and it’s the lowest price we’ve ever... Read more
New Holiday sale at AT&T: $200 off any Ap...
AT&T is offering Apple Watch models for $200 off MSRP when you purchase two Watches with AT&T service and add at least one new line. The fine print: “Enjoy $200 off Apple Watch when you buy... Read more
Save $260 on 13″ M1 16GB RAM/512GB SSD MacBoo...
Apple has 13″ M1 MacBook Pros with 8GB of RAM and 256GB or 512GB SSDs for $200-$230 off MSRP, Certified Refurbished. If 8GB of RAM is not enough for you, Apple has restocked custom-configurations... Read more
AirPods Max headphones back on Holiday sale f...
Amazon has Blue and Space Gray AirPods Max headphones on sale again for $120 off Apple’s MSRP, down to $429. Shipping is free. Their price is the lowest we’ve ever seen for AirPods Max headphones... Read more
Back in stock! $589 M1 Mac minis at Apple, Ce...
Apple has restocked the base M1-powered Mac mini in their Certified Refurbished section for only $589. Each mini comes with Apple’s one-year warranty, and shipping is free: – M1 Mac mini (8GB RAM/... Read more
Apple has restocked 2nd generation 4K Apple T...
Apple has restocked a full line of Certified Refurbished 2nd generation 32GB and 64GB 4K Apple TVs with Siri remotes for $30 off the cost of new models. Apple’s standard one-year warranty is included... Read more
In stock today: 13″ Gray M1 MacBook Pros for...
Apple’s 13″ Space Gray MacBook Pros with M1 Apple Silicon CPUs are on sale at B&H Photo today for $100-$150 off MSRP, starting at $1199. Free 1-2 shipping is available for most addresses in the... Read more
Looking for an iPad Pro? Get last year’s mode...
Apple has Certified Refurbished 2020 11″ and 12″ iPad Pros available in their online store in a variety of configurations. Models start at $609 and range up to $350 off Apple’s original MSRP. Each... Read more
Clearance 2020 Intel-based 16″ MacBook Pros i...
Apple has Certified Refurbished 2020 16″ 2.6GHz 6-Core MacBook Pros in stock for $1949 including free shipping. Their price is $450 off original MSRP. Each model features a new outer case, is in like... Read more
13″ M1 MacBook Pro with 512GB SSD on Cyber Mo...
Amazon has the Space Gray 13″ M1 MacBook Pro with a 512GB SSD on Cyber Monday 2021 sale for $250 off MSRP shipped: – 2020 13″ MacBook Pro Space Gray M1 CPU/512GB SSD: $1249.99 $250 off MSRP Their $... Read more

Jobs Board

Geek Squad Advanced Repair *Apple* Professi...
**843364BR** **Job Title:** Geek Squad Advanced Repair Apple Professional **Job Category:** Store Associates **Store Number or Department:** 000853-Jackson-Store Read more
*Apple* End User Support Specialist - North...
…of Key Responsibility: 1. Responsible for support of all College owned Apple computers, mobile ios devices and peripherals such as monitors, keyboards, printers, Read more
Geek Squad Advanced Repair *Apple* Professi...
**843218BR** **Job Title:** Geek Squad Advanced Repair Apple Professional **Job Category:** Store Associates **Store Number or Department:** 001763-Lady Lake-Store Read more
Sr. Technical Support Specialist ( *Apple* /M...
Description Technical Support, Sr. ( Apple Mac End User Support Specialist) - The Star, Frisco, TX LEGENDS Founded in 2008, Legends is a premium experiences company Read more
Sr. *Apple* Engineer - Bering Straits Nativ...
…, a subsidiary of Bering Straits Native Corporation is currently seeking a qualified Sr. Apple Engineer for work in the Fort Meade, MD area. The Apple Engineer Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.